What | Removed | Added |
---|---|---|
CC | matz@suse.com |
These symbols are an "artifact" of how LTO handles debuginfo. One could argue that the process of splitting the debuginfo to the separate file is broken since it leaves those stray symbols in the main file making it technically an invalid ELF file (I'd have to see what the extraction actually does to the "source" ELF). Note the artificial symbol is not needed after relocating symbols refering to it but ld does not GC symbols (not for shlibs anyway). I'm not sure just looking up STT_FUNC symbols is "correct". Instead I'd argue that WEAK symbols that fail to be resolved should be ignored. As said, the best "fix" is probably to see whether we can produce better non-debug ELF in the debuginfo splitting path. Which probably means fixing eu-strip to strip symbols refering to sections it strips (or move them for -f). Martin - you are the elfutils maintainer and Mark is probably also going to help out here? Ideally there would be a way for GCC to tell the link editor that those symbols can be discarded after applying relocations.