Follow up to r247960 and rr247960 by also amending ctfmerge. For the
only other case where STT_FILE symbols are used, in symit_next() in cddl/contrib/opensolaris/tools/ctf/cvt/input.c, save the basename of the symbol, instead of the full pathname. Reported by: avg Tested by: avg, jimharris MFC after: 1 week
This commit is contained in:
parent
3f3a5dbd2c
commit
51ff6adc94
@ -387,6 +387,7 @@ GElf_Sym *
|
||||
symit_next(symit_data_t *si, int type)
|
||||
{
|
||||
GElf_Sym sym;
|
||||
char *bname;
|
||||
int check_sym = (type == STT_OBJECT || type == STT_FUNC);
|
||||
|
||||
for (; si->si_next < si->si_nument; si->si_next++) {
|
||||
@ -394,8 +395,10 @@ symit_next(symit_data_t *si, int type)
|
||||
gelf_getsym(si->si_symd, si->si_next, &sym);
|
||||
si->si_curname = (caddr_t)si->si_strd->d_buf + sym.st_name;
|
||||
|
||||
if (GELF_ST_TYPE(sym.st_info) == STT_FILE)
|
||||
si->si_curfile = si->si_curname;
|
||||
if (GELF_ST_TYPE(sym.st_info) == STT_FILE) {
|
||||
bname = strrchr(si->si_curname, '/');
|
||||
si->si_curfile = bname == NULL ? si->si_curname : bname + 1;
|
||||
}
|
||||
|
||||
if (GELF_ST_TYPE(sym.st_info) != type ||
|
||||
sym.st_shndx == SHN_UNDEF)
|
||||
|
Loading…
x
Reference in New Issue
Block a user