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! GCC 3.2 doesn't like asm ("" : "=" "r" (something)); (while GCC 3.3+ does). The following patch fixes this by putting = into the constraint. The linuxthreads Makefile is something I needed to make libpthread.so to build on Alpha. 2003-01-06 Jakub Jelinek <jakub@redhat.com> * sysdeps/unix/sysv/linux/alpha/sysdep.h (inline_syscall_r0_constraint): Rename to... (inline_syscall_r0_out_constraint): ... this. Add =. (inline_syscall[0-6]): Use inline_syscall_r0_out_constraint instead of "=" inline_syscall_r0_constraint. linuxthreads/ * sysdeps/unix/sysv/linux/alpha/Makefile: New file. --- libc/sysdeps/unix/sysv/linux/alpha/sysdep.h.jj 2003-01-05 22:08:49.000000000 +0100 +++ libc/sysdeps/unix/sysv/linux/alpha/sysdep.h 2003-01-06 01:07:33.000000000 +0100 @@ -1,4 +1,5 @@ -/* Copyright (C) 1992, 1993, 1995, 1996, 1997, 2002 Free Software Foundation, Inc. +/* Copyright (C) 1992, 1993, 1995, 1996, 1997, 2002, 2003 + Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>, August 1995. @@ -100,10 +101,10 @@ #ifdef USE_TLS #define inline_syscall_r0_asm -#define inline_syscall_r0_constraint "v" +#define inline_syscall_r0_out_constraint "=v" #else -#define inline_syscall_r0_asm __asm__("$0") -#define inline_syscall_r0_constraint "r" +#define inline_syscall_r0_asm __asm__("$0") +#define inline_syscall_r0_out_constraint "=r" #endif /* It is moderately important optimization-wise to limit the lifetime @@ -117,7 +118,7 @@ \ _sc_0 = __NR_##name; \ __asm__("callsys # %0 %1 <= %2" \ - : "=" inline_syscall_r0_constraint (_sc_0), \ + : inline_syscall_r0_out_constraint (_sc_0), \ "=r"(_sc_19) \ : "0"(_sc_0) \ : inline_syscall_clobbers, \ @@ -134,7 +135,7 @@ _sc_0 = __NR_##name; \ _sc_16 = (long) (arg1); \ __asm__("callsys # %0 %1 <= %2 %3" \ - : "=" inline_syscall_r0_constraint (_sc_0), \ + : inline_syscall_r0_out_constraint (_sc_0), \ "=r"(_sc_19), "=r"(_sc_16) \ : "0"(_sc_0), "2"(_sc_16) \ : inline_syscall_clobbers, \ @@ -153,7 +154,7 @@ _sc_16 = (long) (arg1); \ _sc_17 = (long) (arg2); \ __asm__("callsys # %0 %1 <= %2 %3 %4" \ - : "=" inline_syscall_r0_constraint (_sc_0), \ + : inline_syscall_r0_out_constraint (_sc_0), \ "=r"(_sc_19), "=r"(_sc_16), "=r"(_sc_17) \ : "0"(_sc_0), "2"(_sc_16), "3"(_sc_17) \ : inline_syscall_clobbers, \ @@ -174,7 +175,7 @@ _sc_17 = (long) (arg2); \ _sc_18 = (long) (arg3); \ __asm__("callsys # %0 %1 <= %2 %3 %4 %5" \ - : "=" inline_syscall_r0_constraint (_sc_0), \ + : inline_syscall_r0_out_constraint (_sc_0), \ "=r"(_sc_19), "=r"(_sc_16), "=r"(_sc_17), \ "=r"(_sc_18) \ : "0"(_sc_0), "2"(_sc_16), "3"(_sc_17), \ @@ -197,7 +198,7 @@ _sc_18 = (long) (arg3); \ _sc_19 = (long) (arg4); \ __asm__("callsys # %0 %1 <= %2 %3 %4 %5 %6" \ - : "=" inline_syscall_r0_constraint (_sc_0), \ + : inline_syscall_r0_out_constraint (_sc_0), \ "=r"(_sc_19), "=r"(_sc_16), "=r"(_sc_17), \ "=r"(_sc_18) \ : "0"(_sc_0), "2"(_sc_16), "3"(_sc_17), \ @@ -222,7 +223,7 @@ _sc_19 = (long) (arg4); \ _sc_20 = (long) (arg5); \ __asm__("callsys # %0 %1 <= %2 %3 %4 %5 %6 %7" \ - : "=" inline_syscall_r0_constraint (_sc_0), \ + : inline_syscall_r0_out_constraint (_sc_0), \ "=r"(_sc_19), "=r"(_sc_16), "=r"(_sc_17), \ "=r"(_sc_18), "=r"(_sc_20) \ : "0"(_sc_0), "2"(_sc_16), "3"(_sc_17), \ @@ -249,7 +250,7 @@ _sc_20 = (long) (arg5); \ _sc_21 = (long) (arg6); \ __asm__("callsys # %0 %1 <= %2 %3 %4 %5 %6 %7 %8" \ - : "=" inline_syscall_r0_constraint (_sc_0), \ + : inline_syscall_r0_out_constraint (_sc_0), \ "=r"(_sc_19) "=r"(_sc_16), "=r"(_sc_17), \ "=r"(_sc_18), "=r"(_sc_20), "=r"(_sc_21) \ : "0"(_sc_0), "2"(_sc_16), "3"(_sc_17), \ --- libc/linuxthreads/sysdeps/unix/sysv/linux/alpha/Makefile.jj 2003-01-05 22:08:49.000000000 +0100 +++ libc/linuxthreads/sysdeps/unix/sysv/linux/alpha/Makefile 2003-01-06 01:07:33.000000000 +0100 @@ -0,0 +1,3 @@ +ifeq ($(subdir),linuxthreads) +libpthread-routines += ptw-sysdep ptw-sigblock ptw-sigprocmask ptw-osf_sigprocmask +endif Jakub
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |