diff options
author | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2023-06-12 13:02:08 +0100 |
---|---|---|
committer | Szabolcs Nagy <szabolcs.nagy@arm.com> | 2023-12-12 15:48:31 +0000 |
commit | d83acace704927ee351968258c8a8cd39e305d03 (patch) | |
tree | 2ec564dbf0b4547a3e012864e7ffd8285ec8bc02 | |
parent | 6d0b0806eb638447c3184c59d996c2f178553d45 (diff) | |
download | gcc-d83acace704927ee351968258c8a8cd39e305d03.zip gcc-d83acace704927ee351968258c8a8cd39e305d03.tar.gz gcc-d83acace704927ee351968258c8a8cd39e305d03.tar.bz2 |
aarch64,arm: Remove accepted_branch_protection_string
On aarch64 this caused ICE with pragma push_options since
commit ae54c1b09963779c5c3914782324ff48af32e2f1
Author: Wilco Dijkstra <wilco.dijkstra@arm.com>
CommitDate: 2022-06-01 18:13:57 +0100
AArch64: Cleanup option processing code
The failure is at pop_options:
internal compiler error: ‘global_options’ are modified in local context
On arm the variable was unused.
gcc/ChangeLog:
* config/aarch64/aarch64.cc (aarch64_override_options_after_change_1):
Do not override branch_protection options.
(aarch64_override_options): Remove accepted_branch_protection_string.
* config/arm/aarch-common.cc (BRANCH_PROTECT_STR_MAX): Remove.
(aarch_parse_branch_protection): Remove
accepted_branch_protection_string.
* config/arm/arm.cc: Likewise.
-rw-r--r-- | gcc/config/aarch64/aarch64.cc | 10 | ||||
-rw-r--r-- | gcc/config/arm/aarch-common.cc | 16 | ||||
-rw-r--r-- | gcc/config/arm/arm.cc | 2 |
3 files changed, 1 insertions, 27 deletions
diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc index 21a24d9..164ca4b 100644 --- a/gcc/config/aarch64/aarch64.cc +++ b/gcc/config/aarch64/aarch64.cc @@ -351,8 +351,6 @@ bool aarch64_pcrelative_literal_loads; /* Global flag for whether frame pointer is enabled. */ bool aarch64_use_frame_pointer; -char *accepted_branch_protection_string = NULL; - /* Support for command line parsing of boolean flags in the tuning structures. */ struct aarch64_flag_desc @@ -17999,12 +17997,6 @@ aarch64_adjust_generic_arch_tuning (struct tune_params ¤t_tune) static void aarch64_override_options_after_change_1 (struct gcc_options *opts) { - if (accepted_branch_protection_string) - { - opts->x_aarch64_branch_protection_string - = xstrdup (accepted_branch_protection_string); - } - /* PR 70044: We have to be careful about being called multiple times for the same function. This means all changes should be repeatable. */ @@ -18647,7 +18639,7 @@ aarch64_override_options (void) /* Return address signing is currently not supported for ILP32 targets. For LP64 targets use the configured option in the absence of a command-line option for -mbranch-protection. */ - if (!TARGET_ILP32 && accepted_branch_protection_string == NULL) + if (!TARGET_ILP32 && aarch64_branch_protection_string == NULL) { #ifdef TARGET_ENABLE_PAC_RET aarch_ra_sign_scope = AARCH_FUNCTION_NON_LEAF; diff --git a/gcc/config/arm/aarch-common.cc b/gcc/config/arm/aarch-common.cc index d68b704..3dca9d9 100644 --- a/gcc/config/arm/aarch-common.cc +++ b/gcc/config/arm/aarch-common.cc @@ -660,9 +660,6 @@ arm_md_asm_adjust (vec<rtx> &outputs, vec<rtx> & /*inputs*/, return saw_asm_flag ? seq : NULL; } -#define BRANCH_PROTECT_STR_MAX 255 -extern char *accepted_branch_protection_string; - static enum aarch_parse_opt_result aarch_handle_no_branch_protection (char* str, char* rest) { @@ -813,19 +810,6 @@ aarch_parse_branch_protection (const char *const_str, char** last_str) else *last_str = NULL; } - - if (res == AARCH_PARSE_OK) - { - /* If needed, alloc the accepted string then copy in const_str. - Used by override_option_after_change_1. */ - if (!accepted_branch_protection_string) - accepted_branch_protection_string - = (char *) xmalloc (BRANCH_PROTECT_STR_MAX + 1); - strncpy (accepted_branch_protection_string, const_str, - BRANCH_PROTECT_STR_MAX + 1); - /* Forcibly null-terminate. */ - accepted_branch_protection_string[BRANCH_PROTECT_STR_MAX] = '\0'; - } return res; } diff --git a/gcc/config/arm/arm.cc b/gcc/config/arm/arm.cc index 6e3e2e8..4292d3d 100644 --- a/gcc/config/arm/arm.cc +++ b/gcc/config/arm/arm.cc @@ -2433,8 +2433,6 @@ const struct tune_params arm_fa726te_tune = tune_params::SCHED_AUTOPREF_OFF }; -char *accepted_branch_protection_string = NULL; - /* Auto-generated CPU, FPU and architecture tables. */ #include "arm-cpu-data.h" |