This is the mail archive of the
binutils-cvs@sourceware.org
mailing list for the binutils project.
[binutils-gdb] Fix field size for TLSLE_MOVW_TPREL_* relocations.
- From: Marcus Shawcroft <mshawcroft at sourceware dot org>
- To: bfd-cvs at sourceware dot org
- Date: 26 Feb 2015 22:23:44 -0000
- Subject: [binutils-gdb] Fix field size for TLSLE_MOVW_TPREL_* relocations.
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=07875fbce7911d7e6174d6398cec2872eb489613
commit 07875fbce7911d7e6174d6398cec2872eb489613
Author: Marcus Shawcroft <marcus.shawcroft@arm.com>
Date: Thu Feb 26 21:20:05 2015 +0000
Fix field size for TLSLE_MOVW_TPREL_* relocations.
The HOWTO table entries for the TLSLE_MOVW_TPREL_* relocations are
wrong by inspection. The current implementation does not actually use
these field widths for these relocations but they should be corrected.
Diff:
---
bfd/ChangeLog | 7 +++++++
bfd/elfnn-aarch64.c | 10 +++++-----
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 7b6e9a4..9de7ded 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,5 +1,12 @@
2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
+ * elfnn-aarch64.c (TLSLE_MOVW_TPREL_G2)
+ (TLSLE_MOVW_TPREL_G1, TLSLE_MOVW_TPREL_G1_NC)
+ (TLSLE_MOVW_TPREL_G0, TLSLE_MOVW_TPREL_G0_NC): Fix bit field
+ width.
+
+2015-02-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
+
* elfnn-aarch64.c: (TLSIE_MOVW_GOTTPREL_G0_NC): Fix HOWTO bit
field width.
diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c
index 85c8703..d218c88 100644
--- a/bfd/elfnn-aarch64.c
+++ b/bfd/elfnn-aarch64.c
@@ -965,7 +965,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] =
HOWTO64 (AARCH64_R (TLSLE_MOVW_TPREL_G2), /* type */
32, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
- 12, /* bitsize */
+ 16, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_unsigned, /* complain_on_overflow */
@@ -979,7 +979,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] =
HOWTO (AARCH64_R (TLSLE_MOVW_TPREL_G1), /* type */
16, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
- 12, /* bitsize */
+ 16, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
@@ -993,7 +993,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] =
HOWTO64 (AARCH64_R (TLSLE_MOVW_TPREL_G1_NC), /* type */
16, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
- 12, /* bitsize */
+ 16, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
@@ -1007,7 +1007,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] =
HOWTO (AARCH64_R (TLSLE_MOVW_TPREL_G0), /* type */
0, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
- 12, /* bitsize */
+ 16, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */
@@ -1021,7 +1021,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] =
HOWTO (AARCH64_R (TLSLE_MOVW_TPREL_G0_NC), /* type */
0, /* rightshift */
2, /* size (0 = byte, 1 = short, 2 = long) */
- 12, /* bitsize */
+ 16, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont, /* complain_on_overflow */