clang generated code sometimes confuses fbt

Andriy Gapon avg at FreeBSD.org
Sat Mar 2 17:52:38 UTC 2013


on 02/03/2013 19:35 Andriy Gapon said the following:
> Now, I am not quite sure why ctfconvert skips bpobj_iterate_impl in the
> clang-generated code.  Seems like some sort of a bug in ctfconvert.

It seems that gcc and clang put different names for symbol of type FILE:
clang:
readelf -a -W /usr/obj/usr/src/sys/TRANT/bpobj.o| fgrep -w FILE
     1: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS
/usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/bpobj.c

gcc:
readelf -a -W /usr/obj/usr/src/sys/ODYSSEY/bpobj.o| fgrep -w FILE
     1: 0000000000000000     0 FILE    LOCAL  DEFAULT  ABS bpobj.c

ctfconvert seems to compare this value with "bpobj.c" and so in the clang case
it doesn't recognize the static symbols.

Does my analysis seem reasonable?
-- 
Andriy Gapon


More information about the freebsd-hackers mailing list