musl-cross-make/patches/gcc-11.2.0/0008-fdpic-crtstuff-pr114158.diff
Rich Felker 678797f062 fix fdpic regressions in gcc 10 and later
these were added when arm fdpic support was upstreamed in gcc. one patch
was just entirely wrong (broke arm init/fini arrays, gcc pr#114158) and
the other put arm-specific unwind logic in place for all fdpic targets
and broke building of the unwinder code.
2024-03-13 18:13:07 -04:00

39 lines
1.7 KiB
Diff

--- a/libgcc/crtstuff.c 2023-05-29 17:46:32.000000000 +0900
+++ b/libgcc/crtstuff.c 2024-03-14 06:03:42.398079615 +0900
@@ -441,17 +441,9 @@
#ifdef FINI_SECTION_ASM_OP
CRT_CALL_STATIC_FUNCTION (FINI_SECTION_ASM_OP, __do_global_dtors_aux)
#elif defined (FINI_ARRAY_SECTION_ASM_OP)
-#if defined(__FDPIC__)
-__asm__("\t.equ\t__do_global_dtors_aux_alias, __do_global_dtors_aux\n");
-extern char __do_global_dtors_aux_alias;
-static void *__do_global_dtors_aux_fini_array_entry[]
-__attribute__ ((__used__, section(".fini_array"), aligned(sizeof(void *))))
- = { &__do_global_dtors_aux_alias };
-#else /* defined(__FDPIC__) */
static func_ptr __do_global_dtors_aux_fini_array_entry[]
__attribute__ ((__used__, section(".fini_array"),
aligned(__alignof__(func_ptr)))) = { __do_global_dtors_aux };
-#endif /* defined(__FDPIC__) */
#else /* !FINI_SECTION_ASM_OP && !FINI_ARRAY_SECTION_ASM_OP */
static void __attribute__((used))
__do_global_dtors_aux_1 (void)
@@ -494,17 +486,9 @@
#ifdef __LIBGCC_INIT_SECTION_ASM_OP__
CRT_CALL_STATIC_FUNCTION (__LIBGCC_INIT_SECTION_ASM_OP__, frame_dummy)
#else /* defined(__LIBGCC_INIT_SECTION_ASM_OP__) */
-#if defined(__FDPIC__)
-__asm__("\t.equ\t__frame_dummy_alias, frame_dummy\n");
-extern char __frame_dummy_alias;
-static void *__frame_dummy_init_array_entry[]
-__attribute__ ((__used__, section(".init_array"), aligned(sizeof(void *))))
- = { &__frame_dummy_alias };
-#else /* defined(__FDPIC__) */
static func_ptr __frame_dummy_init_array_entry[]
__attribute__ ((__used__, section(".init_array"),
aligned(__alignof__(func_ptr)))) = { frame_dummy };
-#endif /* defined(__FDPIC__) */
#endif /* !defined(__LIBGCC_INIT_SECTION_ASM_OP__) */
#endif /* USE_EH_FRAME_REGISTRY || USE_TM_CLONE_REGISTRY */