This is the mail archive of the libc-alpha@sourceware.org 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] |
Compiling current glibc with GCC 4.3 and binutils from CVS, we're seeing the following error on x86 systems: pthread_rwlock_trywrlock.c: Assembler messages: pthread_rwlock_trywrlock.c:45: Error: bad register name `%dil' The problem is that private a QImode memory is and 'g' does not work for char, so we need to promote it. Ok to commit the appended patch? Andreas 2008-09-08 Richard Guenther <rguenther@suse.de> * nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h (lll_lock, lll_robust_lock, lll_cond_lock, lll_robust_cond_lock, lll_timedlock, lll_robust_timedlock, lll_unlock, lll_robust_unlock): Promote private to int. --- nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h.orig 2008-09-08 13:31:23.000000000 +0200 +++ nptl/sysdeps/unix/sysv/linux/i386/lowlevellock.h 2008-09-08 13:36:57.000000000 +0200 @@ -323,7 +323,7 @@ "=m" (futex), "=&d" (ignore3) \ : "1" (1), "m" (futex), \ "i" (MULTIPLE_THREADS_OFFSET), "0" (0), \ - "g" (private) \ + "g" ((int)(private)) \ : "memory"); \ } \ }) @@ -345,7 +345,7 @@ "18:" \ : "=a" (result), "=c" (ignore1), "=m" (futex), \ "=&d" (ignore2) \ - : "0" (0), "1" (id), "m" (futex), "g" (private) \ + : "0" (0), "1" (id), "m" (futex), "g" ((int)(private)) \ : "memory"); \ result; }) @@ -370,7 +370,7 @@ "18:" \ : "=a" (ignore1), "=c" (ignore2), "=m" (futex), \ "=&d" (ignore3) \ - : "0" (0), "1" (2), "m" (futex), "g" (private) \ + : "0" (0), "1" (2), "m" (futex), "g" ((int)(private))\ : "memory"); \ }) @@ -393,7 +393,7 @@ : "=a" (result), "=c" (ignore1), "=m" (futex), \ "=&d" (ignore2) \ : "0" (0), "1" (id | FUTEX_WAITERS), "m" (futex), \ - "g" (private) \ + "g" ((int)(private)) \ : "memory"); \ result; }) @@ -416,7 +416,7 @@ : "=a" (result), "=c" (ignore1), "=&d" (ignore2), \ "=m" (futex), "=S" (ignore3) \ : "0" (0), "1" (1), "m" (futex), "m" (timeout), \ - "4" (private) \ + "4" ((int)(private)) \ : "memory"); \ result; }) @@ -439,7 +439,7 @@ : "=a" (result), "=c" (ignore1), "=&d" (ignore2), \ "=m" (futex), "=S" (ignore3) \ : "0" (0), "1" (id), "m" (futex), "m" (timeout), \ - "4" (private) \ + "4" ((int)(private)) \ : "memory"); \ result; }) @@ -489,7 +489,7 @@ "18:" \ : "=m" (futex), "=&a" (ignore), "=&c" (ignore2) \ : "i" (MULTIPLE_THREADS_OFFSET), "m" (futex), \ - "g" (private) \ + "g" ((int)(private)) \ : "memory"); \ } \ }) @@ -511,7 +511,8 @@ LLL_STUB_UNWIND_INFO_4 \ "18:" \ : "=m" (futex), "=&a" (ignore), "=&c" (ignore2) \ - : "i" (FUTEX_WAITERS), "m" (futex), "g" (private) \ + : "i" (FUTEX_WAITERS), "m" (futex), \ + "g" ((int)(private)) \ : "memory"); \ }) -- Andreas Jaeger, Director Platform / openSUSE, aj@suse.de SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nürnberg) Maxfeldstr. 5, 90409 Nürnberg, Germany GPG fingerprint = 93A3 365E CE47 B889 DF7F FED1 389A 563C C272 A126
Attachment:
pgp00000.pgp
Description: PGP signature
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |