summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2013-07-22 19:24:34 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2013-07-22 19:24:34 +0000
commit0d6b347fa526052b97aa0e945762f80acddde087 (patch)
tree57a92175a957c4807e5e52f8355f35f94979e772
parentc7cb48c4b96cbd0b7c9c90a5f7a02f3825487e45 (diff)
downloadbcm5719-llvm-0d6b347fa526052b97aa0e945762f80acddde087.tar.gz
bcm5719-llvm-0d6b347fa526052b97aa0e945762f80acddde087.zip
Mark ELF's first symbol as format specific so that llvm-nm ignores it.
llvm-svn: 186860
-rw-r--r--llvm/include/llvm/Object/ELF.h3
-rw-r--r--llvm/test/Object/nm-trivial-object.test1
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
OpenPOWER on IntegriCloud