aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/m68k/init-first.c
diff options
context:
space:
mode:
authorAdhemerval Zanella <adhemerval.zanella@linaro.org>2019-05-29 18:39:06 -0300
committerAdhemerval Zanella <adhemerval.zanella@linaro.org>2019-06-17 09:29:01 -0300
commit112a0ae18b831bf31f44d81b82666980312511d6 (patch)
tree8296ec9b2cf3a21ed1012149c05dadb7fc5738c9 /sysdeps/unix/sysv/linux/m68k/init-first.c
parentdee07df1a40533f1f2856111946eafbd45b81dbe (diff)
downloadglibc-112a0ae18b831bf31f44d81b82666980312511d6.tar
glibc-112a0ae18b831bf31f44d81b82666980312511d6.tar.gz
glibc-112a0ae18b831bf31f44d81b82666980312511d6.tar.bz2
glibc-112a0ae18b831bf31f44d81b82666980312511d6.zip
m68k: Remove vDSO support
Although defined in initial TLS/NPTL ABI for m68k and ColdFire [1], kernel support was never pushed upstream. This patch removes the unused m68k vDSO support. Checked with a build against m68k and m68k-coldfire and some basic tests on ARAnyM. * sysdeps/unix/sysv/linux/m68k/Makefile (sysdep_routines, sysdep-rtld-routines): Remove rules. * sysdeps/unix/sysv/linux/m68k/Versions (libc) [GLIBC_PRIVATE]: Remove __vdso_atomic_cmpxchg_32 and __vdso_atomic_barrier. (ld) [GLIBC_PRIVATE]: __rtld___vdso_read_tp, __rtld___vdso_atomic_cmpxchg_32, and __rtld___vdso_atomic_barrier. * sysdeps/unix/sysv/linux/m68k/coldfire/atomic-machine.h (atomic_compare_and_exchange_val_acq, atomic_full_barrier): Remove vDSO path for SHARED. * sysdeps/unix/sysv/linux/m68k/init-first.c: Remove file. * sysdeps/unix/sysv/linux/m68k/libc-m68k-vdso.c: Likewise. * sysdeps/unix/sysv/linux/m68k/m68k-helpers.S: Likewise. * sysdeps/unix/sysv/linux/m68k/m68k-vdso.c: Likewise. * sysdeps/unix/sysv/linux/m68k/m68k-vdso.h: Likewise. * sysdeps/unix/sysv/linux/m68k/m68k-helpers.c: New file. [1] https://lists.debian.org/debian-68k/2007/11/msg00071.html
Diffstat (limited to 'sysdeps/unix/sysv/linux/m68k/init-first.c')
-rw-r--r--sysdeps/unix/sysv/linux/m68k/init-first.c74
1 files changed, 0 insertions, 74 deletions
diff --git a/sysdeps/unix/sysv/linux/m68k/init-first.c b/sysdeps/unix/sysv/linux/m68k/init-first.c
deleted file mode 100644
index f8f0910839..0000000000
--- a/sysdeps/unix/sysv/linux/m68k/init-first.c
+++ /dev/null
@@ -1,74 +0,0 @@
-/* Initialization code run first thing by the ELF startup code. Linux/m68k.
- Copyright (C) 2010-2019 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Maxim Kuvyrkov <maxim@codesourcery.com>, 2010.
-
- 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
- <http://www.gnu.org/licenses/>. */
-
-/* Note: linking in vDSO to a static binary requires changes to
- the main GLIBC proper. Not yet implemented. */
-#ifdef SHARED
-
-#include <dl-vdso.h>
-#include <m68k-vdso.h>
-
-static inline void
-_libc_vdso_platform_setup (void)
-{
- void *p;
-
- PREPARE_VERSION (linux26, "LINUX_2.6", 61765110);
-
- /* It may happen that rtld didn't initialize the vDSO, so fallback
- to the syscall implementations if _dl_vdso_vsym returns NULL.
- This may happen when a static executable dlopen's a dynamic library.
- This really is nothing more than a workaround for rtld/csu
- deficiency. Ideally, init code would setup the vDSO for static
- binaries too. */
-
- p = _dl_vdso_vsym ("__kernel_read_tp", &linux26);
- if (p != NULL)
- {
- __vdso_read_tp = p;
- __rtld___vdso_read_tp = p;
- }
- else
- assert (__vdso_read_tp == (void *) __vdso_read_tp_stub);
-
- p = _dl_vdso_vsym ("__kernel_atomic_cmpxchg_32", &linux26);
- if (p != NULL)
- {
- __vdso_atomic_cmpxchg_32 = p;
- __rtld___vdso_atomic_cmpxchg_32 = p;
- }
- else
- assert (__vdso_atomic_cmpxchg_32
- == (void *) __vdso_atomic_cmpxchg_32_stub);
-
- p = _dl_vdso_vsym ("__kernel_atomic_barrier", &linux26);
- if (p != NULL)
- {
- __vdso_atomic_barrier = p;
- __rtld___vdso_atomic_barrier = p;
- }
- else
- assert (__vdso_atomic_barrier == (void *) __vdso_atomic_barrier_stub);
-}
-
-#define VDSO_SETUP _libc_vdso_platform_setup
-
-#endif /* SHARED */
-
-#include <csu/init-first.c>