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.


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

More information about the Gcrypt-devel mailing list