java clobbering of %ebx

John Gay johngay at
Fri Oct 22 00:29:52 PDT 2004

On Fri 22 Oct 2004 03:25, Gregory Davis wrote:
> Okay.  WTF?  I had lots of problems compiling stuff with gcc-3.4.0, and
> thought upgrading to 3.4.2 would solve this, but it didn't.  When compiling
> java, I get the error below.  I think it's just another instance of new gcc
> being more strict on standard adherence, but how is this resolved?  Note,
> this is just 3 lines after the inline_asm patch, but not the exact same
> affected line.  Has anyone succeeded in compiling java with a gcc 3.4?  I
> just want to hear someone say they have, so that I will be convinced that I
> should shut up.

A quick search shows that most gcc34-patches involve changing the use of %ebx 
in in-line assembly, so yes, it is another instance of GCC being more strict. 
This appears in grub, SDL, zlib and glibc.

I haven't played with assembly in many years, but it seems that the ebx 
register is now off-limits with gcc-3.4.X Unless you know assembly, the only 
suggestion I can make is try changing from %ebx to %edx in the push and pop 
instructions. This is basically what the sdl and other patches do.

This came up here a while back regarding another package that was generating 
similar errors.


	John Gay

More information about the blfs-support mailing list