diff options
author | ab196087 <none@none> | 2006-09-19 15:38:37 -0700 |
---|---|---|
committer | ab196087 <none@none> | 2006-09-19 15:38:37 -0700 |
commit | 9039eeaf76678a41be39feb97b4f724272ef7e18 (patch) | |
tree | a212dbf67415286780fcda66a0fdebf596d758f2 /usr/src/cmd/sgs/pvs/common/pvs.c | |
parent | ef4c14d24cff432d9d11d0a63d2676aa5d58fefe (diff) | |
download | illumos-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.c | 26 |
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; + } } /* |