This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Re: Error compiling glibc-2.3.1 with gcc-20030310 snapshot.
- From: Philip Blundell <philb at gnu dot org>
- To: Tamás Gergely <gertom at rgai dot hu>
- Cc: libc-alpha at sources dot redhat dot com
- Date: 24 Mar 2003 13:25:05 +0000
- Subject: Re: Error compiling glibc-2.3.1 with gcc-20030310 snapshot.
- Organization:
- References: <3E7EED88.5040501@rgai.hu>
On Mon, 2003-03-24 at 11:35, Tamás Gergely wrote:
> (1) Is that something wrong in glibc, or gcc is too strict reporting an
> error here?
> Assuming that gcc is correct:
> (2) Can this conflict be corrected by rewriting the INLINE_SYSCALL macro,
> (or some other macros that are used by INLINE_SYSCALL)?
> (3) Would You mind giving me some tips on how to try to avoid this conflict?
It's a bug in glibc. "a1" should not be in the clobber list, since it's
also mentioned as an output operand.
p.
2003-03-24 Philip Blundell <philb at gnu dot org>
* sysdeps/unix/sysv/linux/arm/sysdep.h (INTERNAL_SYSCALL):
Remove a1 from clobber list.
Index: sysdeps/unix/sysv/linux/arm/sysdep.h
===================================================================
RCS file: /cvs/glibc/libc/sysdeps/unix/sysv/linux/arm/sysdep.h,v
retrieving revision 1.22
diff -u -r1.22 sysdep.h
--- sysdeps/unix/sysv/linux/arm/sysdep.h 23 Mar 2003 19:42:22 -0000 1.22
+++ sysdeps/unix/sysv/linux/arm/sysdep.h 24 Mar 2003 13:23:16 -0000
@@ -174,7 +174,7 @@
asm volatile ("swi %1 @ syscall " #name \
: "=r" (_a1) \
: "i" (SYS_ify(name)) ASM_ARGS_##nr \
- : "a1", "memory"); \
+ : "memory"); \
_sys_result = _a1; \
} \
(int) _sys_result; })