Nikos Mavrogiannopoulos <[email protected]> writes:
> Trying to build nettle 2.7 for an arm10 system of mine using its (old)
> toolchain fails with assembler errors.
>
> arm-linux-gcc -Os -I[...] -I. -DHAVE_CONFIG_H -g -O2 -ggdb3
> -Wno-pointer-sign -Wall -W -Wmissing-prototypes -Wmissing-declarations
> -Wstrict-prototypes -Wpointer-arith -Wbad-function-cast
> -Wnested-externs -fpic -MT aes-decrypt-internal.o -MD -MP -MF
> aes-decrypt-internal.o.d -fpic -c aes-decrypt-internal.s
> aes-decrypt-internal.s: Assembler messages:
> aes-decrypt-internal.s:81: Error: bad instruction `push
> {r4,r5,r6,r7,r8,r10,r11,lr}'
> aes-decrypt-internal.s:87: Error: register or shift expression expected
> -- `orr r4,r8,lsl#8'
> aes-decrypt-internal.s:89: Error: register or shift expression expected
> -- `orr r4,r8,lsl#16'
> aes-decrypt-internal.s:91: Error: register or shift expression expected
> -- `orr r4,r8,lsl#24'
> aes-decrypt-internal.s:93: Error: bad arguments to instruction -- `eor
> r4,r8'
> [...]
> make[2]: *** [aes-decrypt-internal.o] Error 1
I recently got a similar bugreport from a user with an arm system
running freebsd with an ancient GNU as. I think it would make sense to
use more traditional ARM asm syntax. Things I'm aware of:
1. Always use 3-operand form instructions, i.e.,
add r1, r1, r2
rather then
add r1, r2
2. Write shift and rotate instructions as mov with a shift/rotate
operand.
3. Add explicit ia/db suffixes on push, pop, ldm, stm.
4. Some file uses "unified" assembler syntax. Revert to traditional arm
syntax (unless we have a good reason to support compiling to thumb
instructions? I don't really understand pros and cons there).
I don't have time to test that right now, but patches are welcome. Is it
a common enough problem that it motivates a bug-fix release?
Regards,
/Niels
--
Niels Möller. PGP-encrypted email is preferred. Keyid C0B98E26.
Internet email is subject to wholesale government surveillance.
_______________________________________________
nettle-bugs mailing list
[email protected]
http://lists.lysator.liu.se/mailman/listinfo/nettle-bugs