diff options
-rw-r--r-- | llvm/include/llvm/Object/ELF.h | 3 | ||||
-rw-r--r-- | llvm/test/Object/nm-trivial-object.test | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/llvm/include/llvm/Object/ELF.h b/llvm/include/llvm/Object/ELF.h index 9ab0973c1f5..c5c18a0666a 100644 --- a/llvm/include/llvm/Object/ELF.h +++ b/llvm/include/llvm/Object/ELF.h @@ -1232,7 +1232,8 @@ error_code ELFObjectFile<ELFT>::getSymbolFlags(DataRefImpl Symb, Result |= SymbolRef::SF_Absolute; if (symb->getType() == ELF::STT_FILE || - symb->getType() == ELF::STT_SECTION) + symb->getType() == ELF::STT_SECTION || + Symb == begin_symbols()->getRawDataRefImpl()) Result |= SymbolRef::SF_FormatSpecific; if (getSymbolTableIndex(symb) == ELF::SHN_UNDEF) diff --git a/llvm/test/Object/nm-trivial-object.test b/llvm/test/Object/nm-trivial-object.test index 5c3cc315e54..d5177457a8d 100644 --- a/llvm/test/Object/nm-trivial-object.test +++ b/llvm/test/Object/nm-trivial-object.test @@ -18,6 +18,7 @@ COFF: U {{_?}}SomeOtherFunction COFF: 00000000 T {{_?}}main COFF: U {{_?}}puts +ELF-NOT: U ELF: U SomeOtherFunction ELF: 00000000 T main ELF: U puts |