forked from OSchip/llvm-project
[ELF] Allow overriding reserved symbols in linker scripts
llvm-svn: 275383
This commit is contained in:
parent
38c2cd0c14
commit
219d9b2b18
|
@ -309,10 +309,10 @@ int LinkerScript<ELFT>::compareSections(StringRef A, StringRef B) {
|
||||||
return I < J ? -1 : 1;
|
return I < J ? -1 : 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
template <class ELFT>
|
template <class ELFT> void LinkerScript<ELFT>::addScriptedSymbols() {
|
||||||
void LinkerScript<ELFT>::addScriptedSymbols() {
|
|
||||||
for (SectionsCommand &Cmd : Opt.Commands)
|
for (SectionsCommand &Cmd : Opt.Commands)
|
||||||
if (Cmd.Kind == SymbolAssignmentKind)
|
if (Cmd.Kind == SymbolAssignmentKind &&
|
||||||
|
Symtab<ELFT>::X->find(Cmd.Name) == nullptr)
|
||||||
Symtab<ELFT>::X->addAbsolute(Cmd.Name, STV_DEFAULT);
|
Symtab<ELFT>::X->addAbsolute(Cmd.Name, STV_DEFAULT);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
# REQUIRES: x86
|
||||||
|
# RUN: llvm-mc -filetype=obj -triple=x86_64-unknown-linux %s -o %t
|
||||||
|
|
||||||
|
# RUN: echo "SECTIONS {.text : {*(.text.*)} end = .;}" > %t.script
|
||||||
|
# RUN: ld.lld -o %t1 --script %t.script %t
|
||||||
|
# RUN: llvm-objdump -t %t1 | FileCheck %s
|
||||||
|
# CHECK: 0000000000000121 *ABS* 00000000 end
|
||||||
|
|
||||||
|
.global _start
|
||||||
|
_start:
|
||||||
|
nop
|
Loading…
Reference in New Issue