diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2014-04-03 02:20:43 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2014-04-03 02:20:43 +0000 |
commit | ee2bf5b6077315359af175c7ee5ae580002637a3 (patch) | |
tree | c59c493a3a50a6de5cd7cb0ad7ddb105389866a2 /include/llvm | |
parent | 96b816800ecf1ba0480b6722a5bc6b9f37c57e29 (diff) | |
download | llvm-ee2bf5b6077315359af175c7ee5ae580002637a3.tar.gz llvm-ee2bf5b6077315359af175c7ee5ae580002637a3.tar.bz2 llvm-ee2bf5b6077315359af175c7ee5ae580002637a3.tar.xz |
Only clear the thumb bit from function addresses.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@205500 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm')
-rw-r--r-- | include/llvm/Object/ELFObjectFile.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/llvm/Object/ELFObjectFile.h b/include/llvm/Object/ELFObjectFile.h index e2c5fc77fc..9bdee9f569 100644 --- a/include/llvm/Object/ELFObjectFile.h +++ b/include/llvm/Object/ELFObjectFile.h @@ -292,7 +292,8 @@ error_code ELFObjectFile<ELFT>::getSymbolAddress(DataRefImpl Symb, Result = ESym->st_value; // Clear the ARM/Thumb indicator flag. - if (Header->e_machine == ELF::EM_ARM) + if (EF.getHeader()->e_machine == ELF::EM_ARM && + ESym->getType() == ELF::STT_FUNC) Result &= ~1; if (Header->e_type == ELF::ET_REL) |