Author: dim
Date: Mon Apr  1 21:16:32 2013
New Revision: 248991
URL: http://svnweb.freebsd.org/changeset/base/248991

Log:
  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

Modified:
  head/cddl/contrib/opensolaris/tools/ctf/cvt/input.c

Modified: head/cddl/contrib/opensolaris/tools/ctf/cvt/input.c
==============================================================================
--- head/cddl/contrib/opensolaris/tools/ctf/cvt/input.c Mon Apr  1 21:13:56 
2013        (r248990)
+++ head/cddl/contrib/opensolaris/tools/ctf/cvt/input.c Mon Apr  1 21:16:32 
2013        (r248991)
@@ -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)
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to