diff options
author | Dmitriy Ivanov <dimitry@google.com> | 2014-10-06 11:30:43 -0700 |
---|---|---|
committer | Dmitriy Ivanov <dimitry@google.com> | 2014-10-06 11:32:19 -0700 |
commit | 513e29e16f16a6ffa1636ba282d599fd6b437aeb (patch) | |
tree | 331ce7eb1997c4224d213eb611853b04a06fea90 /linker/linker.cpp | |
parent | 6d569b92012543a297dccf2dfeaa648d07b3c133 (diff) |
Resolve "unused DT entry" warnings for x86_64
Change-Id: I3a2c87bf6e6259313cd9203389623f13b7405ef3
Diffstat (limited to 'linker/linker.cpp')
-rw-r--r-- | linker/linker.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/linker/linker.cpp b/linker/linker.cpp index be2b45ac5..fc4617211 100644 --- a/linker/linker.cpp +++ b/linker/linker.cpp @@ -1936,14 +1936,19 @@ bool soinfo::PrelinkImage() { return false; } break; -#if !defined(__LP64__) case DT_PLTREL: +#if defined(USE_RELA) + if (d->d_un.d_val != DT_RELA) { + DL_ERR("unsupported DT_PLTREL in \"%s\"; expected DT_RELA", name); + return false; + } +#else if (d->d_un.d_val != DT_REL) { - DL_ERR("unsupported DT_RELA in \"%s\"", name); + DL_ERR("unsupported DT_PLTREL in \"%s\"; expected DT_REL", name); return false; } - break; #endif + break; case DT_JMPREL: #if defined(USE_RELA) plt_rela = reinterpret_cast<ElfW(Rela)*>(load_bias + d->d_un.d_ptr); @@ -2120,6 +2125,11 @@ bool soinfo::PrelinkImage() { mips_gotsym = d->d_un.d_val; break; #endif + case DT_VERSYM: + case DT_VERDEF: + case DT_VERDEFNUM: + // Ignore: bionic does not support symbol versioning... + break; default: if (!relocating_linker) { |