From 3642bf4800b54be4fee895966cfaf742bf20f1b8 Mon Sep 17 00:00:00 2001 From: Adhemerval Zanella Date: Thu, 11 Sep 2025 10:49:37 -0300 Subject: [PATCH] m68k: Consolidade atomic-machine.h and Remove ununsed atomic macros Both m68k and m68k-colfire do not support 64 bit atomis. The atomic_barrier syscall on m68k is a no-op, so it can use the compiler builtin. Reviewed-by: Wilco Dijkstra --- sysdeps/m68k/{coldfire => }/atomic-machine.h | 13 ++++--- sysdeps/m68k/m680x0/m68020/atomic-machine.h | 22 ------------ .../sysv/linux/m68k/coldfire/atomic-machine.h | 35 ------------------- 3 files changed, 8 insertions(+), 62 deletions(-) rename sysdeps/m68k/{coldfire => }/atomic-machine.h (79%) delete mode 100644 sysdeps/m68k/m680x0/m68020/atomic-machine.h delete mode 100644 sysdeps/unix/sysv/linux/m68k/coldfire/atomic-machine.h diff --git a/sysdeps/m68k/coldfire/atomic-machine.h b/sysdeps/m68k/atomic-machine.h similarity index 79% rename from sysdeps/m68k/coldfire/atomic-machine.h rename to sysdeps/m68k/atomic-machine.h index 644c0e204e..49a65d6d99 100644 --- a/sysdeps/m68k/coldfire/atomic-machine.h +++ b/sysdeps/m68k/atomic-machine.h @@ -15,14 +15,17 @@ License along with the GNU C Library. If not, see . */ -#ifndef _ATOMIC_MACHINE_H -#define _ATOMIC_MACHINE_H 1 +#ifndef _M68K_ATOMIC_MACHINE_H +#define _M68K_ATOMIC_MACHINE_H 1 +#if defined __mc68020__ || defined __mcoldfire__ /* If we have just non-atomic operations, we can as well make them wide. */ -#define __HAVE_64B_ATOMICS 1 -#define USE_ATOMIC_COMPILER_BUILTINS 1 +# define __HAVE_64B_ATOMICS 0 /* XXX Is this actually correct? */ -#define ATOMIC_EXCHANGE_USES_CAS 1 +# define ATOMIC_EXCHANGE_USES_CAS 1 +#else +# error "ISAs does not support atomic operations" +#endif #endif diff --git a/sysdeps/m68k/m680x0/m68020/atomic-machine.h b/sysdeps/m68k/m680x0/m68020/atomic-machine.h deleted file mode 100644 index f394a20164..0000000000 --- a/sysdeps/m68k/m680x0/m68020/atomic-machine.h +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright (C) 2003-2025 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#define __HAVE_64B_ATOMICS 0 -#define USE_ATOMIC_COMPILER_BUILTINS 1 - -/* XXX Is this actually correct? */ -#define ATOMIC_EXCHANGE_USES_CAS 1 diff --git a/sysdeps/unix/sysv/linux/m68k/coldfire/atomic-machine.h b/sysdeps/unix/sysv/linux/m68k/coldfire/atomic-machine.h deleted file mode 100644 index f8cdc5631b..0000000000 --- a/sysdeps/unix/sysv/linux/m68k/coldfire/atomic-machine.h +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright (C) 2010-2025 Free Software Foundation, Inc. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library. If not, see - . */ - -#ifndef _ATOMIC_MACHINE_H -#define _ATOMIC_MACHINE_H 1 - -#include - -/* Coldfire has no atomic compare-and-exchange operation, but the - kernel provides userspace atomicity operations. Use them. */ - -#define __HAVE_64B_ATOMICS 0 -#define USE_ATOMIC_COMPILER_BUILTINS 1 - -/* XXX Is this actually correct? */ -#define ATOMIC_EXCHANGE_USES_CAS 1 - -# define atomic_full_barrier() \ - (INTERNAL_SYSCALL_CALL (atomic_barrier), (void) 0) - -#endif -- 2.47.3