diff options
author | Han Shen <shenhan@google.com> | 2015-01-29 10:00:46 -0800 |
---|---|---|
committer | Han Shen <shenhan@google.com> | 2015-01-29 10:15:42 -0800 |
commit | fa89cc82f5ca51f3135a9f2043b85b6a16c205eb (patch) | |
tree | 5f21ce4f356cb7edbfc5475aae567c381f2cb3ee /elfcpp | |
parent | 716db898b72787d0d342c639c421cdd97f3afe9c (diff) | |
download | fsf-binutils-gdb-fa89cc82f5ca51f3135a9f2043b85b6a16c205eb.zip fsf-binutils-gdb-fa89cc82f5ca51f3135a9f2043b85b6a16c205eb.tar.gz fsf-binutils-gdb-fa89cc82f5ca51f3135a9f2043b85b6a16c205eb.tar.bz2 |
This patch adds IFUNC support for arm gold backend.
This is a feature required in chromeos arm development work.
Tested:
1) Built passed all-gold on x86_64 machine
2) Tested with basic gold aarch64 ifunc unittests -
a) global ifunc, statically/non-statically linked
b) local ifunc, statically/non-statically linked
c) global/local, other shared library routine mixed,
statically/non-statically linked
d) arm/thumb mode ifunc
e) linking chrome browser passed
Diffstat (limited to 'elfcpp')
-rw-r--r-- | elfcpp/ChangeLog | 4 | ||||
-rw-r--r-- | elfcpp/arm.h | 5 |
2 files changed, 7 insertions, 2 deletions
diff --git a/elfcpp/ChangeLog b/elfcpp/ChangeLog index 0687860..47e6328 100644 --- a/elfcpp/ChangeLog +++ b/elfcpp/ChangeLog @@ -1,3 +1,7 @@ +2015-01-22 Han Shen <shenhan@google.com> + + * arm.h (R_ARM_IRELATIVE): New dynamic relocation. + 2015-01-01 Alan Modra <amodra@gmail.com> Update year range in copyright notice of all files. diff --git a/elfcpp/arm.h b/elfcpp/arm.h index 2d30add..c9cb753 100644 --- a/elfcpp/arm.h +++ b/elfcpp/arm.h @@ -192,11 +192,12 @@ enum R_ARM_PRIVATE_14 = 126, R_ARM_PRIVATE_15 = 127, R_ARM_ME_TOO = 128, // Obsolete - R_ARM_THM_TLS_DESCSEQ16 = 129,// Static Thumb16 + R_ARM_THM_TLS_DESCSEQ16 = 129,// Static Thumb16 R_ARM_THM_TLS_DESCSEQ32 = 130,// Static Thumb32 // 131 - 139 Unallocated // 140 - 159 Dynamic Reserved for future allocation - // 160 - 255 Unallocated + R_ARM_IRELATIVE = 160, // Dynamic + // 161 - 255 Unallocated }; // e_flags values used for ARM. We only support flags defined in AAELF. |