This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
FreeBSD port (21): i386/sysdep.h
- From: Bruno Haible <bruno at clisp dot org>
- To: libc-alpha at sources dot redhat dot com
- Date: Thu, 11 Jul 2002 14:26:08 +0200 (CEST)
- Subject: FreeBSD port (21): i386/sysdep.h
Hi,
The PSEUDO macro in sysdeps/i386/sysdep.h is broken: The lack of a
semicolon after "jmp JUMPTARGET(syscall_error)" gives an assembler syntax
error.
Also, its L(name) macro is wrong for ELF, in such a way that every platform
specific sysdep.h needs to #undef and redefine it.
2002-07-06 Bruno Haible <bruno@clisp.org>
* sysdeps/i386/sysdep.h (PSEUDO): Fix syntax error.
(L): Define right for ELF.
* sysdeps/unix/sysv/linux/i386/sysdep.h (L): Remove definition. Now
defined in sysdeps/i386/sysdep.h.
diff -r -c3 glibc-20020627.bak/sysdeps/i386/sysdep.h glibc-20020627/sysdeps/i386/sysdep.h
--- glibc-20020627.bak/sysdeps/i386/sysdep.h Tue Jul 10 23:00:40 2001
+++ glibc-20020627/sysdeps/i386/sysdep.h Fri Jul 5 01:17:10 2002
@@ -1,5 +1,5 @@
/* Assembler macros for i386.
- Copyright (C) 1991, 92, 93, 95, 96, 98 Free Software Foundation, Inc.
+ Copyright (C) 1991-1993, 95, 96, 98, 2002 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
@@ -97,9 +97,9 @@
#endif
#define PSEUDO(name, syscall_name, args) \
-lose: SYSCALL_PIC_SETUP \
- jmp JUMPTARGET(syscall_error) \
.globl syscall_error; \
+lose: SYSCALL_PIC_SETUP \
+ jmp JUMPTARGET(syscall_error); \
ENTRY (name) \
DO_CALL (syscall_name, args); \
jb lose
@@ -122,7 +122,11 @@
/* Local label name for asm code. */
#ifndef L
+#ifdef HAVE_ELF
+#define L(name) .L##name
+#else
#define L(name) name
#endif
+#endif
#endif /* __ASSEMBLER__ */
diff -r -c3 glibc-20020627.bak/sysdeps/unix/sysv/linux/i386/sysdep.h glibc-20020627/sysdeps/unix/sysv/linux/i386/sysdep.h
--- glibc-20020627.bak/sysdeps/unix/sysv/linux/i386/sysdep.h Fri Jun 14 21:06:40 2002
+++ glibc-20020627/sysdeps/unix/sysv/linux/i386/sysdep.h Fri Jul 5 01:18:01 2002
@@ -32,10 +32,6 @@
#undef SYS_ify
#define SYS_ify(syscall_name) __NR_##syscall_name
-/* ELF-like local names start with `.L'. */
-#undef L
-#define L(name) .L##name
-
#ifdef __ASSEMBLER__
/* Linux uses a negative return value to indicate syscall errors,