This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.
Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
Hi!
When building with TLS capable binutils and without --without-tls, build
fails with:
mkdir /usr/src/build/128842-i686/BUILD/glibc-2.2.90/build-i686-linux2.4/setjmp
../sysdeps/i386/bsd-_setjmp.S:26:1: warning: "_SETJMP_H" redefined
In file included from ../include/setjmp.h:2,
from ../linuxthreads/descr.h:21,
from ../linuxthreads/sysdeps/i386/tls.h:58,
from ../sysdeps/unix/sysv/linux/i386/sysdep.h:27,
from ../sysdeps/unix/sysv/linux/i386/i686/sysdep.h:24,
from ../sysdeps/i386/bsd-_setjmp.S:24:
../setjmp/setjmp.h:24:1: warning: this is the location of the previous definition
...
make -s -C stdio-common subdir_lib
make[2]: Entering directory `/usr/src/build/128842-i686/BUILD/glibc-2.2.90/stdio-common'
mkdir /usr/src/build/128842-i686/BUILD/glibc-2.2.90/build-i686-linux2.4/stdio-common
/usr/bin/install: cannot remove `/usr/include/bits/stdio_lim.h': Permission denied
make[2]: *** [/usr/include/bits/stdio_lim.h] Error 1
The problem is that while ASSEMBLER macro is defined
when preprocessing/assembling .S -> .o*, it is not defined
when computing dependencies, ie. .S -> .d, so the above warning and also
s-proto.d includes in that case /usr/include/bits/stdio_lim.h dependency, which make
tries to satisfy by installing a newer bits/stdio_lim.h on top of that
(and when not building as root it fails to do so).
The following patch seems to fix it, using
both ASSEMBLER and __ASSEMBLER__ seems
a) inconsistent
b) ASSEMBLER only gives problems, while __ASSEMBLER__ is automatically
defined by the compiler driver
2002-07-25 Jakub Jelinek <jakub@redhat.com>
* config.h.in: Use __ASSEMBLER__ test macro not ASSEMBLER.
* sysdeps/ia64/fpu/libm_support.h: Likewise.
* sysdeps/i386/tls.h: Use __ASSEMBLER__ test macro not ASSEMBLER.
* sysdeps/i386/pt-machine.h: Likewise.
* sysdeps/i386/useldt.h: Likewise.
--- libc/linuxthreads/sysdeps/i386/tls.h.jj Tue Jul 23 10:05:34 2002
+++ libc/linuxthreads/sysdeps/i386/tls.h Thu Jul 25 00:40:37 2002
@@ -22,7 +22,7 @@
# include <pt-machine.h>
-#ifndef ASSEMBLER
+#ifndef __ASSEMBLER__
# include <stddef.h>
/* Type for the dtv. */
@@ -49,7 +49,7 @@ typedef struct
/* Signal that TLS support is available. */
# define USE_TLS 1
-# ifndef ASSEMBLER
+# ifndef __ASSEMBLER__
/* Get system call information. */
# include <sysdep.h>
--- libc/linuxthreads/sysdeps/i386/pt-machine.h.jj Tue Jul 23 10:05:34 2002
+++ libc/linuxthreads/sysdeps/i386/pt-machine.h Thu Jul 25 00:40:24 2002
@@ -22,7 +22,7 @@
#ifndef _PT_MACHINE_H
#define _PT_MACHINE_H 1
-#ifndef ASSEMBLER
+#ifndef __ASSEMBLER__
#ifndef PT_EI
# define PT_EI extern inline
#endif
@@ -103,6 +103,6 @@ compare_and_swap_is_available (void)
Otherwise, it's a 486 or above and it has cmpxchg. */
return changed != 0;
}
-#endif /* ASSEMBLER */
+#endif /* __ASSEMBLER__ */
#endif /* pt-machine.h */
--- libc/linuxthreads/sysdeps/i386/useldt.h.jj Tue Jul 23 10:05:34 2002
+++ libc/linuxthreads/sysdeps/i386/useldt.h Thu Jul 25 00:40:55 2002
@@ -19,7 +19,7 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
-#ifndef ASSEMBLER
+#ifndef __ASSEMBLER__
#include <stddef.h> /* For offsetof. */
#include <stdlib.h> /* For abort(). */
--- libc/sysdeps/ia64/fpu/libm_support.h.jj Tue Jul 23 10:05:56 2002
+++ libc/sysdeps/ia64/fpu/libm_support.h Thu Jul 25 00:41:32 2002
@@ -49,7 +49,7 @@
// 12/07/2000 Added scalbn error_types values.
//
-#ifndef ASSEMBLER
+#ifndef __ASSEMBLER__
#include <math.h>
float __libm_frexp_4f( float x, int* exp);
@@ -337,7 +337,7 @@ extern _LIB_VERSION_TYPE _LIB_VERSION;
// This is a run-time variable and may effect
// floating point behavior of the libm functions
-#endif /* ASSEMBLER */
+#endif /* __ASSEMBLER__ */
/* Support for compatible assembler handling. */
#if !defined L && defined _LIBC
--- libc/config.h.in.jj Tue Jul 23 10:05:28 2002
+++ libc/config.h.in Thu Jul 25 00:42:24 2002
@@ -1,4 +1,4 @@
-#if !defined ASSEMBLER && !defined _ISOMAC && !defined __OPTIMIZE__
+#if !defined __ASSEMBLER__ && !defined _ISOMAC && !defined __OPTIMIZE__
# error "glibc cannot be compiled without optimization"
#endif
Jakub
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |