https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65015
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |hjl.tools at gmail dot com Assignee|unassigned at gcc dot gnu.org |rguenth at gcc dot gnu.org --- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> --- Difference in readelf -a is --- x 2015-02-13 12:04:07.526383914 +0100 +++ y 2015-02-13 12:04:10.158414178 +0100 @@ -234,7 +234,7 @@ 42: 0000000000600df8 0 OBJECT LOCAL DEFAULT 19 __do_global_dtors_aux_fin 43: 0000000000400580 0 FUNC LOCAL DEFAULT 13 frame_dummy 44: 0000000000600df0 0 OBJECT LOCAL DEFAULT 18 __frame_dummy_init_array_ - 45: 0000000000000000 0 FILE LOCAL DEFAULT ABS cc5R4C1Y.ltrans0.o + 45: 0000000000000000 0 FILE LOCAL DEFAULT ABS ccqmAj6c.ltrans0.o 46: 00000000004005b1 11 FUNC LOCAL DEFAULT 13 helper 47: 0000000000000000 0 FILE LOCAL DEFAULT ABS elf-init.c 48: 0000000000000000 0 FILE LOCAL DEFAULT ABS crtstuff.c that is, somehow .symtab contains a reference to the ltrans object file name, probably because of .file "ccqmAj6c.ltrans0.o" we emit via output_file_directive. Unfortunately omitting that doesn't help. It seems that the linker itself adds those symbols!? HJ? Gold doesn't do that (thus, it works with -fuse-ld=gold).