[parisc-linux] input constraints in atomic.h too loose ?
Mike Frysinger
vapier at gentoo.org
Fri Feb 2 20:15:50 MST 2007
while building glibc-2.5/cvs with gcc-4.1.1, i hit an error about invalid
operands in the locking code ... looks like the declared constraints for the
inputs in atomic.h are too loose ?
$ hppa2.0-unknown-linux-gnu-gcc -O1 -fPIC vfprintf.i -c
/tmp/ccvCRbqg.s: Assembler messages:
/tmp/ccvCRbqg.s:41: Error: bad expression
/tmp/ccvCRbqg.s:41: Error: bad expression
/tmp/ccvCRbqg.s:41: Error: bad expression
/tmp/ccvCRbqg.s:41: Error: bad expression
/tmp/ccvCRbqg.s:41: Error: bad expression
/tmp/ccvCRbqg.s:41: Error: bad expression
/tmp/ccvCRbqg.s:41: Error: Invalid operands
/tmp/ccvCRbqg.s:43: Error: bad expression
/tmp/ccvCRbqg.s:43: Error: bad expression
/tmp/ccvCRbqg.s:43: Error: bad expression
/tmp/ccvCRbqg.s:43: Error: bad expression
/tmp/ccvCRbqg.s:43: Error: bad expression
/tmp/ccvCRbqg.s:43: Error: bad expression
/tmp/ccvCRbqg.s:43: Error: Invalid operands
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 827 bytes
Desc: not available
Url : http://lists.parisc-linux.org/pipermail/parisc-linux/attachments/20070202/70f201b7/attachment-0002.pgp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: vfprintf.i
Type: text/x-objcsrc
Size: 834 bytes
Desc: not available
Url : http://lists.parisc-linux.org/pipermail/parisc-linux/attachments/20070202/70f201b7/attachment.bin
-------------- next part --------------
.LEVEL 1.1
.text
.align 4
.type buffered_vfprintf, @function
buffered_vfprintf:
.PROC
.CALLINFO FRAME=8320,CALLS,SAVE_RP,ENTRY_GR=7
.ENTRY
stw %r2,-20(%r30)
addil L'8320,%r30
ldo R'8320(%r1),%r30
stw %r8,-112(%r30)
stw %r7,-108(%r30)
stw %r6,-104(%r30)
stw %r5,-100(%r30)
stw %r4,-96(%r30)
stw %r19,-32(%r30)
copy %r26,%r8
ldil L'-16384,%r28
ldo 8072(%r28),%r28
addl %r30,%r28,%r6
stw %r6,0(%r28)
ldo 4(%r26),%r5
ldil L'8192,%r7
addl %r6,%r7,%r20
ldi 14,%r28
stw %r28,0(%r20)
ldi 0,%r2
ldi 1,%r29
ldil L'16384,%r4
ldo -8188(%r4),%r4
#APP
0:
copy %r5, %r26
copy %r2, %r25
copy %r29, %r24
ble 0xb0(%sr2, %r0)
ldi 0, %r20
cmpib,=,n 11,%r21,0b
nop
stw %r28, %r6(%r4)
sub %r0, %r21, %r21
stw %r21, %r6(%r7)
#NO_APP
ldw -112(%r30),%r8
ldw -108(%r30),%r7
ldw -104(%r30),%r6
ldw -100(%r30),%r5
ldw -96(%r30),%r4
addil L'-8320,%r30
ldo R'-8320(%r1),%r30
ldw -20(%r30),%r2
bv,n %r0(%r2)
.EXIT
.PROCEND
.size buffered_vfprintf, .-buffered_vfprintf
.align 4
.globl foo
.type foo, @function
foo:
.PROC
.CALLINFO FRAME=64,CALLS,SAVE_RP,ENTRY_GR=3
.ENTRY
stw %r2,-20(%r30)
stwm %r4,64(%r30)
bl buffered_vfprintf,%r2
stw %r19,-32(%r30)
ldw -84(%r30),%r2
bv %r0(%r2)
ldwm -64(%r30),%r4
.EXIT
.PROCEND
.size foo, .-foo
.ident "GCC: (GNU) 4.1.1 (Gentoo 4.1.1-r3)"
More information about the parisc-linux
mailing list