[llvm-dev] LLD: question about debug_info relocs with emit-relocs + gc-sections.

45 views
Skip to first unread message

Alexander Yermolovich via llvm-dev

unread,
Oct 20, 2020, 8:25:39 PM10/20/20
to llvm...@lists.llvm.org
Hello.

I have been looking in to what relocs are emitted when --emit-relcos and --gc-sections flags are set.
Seems like relocs sections for .debug_* are not emitted.  
Looking into it the debug sections are marked live in MarkLive.cpp:MarkLive on first pass through all the inputSections, but their dependendSections are not marked as live.
It then goes to rest of the algorithm that handles some special sections, but mainly deals with sections based on defined symbols in symtab. 

As the result when -gc-sections flag is set relocations for debug_* would not be in output. Is that intentional, or oversight?

Thank You

David Blaikie via llvm-dev

unread,
Oct 20, 2020, 8:35:51 PM10/20/20
to Alexander Yermolovich, Fangrui Song, llvm...@lists.llvm.org
+Fangrui Song 

Yeah, that sounds like a bug to me.

_______________________________________________
LLVM Developers mailing list
llvm...@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev

Fāng-ruì Sòng via llvm-dev

unread,
Oct 20, 2020, 9:13:43 PM10/20/20
to Alexander Yermolovich, llvm...@lists.llvm.org
Thanks for the report! The bug can be generalized to all non-SHF_ALLOC
SHT_REL[A] (due to --emit-relocs) and SHF_LINK_ORDER.

https://reviews.llvm.org/D89841 will fix it.

--
宋方睿

Reply all
Reply to author
Forward
0 new messages