From 39a39d1f38ccb9ba292b22003dc3c7febb0b6512 Mon Sep 17 00:00:00 2001 From: Jeff Law Date: Mon, 18 Nov 2024 09:59:54 -0700 Subject: [PATCH] [RFA] Fix csky and c6x build failures csky fails to build libgcc after the c23 changes because it has a typedef for bool. AFAICT it's internal to the file, so removing the typedef isn't an ABI change. Similiarly for c6x which includes unwind-arm-common.inc. I suspect most, if not all of the arm-v7 and older targets are failing to build right now. I've built and regression tested both csky-linux-gnu and c6x-elf with this change. OK for the trunk? PR target/117628 libgcc/ * config/csky/linux-atomic.c (bool): Remove unnecessary typedef. * unwind-arm-common.inc (bool): Similarly. --- libgcc/config/csky/linux-atomic.c | 2 -- libgcc/unwind-arm-common.inc | 2 -- 2 files changed, 4 deletions(-) diff --git a/libgcc/config/csky/linux-atomic.c b/libgcc/config/csky/linux-atomic.c index 15c38156c77..27448554730 100644 --- a/libgcc/config/csky/linux-atomic.c +++ b/libgcc/config/csky/linux-atomic.c @@ -215,8 +215,6 @@ __sync_val_compare_and_swap_4 (int *ptr, int oldval, int newval) SUBWORD_VAL_CAS (unsigned short, 2) SUBWORD_VAL_CAS (unsigned char, 1) -typedef unsigned char bool; - bool HIDDEN __sync_bool_compare_and_swap_4 (int *ptr, int oldval, int newval) { diff --git a/libgcc/unwind-arm-common.inc b/libgcc/unwind-arm-common.inc index 576f7e93e8a..1e9a58dbab2 100644 --- a/libgcc/unwind-arm-common.inc +++ b/libgcc/unwind-arm-common.inc @@ -52,8 +52,6 @@ /* Definitions for C++ runtime support routines. We make these weak declarations to avoid pulling in libsupc++ unnecessarily. */ -typedef unsigned char bool; - typedef struct _ZSt9type_info type_info; /* This names C++ type_info type */ enum __cxa_type_match_result {