This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
sparc32/sysdep.h and gcc-3.1
- From: Bruno Haible <bruno at clisp dot org>
- To: libc-alpha at sources dot redhat dot com
- Date: Mon, 1 Jul 2002 13:12:40 +0200 (CEST)
- Subject: sparc32/sysdep.h and gcc-3.1
Hi,
When building glibc-2.2.5 for sparc with gcc-3.1 I get a build error
sparc-linux-gcc ../sysdeps/sparc/sparc32/__longjmp.S -c -I../include -I. -I/backup/cross-build/build-glibc-sparc/setjmp -I.. -I../libio -I/backup/cross-build/build-glibc-sparc -I../sysdeps/sparc/sparc32/elf -I../linuxthreads/sysdeps/unix/sysv/linux/sparc -I../linuxthreads/sysdeps/unix/sysv/linux -I../linuxthreads/sysdeps/pthread -I../sysdeps/pthread -I../linuxthreads/sysdeps/unix/sysv -I../linuxthreads/sysdeps/unix -I../linuxthreads/sysdeps/sparc/sparc32 -I../linuxthreads/sysdeps/sparc -I../sysdeps/unix/sysv/linux/sparc/sparc32 -I../sysdeps/unix/sysv/linux/sparc -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../sysdeps/unix/sysv -I../sysdeps/unix/sparc -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/sparc/sparc32/fpu -I../sysdeps/sparc/sparc32 -I../sysdeps/wordsize-32 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/sparc/sparc32/soft-fp -I../sysdeps/sparc/fpu -I../sysdeps/sparc -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -nostdinc -isystem /cross/sparc-linux-tools/lib/gcc-lib/sparc-linux/3.1/include -isystem /cross/sparc-linux/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -DASSEMBLER -D__ASSEMBLY__ -o /backup/cross-build/build-glibc-sparc/setjmp/__longjmp.o
../sysdeps/sparc/sparc32/__longjmp.S: Assembler messages:
../sysdeps/sparc/sparc32/__longjmp.S:41: Error: Illegal operands
../sysdeps/sparc/sparc32/__longjmp.S:43: Error: Illegal operands
../sysdeps/sparc/sparc32/__longjmp.S:48: Error: unknown pseudo-op: `.'
../sysdeps/sparc/sparc32/__longjmp.S:50: Error: Illegal operands
../sysdeps/sparc/sparc32/__longjmp.S:52: Error: Illegal operands
../sysdeps/sparc/sparc32/__longjmp.S:55: Error: unknown pseudo-op: `.'
../sysdeps/sparc/sparc32/__longjmp.S:72: Error: unknown pseudo-op: `.'
../sysdeps/sparc/sparc32/__longjmp.S:76: Error: unknown pseudo-op: `.'
make[2]: *** [/backup/cross-build/build-glibc-sparc/setjmp/__longjmp.o] Fehler 1
make[2]: Leaving directory `/packages2/glibc-2.2.5/setjmp'
Apparently "cpp0 -lang-asm" now leaves spaces around ## in place, if the token
on the left or right of it is a lone dot (not a valid C identifier). Hard to
say that it's a bug in the gcc-3.1 cpp, because -lang-asm is a gcc extension.
The fix is just to remove the spaces.
2002-06-05 Bruno Haible <bruno@clisp.org>
* sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h (LOC): Remove spaces.
--- glibc-2.2.5/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h.bak 2001-07-06 06:56:21.000000000 +0200
+++ glibc-2.2.5/sysdeps/unix/sysv/linux/sparc/sparc32/sysdep.h 2002-06-05 23:14:40.000000000 +0200
@@ -48,7 +48,7 @@
#define END(name) \
.size name, . - name
-#define LOC(name) . ## L ## name
+#define LOC(name) .##L##name
#ifdef PIC
#define SYSCALL_ERROR_HANDLER \