This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[AArch64][3/4] Recognize R_AARCH64_P32_ABS32 as 32-bit relocation in readelf
- From: Jiong Wang <jiong dot wang at foss dot arm dot com>
- To: Binutils <binutils at sourceware dot org>
- Date: Mon, 5 Dec 2016 17:53:28 +0000
- Subject: [AArch64][3/4] Recognize R_AARCH64_P32_ABS32 as 32-bit relocation in readelf
- Authentication-results: sourceware.org; auth=none
- References: <2217462f-42bd-83e0-6141-acd62e8becb8@foss.arm.com> <4a2dc012-d289-319a-3557-14266fe3510b@foss.arm.com>
R_AARCH64_P32_ABS32 should be recognized in is_32bit_abs_reloc.
After this patch, those "unable to apply unsupported reloc type 1" failures
in gas regression under ILP32 mode gone away.
OK for master?
binutils/
2016-12-05 Jiong Wang<jiong.wang@arm.com>
* readelf.c (is_32bit_abs_reloc): Recognize R_AARCH64_P32_ABS32.
diff --git a/binutils/readelf.c b/binutils/readelf.c
index c5a628f..93a57e1 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -11731,7 +11731,8 @@ is_32bit_abs_reloc (unsigned int reloc_type)
case EM_960:
return reloc_type == 2; /* R_960_32. */
case EM_AARCH64:
- return reloc_type == 258; /* R_AARCH64_ABS32 */
+ return (reloc_type == 258
+ || reloc_type == 1); /* R_AARCH64_ABS32 || R_AARCH64_P32_ABS32 */
case EM_ADAPTEVA_EPIPHANY:
return reloc_type == 3;
case EM_ALPHA: