aboutsummaryrefslogtreecommitdiff
path: root/sysdeps/unix/i386
diff options
context:
space:
mode:
authorRoland McGrath <roland@gnu.org>1996-08-02 05:27:50 +0000
committerRoland McGrath <roland@gnu.org>1996-08-02 05:27:50 +0000
commite75154a665018d5756196275634704c95476ea6b (patch)
tree0c8f889a29304e0cc86611c629f1b620d16cf8a7 /sysdeps/unix/i386
parent9ebb936d991a6e08da05e5a942465d64cac39f86 (diff)
downloadglibc-e75154a665018d5756196275634704c95476ea6b.tar
glibc-e75154a665018d5756196275634704c95476ea6b.tar.gz
glibc-e75154a665018d5756196275634704c95476ea6b.tar.bz2
glibc-e75154a665018d5756196275634704c95476ea6b.zip
Remade for alpha-1.93cvs/libc-960802
Diffstat (limited to 'sysdeps/unix/i386')
-rw-r--r--sysdeps/unix/i386/sysdep.h68
1 files changed, 1 insertions, 67 deletions
diff --git a/sysdeps/unix/i386/sysdep.h b/sysdeps/unix/i386/sysdep.h
index 16a76b1d5f..3cb130749a 100644
--- a/sysdeps/unix/i386/sysdep.h
+++ b/sysdeps/unix/i386/sysdep.h
@@ -17,76 +17,10 @@ not, write to the Free Software Foundation, Inc., 675 Mass Ave,
Cambridge, MA 02139, USA. */
#include <sysdeps/unix/sysdep.h>
+#include <sysdeps/i386/sysdep.h>
#ifdef ASSEMBLER
-/* Syntactic details of assembler. */
-
-#ifdef HAVE_ELF
-
-/* ELF uses byte-counts for .align, most others use log2 of count of bytes. */
-#define ALIGNARG(log2) 1<<log2
-/* For ELF we need the `.type' directive to make shared libs work right. */
-#define ASM_TYPE_DIRECTIVE(name,typearg) .type name,typearg;
-
-/* In ELF C symbols are asm symbols. */
-#undef NO_UNDERSCORES
-#define NO_UNDERSCORES
-
-#else
-
-#define ALIGNARG(log2) log2
-#define ASM_TYPE_DIRECTIVE(name,type) /* Nothing is specified. */
-
-#endif
-
-
-/* Define an entry point visible from C. */
-#define ENTRY(name) \
- ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME(name); \
- ASM_TYPE_DIRECTIVE (C_SYMBOL_NAME(name),@function) \
- .align ALIGNARG(4); \
- C_LABEL(name) \
- CALL_MCOUNT
-
-/* If compiled for profiling, call `mcount' at the start of each function. */
-#ifdef PROF
-/* The mcount code relies on a normal frame pointer being on the stack
- to locate our caller, so push one just for its benefit. */
-#define CALL_MCOUNT \
- pushl %ebp; movl %esp, %ebp; call JUMPTARGET(mcount); popl %ebp;
-#else
-#define CALL_MCOUNT /* Do nothing. */
-#endif
-
-#ifdef NO_UNDERSCORES
-/* Since C identifiers are not normally prefixed with an underscore
- on this system, the asm identifier `syscall_error' intrudes on the
- C name space. Make sure we use an innocuous name. */
-#define syscall_error __syscall_error
-#define mcount _mcount
-#endif
-
-#define PSEUDO(name, syscall_name, args) \
-lose: SYSCALL_PIC_SETUP \
- jmp JUMPTARGET(syscall_error) \
- .globl syscall_error; \
- ENTRY (name) \
- DO_CALL (syscall_name, args); \
- jb lose
-
-#ifdef PIC
-#define JUMPTARGET(name) name##@PLT
-#define SYSCALL_PIC_SETUP \
- pushl %ebx; \
- call 0f; \
-0: popl %ebx; \
- addl $_GLOBAL_OFFSET_TABLE+[.-0b], %ebx;
-#else
-#define JUMPTARGET(name) name
-#define SYSCALL_PIC_SETUP /* Nothing. */
-#endif
-
/* This is defined as a separate macro so that other sysdep.h files
can include this one and then redefine DO_CALL. */