forked from OSchip/llvm-project
Make --export-dynamic work on non-PIC/PIE targets.
For CloudABI I'm only interested in generating non-PIC/PIE executables on armv6 and i686, as PIE introduces larger overhead than on aarch64 and x86_64. Still, I want to be able to instruct the linker to generate a dynamic symbol table if requested. One example use for this is that dynamic symbol tables can be used by programs to print nicely formatted stacktraces, including symbol names. Right now there seems to be some logic in LLD that it only wants to emit dynamic symbol tables when either linking against libraries or when building PIC. Let's extend this to also take --export-dynamic into account. Reviewed by: ruiu Differential Revision: https://reviews.llvm.org/D29982 llvm-svn: 295240
This commit is contained in:
parent
d122abead4
commit
3bf713043a
|
@ -354,7 +354,8 @@ template <class ELFT> void Writer<ELFT>::createSyntheticSections() {
|
|||
|
||||
// Add MIPS-specific sections.
|
||||
bool HasDynSymTab =
|
||||
!Symtab<ELFT>::X->getSharedFiles().empty() || Config->pic();
|
||||
!Symtab<ELFT>::X->getSharedFiles().empty() || Config->pic() ||
|
||||
Config->ExportDynamic;
|
||||
if (Config->EMachine == EM_MIPS) {
|
||||
if (!Config->Shared && HasDynSymTab) {
|
||||
In<ELFT>::MipsRldMap = make<MipsRldMapSection<ELFT>>();
|
||||
|
|
Loading…
Reference in New Issue