This breaks ia64:

In file included from ../../../libgomp/config/linux/wait.h:46,
                 from ../../../libgomp/config/linux/mutex.c:30:
../../../libgomp/config/linux/ia64/futex.h: In function 'gomp_mutex_lock_slow':
../../../libgomp/config/linux/ia64/futex.h:43:3: error: Stack Pointer register 
clobbered by 'r12' in 'asm'
   43 |   __asm __volatile ("break 0x100000"
      |   ^~~~~
../../../libgomp/config/linux/ia64/futex.h:43:3: error: Stack Pointer register 
clobbered by 'r12' in 'asm'
   43 |   __asm __volatile ("break 0x100000"
      |   ^~~~~
../../../libgomp/config/linux/ia64/futex.h:43:3: error: Stack Pointer register 
clobbered by 'r12' in 'asm'
   43 |   __asm __volatile ("break 0x100000"
      |   ^~~~~
../../../libgomp/config/linux/ia64/futex.h:43:3: error: Stack Pointer register 
clobbered by 'r12' in 'asm'
   43 |   __asm __volatile ("break 0x100000"
      |   ^~~~~
../../../libgomp/config/linux/ia64/futex.h: In function 
'gomp_mutex_unlock_slow':
../../../libgomp/config/linux/ia64/futex.h:43:3: error: Stack Pointer register 
clobbered by 'r12' in 'asm'
   43 |   __asm __volatile ("break 0x100000"
      |   ^~~~~
../../../libgomp/config/linux/ia64/futex.h:43:3: error: Stack Pointer register 
clobbered by 'r12' in 'asm'
   43 |   __asm __volatile ("break 0x100000"
      |   ^~~~~

Installed as obvious.

Andreas.

        * config/linux/ia64/futex.h (sys_futex0): Don't mark r12 as
        clobbered.
---
 libgomp/config/linux/ia64/futex.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libgomp/config/linux/ia64/futex.h 
b/libgomp/config/linux/ia64/futex.h
index 6efec3c813..df450f8def 100644
--- a/libgomp/config/linux/ia64/futex.h
+++ b/libgomp/config/linux/ia64/futex.h
@@ -45,8 +45,8 @@ sys_futex0(int *addr, int op, int val)
          "=r"(r8), "=r"(r10)
        : "r"(r15), "r"(out0), "r"(out1), "r"(out2), "r"(out3)
        : "memory", "out4", "out5", "out6", "out7",
-         /* Non-stacked integer registers, minus r8, r10, r15.  */
-         "r2", "r3", "r9", "r11", "r12", "r13", "r14", "r16", "r17", "r18",
+         /* Non-stacked integer registers, minus r8, r10, r12, r15.  */
+         "r2", "r3", "r9", "r11", "r13", "r14", "r16", "r17", "r18",
          "r19", "r20", "r21", "r22", "r23", "r24", "r25", "r26", "r27",
          "r28", "r29", "r30", "r31",
          /* Predicate registers.  */
-- 
2.20.0

-- 
Andreas Schwab, SUSE Labs, sch...@suse.de
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE  1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

Reply via email to