gas macro handling broken in 2.16.91.0.1
Olaf Hering
olh@suse.de
Fri Jun 24 22:17:00 GMT 2005
I get syntax errors with current mainline cvs, this worked with
binutils-2.16.90.0.3
example from rpm4:
as --gdwarf2 -a32 -K PIC -mppc -many -V -Qy -o test.o test.s
GNU assembler version 2.16.91.0.1 (powerpc-suse-linux) using BFD version 2.16.91.0.1 20050622 (SuSE Linux)
test.s: Assembler messages:
test.s:99: Error: bad expression
test.s:99: Error: syntax error; found `
.file "test.S"
.text
.macro sxrk rk src
lwz %r24, 0(\src)
.endm
.macro etfs rk offset
lwz %r28,\offset+ 0(\rk)
.endm
.macro esft rk offset
.endm
.macro elr rk
lwz %r24, 0(\rk)
.endm
.macro eblock rk src label
sxrk \rk \src
etfs \rk 16
esft \rk 32
etfs \rk 48
esft \rk 64
etfs \rk 80
esft \rk 96
etfs \rk 112
esft \rk 128
etfs \rk 144
lwz %r11,256(\rk)
cmpwi %r11,10
beq \label
esft \rk 160
etfs \rk 176
cmpwi %r11,12
beq \label
esft \rk 192
etfs \rk 208
\label:
slwi %r11,%r11,4
add \rk,\rk,%r11
elr \rk
.endm
.macro dtfs rk offset
lwz %r28,\offset+ 0(\rk)
.endm
.macro dsft rk offset
lwz %r24,\offset+ 0(\rk)
.endm
.macro dlr rk
lwz %r24, 0(\rk)
.endm
.macro dblock rk src label
sxrk \rk \src
dtfs \rk 16
dsft \rk 32
dtfs \rk 48
dsft \rk 64
dtfs \rk 80
dsft \rk 96
dtfs \rk 112
dsft \rk 128
dtfs \rk 144
lwz %r11,256(\rk)
cmpwi %r11,10
beq \label
dsft \rk 160
dtfs \rk 176
cmpwi %r11,12
beq \label
dsft \rk 192
dtfs \rk 208
\label:
slwi %r11,%r11,4
add \rk,\rk,%r11
dlr \rk
.endm
.align 8; .global aesEncrypt
aesEncrypt:
eblock rk=%r3 src=%r5 label=.L00
.LaesEncrypt_size: .size aesEncrypt, .LaesEncrypt_size - aesEncrypt;
More information about the Binutils
mailing list