aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/mach/i386
diff options
context:
space:
mode:
authorZack Weinberg <zackw@panix.com>2017-06-08 15:39:03 -0400
committerZack Weinberg <zackw@panix.com>2017-06-08 15:39:03 -0400
commit5046dbb4a7eba5eccfd258f92f4735c9ffc8d069 (patch)
tree4470480d904b65cf14ca524f96f79eca818c3eaf /sysdeps/mach/i386
parent199fc19d3aaaf57944ef036e15904febe877fc93 (diff)
downloadglibc-zack/build-layout-experiment.tar
glibc-zack/build-layout-experiment.tar.gz
glibc-zack/build-layout-experiment.tar.bz2
glibc-zack/build-layout-experiment.zip
Prepare for radical source tree reorganization.zack/build-layout-experiment
All top-level files and directories are moved into a temporary storage directory, REORG.TODO, except for files that will certainly still exist in their current form at top level when we're done (COPYING, COPYING.LIB, LICENSES, NEWS, README), all old ChangeLog files (which are moved to the new directory OldChangeLogs, instead), and the generated file INSTALL (which is just deleted; in the new order, there will be no generated files checked into version control).
Diffstat (limited to 'sysdeps/mach/i386')
-rw-r--r--sysdeps/mach/i386/machine-lock.h67
-rw-r--r--sysdeps/mach/i386/machine-sp.h30
-rw-r--r--sysdeps/mach/i386/syscall.S29
-rw-r--r--sysdeps/mach/i386/sysdep.h69
-rw-r--r--sysdeps/mach/i386/thread_state.h42
5 files changed, 0 insertions, 237 deletions
diff --git a/sysdeps/mach/i386/machine-lock.h b/sysdeps/mach/i386/machine-lock.h
deleted file mode 100644
index 540d1a5326..0000000000
--- a/sysdeps/mach/i386/machine-lock.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Machine-specific definition for spin locks. i386 version.
- Copyright (C) 1994-2017 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
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _MACHINE_LOCK_H
-#define _MACHINE_LOCK_H
-
-/* The type of a spin lock variable. */
-
-typedef volatile int __spin_lock_t;
-
-/* Value to initialize `__spin_lock_t' variables to. */
-
-#define __SPIN_LOCK_INITIALIZER 0
-
-
-#ifndef _EXTERN_INLINE
-#define _EXTERN_INLINE __extern_inline
-#endif
-
-/* Unlock LOCK. */
-
-_EXTERN_INLINE void
-__spin_unlock (__spin_lock_t *__lock)
-{
- register int __unlocked;
- __asm__ __volatile ("xchgl %0, %1"
- : "=&r" (__unlocked), "=m" (*__lock) : "0" (0)
- : "memory");
-}
-
-/* Try to lock LOCK; return nonzero if we locked it, zero if another has. */
-
-_EXTERN_INLINE int
-__spin_try_lock (__spin_lock_t *__lock)
-{
- register int __locked;
- __asm__ __volatile ("xchgl %0, %1"
- : "=&r" (__locked), "=m" (*__lock) : "0" (1)
- : "memory");
- return !__locked;
-}
-
-/* Return nonzero if LOCK is locked. */
-
-_EXTERN_INLINE int
-__spin_lock_locked (__spin_lock_t *__lock)
-{
- return *__lock != 0;
-}
-
-
-#endif /* machine-lock.h */
diff --git a/sysdeps/mach/i386/machine-sp.h b/sysdeps/mach/i386/machine-sp.h
deleted file mode 100644
index 264facbf1e..0000000000
--- a/sysdeps/mach/i386/machine-sp.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* Machine-specific function to return the stack pointer. i386 version.
- Copyright (C) 1994-2017 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
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _MACHINE_SP_H
-#define _MACHINE_SP_H
-
-/* Return the current stack pointer. */
-
-#define __thread_stack_pointer() ({ \
- void *__sp__; \
- __asm__ ("movl %%esp, %0" : "=r" (__sp__)); \
- __sp__; \
-})
-
-#endif /* machine-sp.h */
diff --git a/sysdeps/mach/i386/syscall.S b/sysdeps/mach/i386/syscall.S
deleted file mode 100644
index 562aedd175..0000000000
--- a/sysdeps/mach/i386/syscall.S
+++ /dev/null
@@ -1,29 +0,0 @@
-/* Copyright (C) 1993-2017 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
- <http://www.gnu.org/licenses/>. */
-
-#include <sysdep.h>
-
-ENTRY (syscall)
- popl %ecx /* Pop return address into %ecx. */
- popl %eax /* Pop syscall number into %eax. */
- pushl %ecx /* Push back return address. */
- .byte 0x9a, 0, 0, 0, 0, 7, 0 /* lcall $7, $0 -- gas bug */
- popl %ecx /* Pop return address into %ecx. */
- pushl $0 /* Push back dumb syscall number. */
- pushl %ecx /* Push back return address. */
- ret
-END (syscall)
diff --git a/sysdeps/mach/i386/sysdep.h b/sysdeps/mach/i386/sysdep.h
deleted file mode 100644
index d5e5f6bcf3..0000000000
--- a/sysdeps/mach/i386/sysdep.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/* Copyright (C) 1991-2017 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
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _MACH_I386_SYSDEP_H
-#define _MACH_I386_SYSDEP_H 1
-
-/* Defines RTLD_PRIVATE_ERRNO and USE_DL_SYSINFO. */
-#include <dl-sysdep.h>
-#include <tls.h>
-
-#define LOSE asm volatile ("hlt")
-
-#define SNARF_ARGS(entry_sp, argc, argv, envp) \
- do \
- { \
- char **p; \
- argc = (int) *entry_sp; \
- argv = (char **) (entry_sp + 1); \
- p = argv; \
- while (*p++ != NULL) \
- ; \
- if (p >= (char **) argv[0]) \
- --p; \
- envp = p; \
- } while (0)
-
-#define CALL_WITH_SP(fn, info, sp) \
- do { \
- void **ptr = (void **) sp; \
- *--(__typeof (info) *) ptr = info; \
- ptr[-1] = ptr; \
- --ptr; \
- asm volatile ("movl %0, %%esp; call %1" : : \
- "g" (ptr), "m" (*(long int *) (fn)) : "%esp"); \
- } while (0)
-
-#define RETURN_TO(sp, pc, retval) \
- asm volatile ("movl %0, %%esp; jmp %*%1 # %2" \
- : : "g" (sp), "r" (pc), "a" (retval))
-
-
-#define STACK_GROWTH_DOWN
-
-/* Get the machine-independent Mach definitions. */
-#include <sysdeps/mach/sysdep.h>
-
-
-/* This should be rearranged, but at the moment this file provides
- the most useful definitions for assembler syntax details. */
-#undef ENTRY
-#undef ALIGN
-#include <sysdeps/unix/i386/sysdep.h>
-
-#endif /* mach/i386/sysdep.h */
diff --git a/sysdeps/mach/i386/thread_state.h b/sysdeps/mach/i386/thread_state.h
deleted file mode 100644
index 2ad2619e34..0000000000
--- a/sysdeps/mach/i386/thread_state.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* Mach thread state definitions for machine-independent code. i386 version.
- Copyright (C) 1994-2017 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
- <http://www.gnu.org/licenses/>. */
-
-#ifndef _MACH_I386_THREAD_STATE_H
-#define _MACH_I386_THREAD_STATE_H 1
-
-#include <mach/machine/thread_status.h>
-
-#define MACHINE_THREAD_STATE_FLAVOR i386_THREAD_STATE
-#define MACHINE_THREAD_STATE_COUNT i386_THREAD_STATE_COUNT
-
-#define machine_thread_state i386_thread_state
-
-#define PC eip
-#define SP uesp
-#define SYSRETURN eax
-
-struct machine_thread_all_state
- {
- int set; /* Mask of bits (1 << FLAVOR). */
- struct i386_thread_state basic;
- struct i386_float_state fpu;
- };
-
-#include <sysdeps/mach/thread_state.h>
-
-#endif /* mach/i386/thread_state.h */