This is the mail archive of the libc-alpha@sources.redhat.com mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Error compiling glibc-2.3.1 with gcc-20030310 snapshot.


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; })




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]