aboutsummaryrefslogtreecommitdiff
path: root/gold/aarch64.cc
diff options
context:
space:
mode:
authorIgor Kudrin <ikudrin@accesssoftek.com>2016-06-28 15:43:43 -0700
committerCary Coutant <ccoutant@gmail.com>2016-06-28 15:50:29 -0700
commit5627d875bc059b5c008b408470dcb869b0a8ebd6 (patch)
treeb3aa9131bd572288c1be0d44406953d1da836a85 /gold/aarch64.cc
parent3a4f096e5ff41e2a3b832cf6c815ad1f28437c63 (diff)
downloadfsf-binutils-gdb-5627d875bc059b5c008b408470dcb869b0a8ebd6.zip
fsf-binutils-gdb-5627d875bc059b5c008b408470dcb869b0a8ebd6.tar.gz
fsf-binutils-gdb-5627d875bc059b5c008b408470dcb869b0a8ebd6.tar.bz2
Implement the R_AARCH64_NONE relocation.
According to "ELF for the ARM(r) 64-bit Architecture (AArch64)", this relocation can be used "to prevent removal of sections that might otherwise appear to be unused." gold/ * aarch64-reloc.def (NONE): New relocation. * aarch64.cc (Target_aarch64::Scan::local): Handle R_AARCH64_NONE. (Target_aarch64::Scan::global): Likewise. * testsuite/Makefile.am (aarch64_reloc_none): New test. * testsuite/Makefile.in: Regenerate. * testsuite/aarch64_reloc_none.s: New test source file. * testsuite/aarch64_reloc_none.sh: New test script.
Diffstat (limited to 'gold/aarch64.cc')
-rw-r--r--gold/aarch64.cc6
1 files changed, 6 insertions, 0 deletions
diff --git a/gold/aarch64.cc b/gold/aarch64.cc
index 3d03c11..db9f06c 100644
--- a/gold/aarch64.cc
+++ b/gold/aarch64.cc
@@ -5967,6 +5967,9 @@ Target_aarch64<size, big_endian>::Scan::local(
switch (r_type)
{
+ case elfcpp::R_AARCH64_NONE:
+ break;
+
case elfcpp::R_AARCH64_ABS32:
case elfcpp::R_AARCH64_ABS16:
if (parameters->options().output_is_position_independent())
@@ -6226,6 +6229,9 @@ Target_aarch64<size, big_endian>::Scan::global(
switch (r_type)
{
+ case elfcpp::R_AARCH64_NONE:
+ break;
+
case elfcpp::R_AARCH64_ABS16:
case elfcpp::R_AARCH64_ABS32:
case elfcpp::R_AARCH64_ABS64: