From: Szabolcs Nagy Date: Mon, 12 Jun 2023 12:02:08 +0000 (+0100) Subject: aarch64,arm: Remove accepted_branch_protection_string X-Git-Tag: basepoints/gcc-15~3679 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=d83acace704927ee351968258c8a8cd39e305d03;p=thirdparty%2Fgcc.git aarch64,arm: Remove accepted_branch_protection_string On aarch64 this caused ICE with pragma push_options since commit ae54c1b09963779c5c3914782324ff48af32e2f1 Author: Wilco Dijkstra 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. --- diff --git a/gcc/config/aarch64/aarch64.cc b/gcc/config/aarch64/aarch64.cc index 21a24d92b025..164ca4babbe3 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 d68b7047c9b9..3dca9d93b0ea 100644 --- a/gcc/config/arm/aarch-common.cc +++ b/gcc/config/arm/aarch-common.cc @@ -660,9 +660,6 @@ arm_md_asm_adjust (vec &outputs, vec & /*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 6e3e2e8fb1bf..4292d3d524e5 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"