diff options
author | Cary Coutant <ccoutant@gmail.com> | 2015-11-05 12:24:14 -0800 |
---|---|---|
committer | Cary Coutant <ccoutant@gmail.com> | 2015-11-05 12:24:14 -0800 |
commit | 0eccf19f96d6218dd7c2f8d13f0546c2b942cc08 (patch) | |
tree | 92d0c3a126be527683ecbbe4200d82d29e9fc15b /gold/options.h | |
parent | c86a40c6c2902b73ec6f601176820c760524afd2 (diff) | |
download | binutils-0eccf19f96d6218dd7c2f8d13f0546c2b942cc08.zip binutils-0eccf19f96d6218dd7c2f8d13f0546c2b942cc08.tar.gz binutils-0eccf19f96d6218dd7c2f8d13f0546c2b942cc08.tar.bz2 |
Add aarch64-specific --no-apply-dynamic-relocs option.
With --no-apply-dynamic-relocs on aarch64 targets, gold will not apply
link-time values for absolute relocations that become dynamic relocations.
This provides a workaround for broken Android dynamic linkers that use
the link-time value as an extra addend to the relocation.
gold/
PR gold/19163
* aarch64.cc (Target_aarch64::Relocate::relocate): Don't apply
certain relocations if --no-apply-dynamic-relocs is set.
* options.h (--apply-dynamic-relocs): New aarch64-specific option.
Diffstat (limited to 'gold/options.h')
-rw-r--r-- | gold/options.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gold/options.h b/gold/options.h index 4d65225..5756014 100644 --- a/gold/options.h +++ b/gold/options.h @@ -644,6 +644,11 @@ class General_options N_("Allow unresolved references in shared libraries"), N_("Do not allow unresolved references in shared libraries")); + DEFINE_bool(apply_dynamic_relocs, options::TWO_DASHES, '\0', true, + N_("Apply link-time values for dynamic relocations (default)"), + N_("(aarch64 only) Do not apply link-time values " + "for dynamic relocations")); + DEFINE_bool(as_needed, options::TWO_DASHES, '\0', false, N_("Only set DT_NEEDED for shared libraries if used"), N_("Always DT_NEEDED for shared libraries")); |