1.4.0/rijndael.c/do_padlock: can't find a register in class `GENERAL_REGS' while reloading `asm' on elder gccs

Ismail Dönmez ismail at pardus.org.tr
Sun Jan 13 12:52:39 CET 2008


Sunday 13 January 2008 11:01:43 tarihinde Axel Thimm şunları yazmıştı:
> Hi,
>
> trying to build libgcrypt on RHEL4 (gcc 3.4.6) and RHEL3 (gcc 3.2.3)
> fails with the above on i386 (which is register starved anyway),
> x86_64 for example builds fine.
>
> As later gcc version can build this even on i386 it looks like a gcc
> shortcoming of that era. Still one would like to be able to build
> libgcrypt on these distros :(
>
> With RHEL4's gcc 3.4.6 a possible workaround is to use -O0 to gcc, but
> that doesn't work with RHEL3's 3.2.3. :(
>
> bash-2.05b# gcc -O0 -DHAVE_CONFIG_H -I. -I..  -I../src -I../src -c -o
> rijndael.o rijndael.c rijndael.c: In function `do_padlock':
> rijndael.c:2062: can't find a register in class `GENERAL_REGS' while
> reloading `asm'
>
> Is there any workaround to get this building on older gccs? Thanks!

At least try -O2 -fomit-frame-pointer as CFLAGS so that it can optimize away 
some code which can reduce register usage.

Regards,
ismail

-- 
Never learn by your mistakes, if you do you may never dare to try again.



More information about the Gcrypt-devel mailing list