summaryrefslogtreecommitdiff
path: root/usr/src/cmd/sgs/pvs/common/pvs.c
diff options
context:
space:
mode:
authorab196087 <none@none>2006-09-19 15:38:37 -0700
committerab196087 <none@none>2006-09-19 15:38:37 -0700
commit9039eeaf76678a41be39feb97b4f724272ef7e18 (patch)
treea212dbf67415286780fcda66a0fdebf596d758f2 /usr/src/cmd/sgs/pvs/common/pvs.c
parentef4c14d24cff432d9d11d0a63d2676aa5d58fefe (diff)
downloadillumos-gate-9039eeaf76678a41be39feb97b4f724272ef7e18.tar.gz
PSARC 2006/526 SHT_SUNW_LDYNSYM - default local symbol addition
4934427 runtime linker should load up static symbol names visible to dladdr()
Diffstat (limited to 'usr/src/cmd/sgs/pvs/common/pvs.c')
-rw-r--r--usr/src/cmd/sgs/pvs/common/pvs.c26
1 files changed, 18 insertions, 8 deletions
diff --git a/usr/src/cmd/sgs/pvs/common/pvs.c b/usr/src/cmd/sgs/pvs/common/pvs.c
index 76d1848766..cc8cb42a8d 100644
--- a/usr/src/cmd/sgs/pvs/common/pvs.c
+++ b/usr/src/cmd/sgs/pvs/common/pvs.c
@@ -806,14 +806,24 @@ main(int argc, char **argv, char **envp)
/*
* Remember the version sections and symbol table.
*/
- if ((shdr.sh_type == SHT_SUNW_verdef) && dflag)
- _cache_def = _cache;
- else if ((shdr.sh_type == SHT_SUNW_verneed) && rflag)
- _cache_need = _cache;
- else if ((shdr.sh_type == SHT_SUNW_versym) && sflag)
- _cache_sym = _cache;
- else if ((shdr.sh_type == SHT_SYMTAB) && lflag)
- _cache_loc = _cache;
+ switch (shdr.sh_type) {
+ case SHT_SUNW_verdef:
+ if (dflag)
+ _cache_def = _cache;
+ break;
+ case SHT_SUNW_verneed:
+ if (rflag)
+ _cache_need = _cache;
+ break;
+ case SHT_SUNW_versym:
+ if (sflag)
+ _cache_sym = _cache;
+ break;
+ case SHT_SYMTAB:
+ if (lflag)
+ _cache_loc = _cache;
+ break;
+ }
}
/*