From: Adhemerval Zanella Date: Wed, 10 Sep 2025 12:12:09 +0000 (-0300) Subject: m68k: Consolidate atomic-machine.h and Remove unused atomic macros X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9cd4926aa3285b3f455aca6890db05350baf3530;p=thirdparty%2Fglibc.git m68k: Consolidate atomic-machine.h and Remove unused 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. --- diff --git a/sysdeps/m68k/coldfire/atomic-machine.h b/sysdeps/m68k/atomic-machine.h similarity index 77% rename from sysdeps/m68k/coldfire/atomic-machine.h rename to sysdeps/m68k/atomic-machine.h index 644c0e204e..9242f6eec2 100644 --- a/sysdeps/m68k/coldfire/atomic-machine.h +++ b/sysdeps/m68k/atomic-machine.h @@ -15,14 +15,16 @@ 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 we have just non-atomic operations, we can as well make them wide. */ -#define __HAVE_64B_ATOMICS 1 -#define USE_ATOMIC_COMPILER_BUILTINS 1 +#if defined __mc68020__ || defined __mcoldfire__ +# 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