------- Comment #2 from price at ifa dot hawaii dot edu 2007-05-17 03:19 ------- This is also a problem on my amd64 Gentoo laptop, using gcc version Gentoo 4.1.1-r3.
I searched the binutils Bugzilla, but could not find a bug filed for this problem. Because the problem disappears when optimisation is turned on, the following line from the docs for gcc caught my eye: "GCC does not inline any functions when not optimizing unless you specify the `always_inline' attribute for the function". So I tried: [EMAIL PROTECTED]:/home/price/test>cat static_inline.c static void foo (void) __attribute__((always_inline)); static inline void foo (void) { } void baz (void (*f) (void)); void bar (void) { baz (foo); } [EMAIL PROTECTED]:/home/price/test>gcc -O0 -g -c -fPIC static_inline.c [EMAIL PROTECTED]:/home/price/test>gcc -shared -o static_inline.so static_inline.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/../../../../x86_64-pc-linux-gnu/bin/ld: warning: creating a DT_TEXTREL in object. /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/../../../../x86_64-pc-linux-gnu/bin/ld: static_inline.o: relocation R_X86_64_PC32 against `foo' can not be used when making a shared object; recompile with -fPIC /usr/lib/gcc/x86_64-pc-linux-gnu/4.1.1/../../../../x86_64-pc-linux-gnu/bin/ld: final link failed: Bad value collect2: ld returned 1 exit status Should I take this bug over to binutils? -- price at ifa dot hawaii dot edu changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |price at ifa dot hawaii dot | |edu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30153