diff --git a/gcc/c/c-lang.c b/gcc/c/c-lang.c index 778a6f2a0769..f261c6292aa3 100644 --- a/gcc/c/c-lang.c +++ b/gcc/c/c-lang.c @@ -38,6 +38,9 @@ enum c_language_kind c_language = clk_c; #undef LANG_HOOKS_INIT_TS #define LANG_HOOKS_INIT_TS c_common_init_ts +#undef LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS +#define LANG_HOOKS_CUSTOM_FUNCTION_DESCRIPTORS true + #if CHECKING_P #undef LANG_HOOKS_RUN_LANG_SELFTESTS #define LANG_HOOKS_RUN_LANG_SELFTESTS selftest::run_c_tests diff --git a/gcc/config/aarch64/aarch64.c b/gcc/config/aarch64/aarch64.c index b45906e2ccd8..e0491e3a716e 100644 --- a/gcc/config/aarch64/aarch64.c +++ b/gcc/config/aarch64/aarch64.c @@ -24750,9 +24750,9 @@ aarch64_libgcc_floating_mode_supported_p #define TARGET_DWARF_POLY_INDETERMINATE_VALUE \ aarch64_dwarf_poly_indeterminate_value -/* The architecture reserves bits 0 and 1 so use bit 2 for descriptors. */ +/* The architecture reserves bits 0 and 1 but hack 1 for now. */ #undef TARGET_CUSTOM_FUNCTION_DESCRIPTORS -#define TARGET_CUSTOM_FUNCTION_DESCRIPTORS 4 +#define TARGET_CUSTOM_FUNCTION_DESCRIPTORS 2 #undef TARGET_HARD_REGNO_NREGS #define TARGET_HARD_REGNO_NREGS aarch64_hard_regno_nregs diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h index 6f65e0db01b0..0bc92e82acaa 100644 --- a/gcc/config/aarch64/aarch64.h +++ b/gcc/config/aarch64/aarch64.h @@ -69,9 +69,7 @@ #define STACK_BOUNDARY 128 -/* Custom function descriptors use bit 2 so function alignment must be - at least 64 to work with this. */ -#define FUNCTION_BOUNDARY 64 +#define FUNCTION_BOUNDARY 32 #define EMPTY_FIELD_BOUNDARY 32