[ELF] Set the symbol type for undefined atoms properly
llvm-svn: 178466
This commit is contained in:
parent
f8213b4eb3
commit
cbe06ca340
|
@ -748,7 +748,10 @@ void SymbolTable<ELFT>::addUndefinedAtom(Elf_Sym &sym,
|
|||
unsigned char binding = 0, type = 0;
|
||||
sym.st_value = 0;
|
||||
type = llvm::ELF::STT_NOTYPE;
|
||||
binding = llvm::ELF::STB_WEAK;
|
||||
if (ua->canBeNull())
|
||||
binding = llvm::ELF::STB_WEAK;
|
||||
else
|
||||
binding = llvm::ELF::STB_GLOBAL;
|
||||
sym.setBindingAndType(binding, type);
|
||||
}
|
||||
|
||||
|
|
|
@ -14,7 +14,7 @@
|
|||
# CHECK: 00000080 T main
|
||||
# CHECK: 00001000 A _end
|
||||
# CHECK: 00001000 A end
|
||||
# CHECK: w _entrypoint
|
||||
# CHECK: U _entrypoint
|
||||
|
||||
defined-atoms:
|
||||
- name: .text
|
||||
|
|
|
@ -24,4 +24,4 @@ CHECKSYMS: 00001000 B a
|
|||
CHECKSYMS: 00001004 A __bss_end
|
||||
CHECKSYMS: 00001004 A _end
|
||||
CHECKSYMS: 00001004 A end
|
||||
CHECKSYMS: w _start
|
||||
CHECKSYMS: U _start
|
||||
|
|
Loading…
Reference in New Issue