Jakub Jelinek writes: > On Wed, Sep 08, 2004 at 09:44:33PM +0200, Andreas Jaeger wrote: >> Wait - this seems to be produced even with the current glibc without my >> changes (glibc compiled by GCC 3.3): >> nm /lib64/ld-linux-x86-64.so.2 |grep elf_machine_rela >> 0000000000000d40 t elf_machine_rela.0 >> 0000000000007fa0 t elf_machine_rela.0 >> 000000000000d010 t elf_machine_rela.0 >> 0000000000000d70 t elf_machine_rela_relative.1 >> 0000000000008330 t elf_machine_rela_relative.1 >> >> For reference, compile: >> int >> test (int j) >> { >> >> static inline int >> __attribute__ ((always_inline)) >> test_inline (int i) >> { >> return i++; >> } >> >> return test_inline (j); >> } >> >> I get with GCC 3.3: >> gromit:/tmp:[0]$ gcc -Wall -c t.c -O2 >> gromit:/tmp:[0]$ nm t.o >> 0000000000000010 T test >> 0000000000000000 t test_inline.0 > > You mean hammer branch GCC 3.3, right? Yes, I do. > Stock 3.3 should be ok. GCC 3.4 initially also emitted successfully inlined > nested functions as separate functions too, but this was fixed in July this > year, see PR middle-end/15345, c/16450. That explains 3.4. But why do I get these also with GCC 3.5 with my patch (nm elf/dl-reloc.o): 00000000000002a0 t elf_machine_lazy_rel.7373 00000000000002f0 t elf_machine_rela.7361 0000000000000110 t elf_machine_rela_relative.7369 Andreas -- Andreas Jaeger, aj@suse.de, http://www.suse.de/~aj SUSE Linux AG, Maxfeldstr. 5, 90409 Nürnberg, Germany GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126