diff options
Diffstat (limited to 'ld/emultempl/aarch64elf.em')
-rw-r--r-- | ld/emultempl/aarch64elf.em | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/ld/emultempl/aarch64elf.em b/ld/emultempl/aarch64elf.em index 9923be3..a17553a 100644 --- a/ld/emultempl/aarch64elf.em +++ b/ld/emultempl/aarch64elf.em @@ -32,6 +32,7 @@ static int no_wchar_size_warning = 0; static int pic_veneer = 0; static int fix_erratum_835769 = 0; static int fix_erratum_843419 = 0; +static int no_apply_dynamic_relocs = 0; static void gld${EMULATION_NAME}_before_parse (void) @@ -305,7 +306,8 @@ aarch64_elf_create_output_section_statements (void) no_enum_size_warning, no_wchar_size_warning, pic_veneer, - fix_erratum_835769, fix_erratum_843419); + fix_erratum_835769, fix_erratum_843419, + no_apply_dynamic_relocs); stub_file = lang_add_input_file ("linker stubs", lang_input_file_is_fake_enum, @@ -356,6 +358,7 @@ PARSE_AND_LIST_PROLOGUE=' #define OPTION_NO_WCHAR_SIZE_WARNING 312 #define OPTION_FIX_ERRATUM_835769 313 #define OPTION_FIX_ERRATUM_843419 314 +#define OPTION_NO_APPLY_DYNAMIC_RELOCS 315 ' PARSE_AND_LIST_SHORTOPTS=p @@ -368,6 +371,7 @@ PARSE_AND_LIST_LONGOPTS=' { "no-wchar-size-warning", no_argument, NULL, OPTION_NO_WCHAR_SIZE_WARNING}, { "fix-cortex-a53-835769", no_argument, NULL, OPTION_FIX_ERRATUM_835769}, { "fix-cortex-a53-843419", no_argument, NULL, OPTION_FIX_ERRATUM_843419}, + { "no-apply-dynamic-relocs", no_argument, NULL, OPTION_NO_APPLY_DYNAMIC_RELOCS}, ' PARSE_AND_LIST_OPTIONS=' @@ -387,6 +391,7 @@ PARSE_AND_LIST_OPTIONS=' )); fprintf (file, _(" --fix-cortex-a53-835769 Fix erratum 835769\n")); fprintf (file, _(" --fix-cortex-a53-843419 Fix erratum 843419\n")); + fprintf (file, _(" --no-apply-dynamic-relocs Do not apply link-time values for dynamic relocations\n")); ' PARSE_AND_LIST_ARGS_CASES=' @@ -414,6 +419,10 @@ PARSE_AND_LIST_ARGS_CASES=' fix_erratum_843419 = 1; break; + case OPTION_NO_APPLY_DYNAMIC_RELOCS: + no_apply_dynamic_relocs = 1; + break; + case OPTION_STUBGROUP_SIZE: { const char *end; |