[Bug target/60925] New: [4.9 Regression] hppa: can't find a register in class 'R1_REGS' while reloading 'asm'
aaro.koskinen at iki dot fi
gcc-bugzilla@gcc.gnu.org
Tue Apr 22 19:36:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60925
Bug ID: 60925
Summary: [4.9 Regression] hppa: can't find a register in class
'R1_REGS' while reloading 'asm'
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: aaro.koskinen at iki dot fi
Build failure when compiling GLIBC 2.19 with GCC 4.9.0 on PA-RISC:
hppa-linux-gnu-gcc gethstbyad.c -c -std=gnu99 -fgnu89-inline -O2 -Wall
-Winline -Wwrite-strings -fmerge-all-constants -frounding-math -g
-Wstrict-prototypes -fPIC -fexceptions -I../include
-I/home/aaro/los/work/parisc/glibc-2.19-build/default/inet
-I/home/aaro/los/work/parisc/glibc-2.19-build/default
-I../ports/sysdeps/unix/sysv/linux/hppa/nptl
-I../ports/sysdeps/unix/sysv/linux/hppa -I../nptl/sysdeps/unix/sysv/linux
-I../nptl/sysdeps/pthread -I../sysdeps/pthread
-I../ports/sysdeps/unix/sysv/linux -I../sysdeps/unix/sysv/linux
-I../sysdeps/gnu -I../sysdeps/unix/inet -I../nptl/sysdeps/unix/sysv
-I../ports/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../nptl/sysdeps/unix
-I../ports/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix
-I../ports/sysdeps/hppa/hppa1.1 -I../sysdeps/wordsize-32
-I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/dbl-64
-I../ports/sysdeps/hppa/fpu -I../ports/sysdeps/hppa/nptl
-I../ports/sysdeps/hppa -I../sysdeps/ieee754 -I../sysdeps/generic -I../nptl
-I../ports -I.. -I../libio -I. -nostdinc -isystem
/home/aaro/los/work/parisc/toolchain/lib/gcc/hppa-linux-gnu/4.9.0/include
-isystem
/home/aaro/los/work/parisc/toolchain/lib/gcc/hppa-linux-gnu/4.9.0/include-fixed
-isystem /home/aaro/los/work/parisc/toolchain/glibc/hppa-linux-gnu/usr/include
-D_LIBC_REENTRANT -include ../include/libc-symbols.h -DPIC -DSHARED -o
/home/aaro/los/work/parisc/glibc-2.19-build/default/inet/gethstbyad.os -MD -MP
-MF /home/aaro/los/work/parisc/glibc-2.19-build/default/inet/gethstbyad.os.dt
-MT /home/aaro/los/work/parisc/glibc-2.19-build/default/inet/gethstbyad.os
In file included from ../include/atomic.h:50:0,
from
../ports/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h:25,
from ../nptl/descr.h:30,
from ../ports/sysdeps/hppa/nptl/tls.h:56,
from ../include/link.h:44,
from ../include/dlfcn.h:4,
from ../nss/nsswitch.h:28,
from ../include/nsswitch.h:1,
from ../inet/netgroup.h:22,
from ../include/netdb.h:193,
from gethstbyad.c:19:
../nss/getXXbyYY.c: In function 'gethostbyaddr':
../ports/sysdeps/unix/sysv/linux/hppa/bits/atomic.h:68:6: error: can't find a
register in class 'R1_REGS' while reloading 'asm'
asm volatile( \
^
../ports/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h:219:13: note: in
expansion of macro 'atomic_compare_and_exchange_val_acq'
int val = atomic_compare_and_exchange_val_acq (futex, 1, 0);
^
../ports/sysdeps/unix/sysv/linux/hppa/bits/atomic.h:68:6: error: can't find a
register in class 'R1_REGS' while reloading 'asm'
asm volatile( \
^
../ports/sysdeps/unix/sysv/linux/hppa/bits/atomic.h:97:12: note: in expansion
of macro 'atomic_compare_and_exchange_val_acq'
ret = atomic_compare_and_exchange_val_acq(mem, newval, oldval); \
^
../include/atomic.h:189:7: note: in expansion of macro
'atomic_compare_and_exchange_bool_acq'
(atomic_compare_and_exchange_bool_acq (__atg5_memp, __atg5_value, \
^
../include/atomic.h:196:45: note: in expansion of macro 'atomic_exchange_acq'
# define atomic_exchange_rel(mem, newvalue) atomic_exchange_acq (mem,
newvalue)
^
../ports/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h:293:16: note: in
expansion of macro 'atomic_exchange_rel'
({ int val = atomic_exchange_rel (futex, 0); \
^
../ports/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h:297:36: note: in
expansion of macro '__lll_unlock'
#define lll_unlock(futex, private) __lll_unlock(&(futex), private)
^
../nptl/sysdeps/pthread/bits/libc-lockP.h:203:3: note: in expansion of macro
'lll_unlock'
lll_unlock (NAME, LLL_PRIVATE)
^
../nss/getXXbyYY.c:144:3: note: in expansion of macro '__libc_lock_unlock'
__libc_lock_unlock (lock);
^
../ports/sysdeps/unix/sysv/linux/hppa/bits/atomic.h:68:6: error: 'asm' operand
has impossible constraints
asm volatile( \
^
../ports/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h:219:13: note: in
expansion of macro 'atomic_compare_and_exchange_val_acq'
int val = atomic_compare_and_exchange_val_acq (futex, 1, 0);
^
../ports/sysdeps/unix/sysv/linux/hppa/bits/atomic.h:68:6: error: 'asm' operand
has impossible constraints
asm volatile( \
^
../ports/sysdeps/unix/sysv/linux/hppa/bits/atomic.h:97:12: note: in expansion
of macro 'atomic_compare_and_exchange_val_acq'
ret = atomic_compare_and_exchange_val_acq(mem, newval, oldval); \
^
../include/atomic.h:189:7: note: in expansion of macro
'atomic_compare_and_exchange_bool_acq'
(atomic_compare_and_exchange_bool_acq (__atg5_memp, __atg5_value, \
^
../include/atomic.h:196:45: note: in expansion of macro 'atomic_exchange_acq'
# define atomic_exchange_rel(mem, newvalue) atomic_exchange_acq (mem,
newvalue)
^
../ports/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h:293:16: note: in
expansion of macro 'atomic_exchange_rel'
({ int val = atomic_exchange_rel (futex, 0); \
^
../ports/sysdeps/unix/sysv/linux/hppa/nptl/lowlevellock.h:297:36: note: in
expansion of macro '__lll_unlock'
#define lll_unlock(futex, private) __lll_unlock(&(futex), private)
^
../nptl/sysdeps/pthread/bits/libc-lockP.h:203:3: note: in expansion of macro
'lll_unlock'
lll_unlock (NAME, LLL_PRIVATE)
^
../nss/getXXbyYY.c:144:3: note: in expansion of macro '__libc_lock_unlock'
__libc_lock_unlock (lock);
^
make[2]: ***
[/home/aaro/los/work/parisc/glibc-2.19-build/default/inet/gethstbyad.os] Error
1
make[2]: Leaving directory `/home/aaro/los/work/shared/glibc-2.19/inet'
make[1]: *** [inet/subdir_lib] Error 2
make[1]: Leaving directory `/home/aaro/los/work/shared/glibc-2.19'
make: *** [all] Error 2
More information about the Gcc-bugs
mailing list