aboutsummaryrefslogtreecommitdiff
path: root/elfcpp
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2012-05-11 11:10:19 +0000
committerH.J. Lu <hjl.tools@gmail.com>2012-05-11 11:10:19 +0000
commitfd885f3a4d85dc33d794ca359ea91f31e3082717 (patch)
tree012c78d271e7eca621e78198dc5d675e62593a2d /elfcpp
parent6750a3a77504bb879eb639c34a2911e704644ba4 (diff)
downloadfsf-binutils-gdb-fd885f3a4d85dc33d794ca359ea91f31e3082717.zip
fsf-binutils-gdb-fd885f3a4d85dc33d794ca359ea91f31e3082717.tar.gz
fsf-binutils-gdb-fd885f3a4d85dc33d794ca359ea91f31e3082717.tar.bz2
Handle R_X86_64_64 properly for x32
elfcpp/ PR gold/14091 * x86_64.h (R_X86_64_RELATIVE64): New. gold/ PR gold/14091 * x86_64.cc (Target_x86_64::Scan::local): For x32, generate R_X86_64_RELATIVE64 instead of R_X86_64_RELATIVE in case of R_X86_64_64.
Diffstat (limited to 'elfcpp')
-rw-r--r--elfcpp/ChangeLog5
-rw-r--r--elfcpp/x86_64.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/elfcpp/ChangeLog b/elfcpp/ChangeLog
index 1ec14e8..4c25a87 100644
--- a/elfcpp/ChangeLog
+++ b/elfcpp/ChangeLog
@@ -1,3 +1,8 @@
+2012-05-11 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gold/14091
+ * x86_64.h (R_X86_64_RELATIVE64): New.
+
2012-05-01 Cary Coutant <ccoutant@google.com>
* dwarf.h (enum DW_TAG, enum DW_FORM, enum DW_AT, enum DW_ENCODING)
diff --git a/elfcpp/x86_64.h b/elfcpp/x86_64.h
index ae7d0a8..a53beac 100644
--- a/elfcpp/x86_64.h
+++ b/elfcpp/x86_64.h
@@ -91,6 +91,7 @@ enum
R_X86_64_TLSDESC_CALL = 35, // Relaxable call through TLS descriptor
R_X86_64_TLSDESC = 36, // 2 by 64-bit TLS descriptor
R_X86_64_IRELATIVE = 37, // Adjust indirectly by program base
+ R_X86_64_RELATIVE64 = 38, // 64-bit adjust by program base
// GNU vtable garbage collection extensions.
R_X86_64_GNU_VTINHERIT = 250,
R_X86_64_GNU_VTENTRY = 251