[ipxe-devel] compile fails with gcc 4.8.0

Michael Brown mbrown at fensystems.co.uk
Thu Apr 4 21:42:34 UTC 2013


On 03/04/13 09:37, Christian Hesse wrote:
> Christian Hesse<list at eworm.de>  on Tue, 2013/04/02 10:35:
>> Hello everybody,
>>
>> with gcc 4.8.0 compilation fails:
>>
>> With   [BUILD] bin/pxe_call.o
>> arch/i386/interface/pxe/pxe_call.c: In function ‘pxe_start_nbp’:
>> arch/i386/interface/pxe/pxe_call.c:284:1: error: bp cannot be used in asm
>> here }
>>   ^
>>
>> No idea how to fix this, though.
>
> Oh, this has been reported before... Sorry.
>
> But I have a patch. Compiles and works for me [tm], hope it is correct.

Thanks.  The patch works, but it would be awesome to find a proper 
generic solution to this issue.

The problem with adding a manual "pushl/popl %ebp" pair is twofold:

- it may add unnecessary code (if there's nothing useful currently in 
%ebp anyway)

- it generates incorrect code if any of the asm constraints end up 
generating memory references to local variables.  (Not applicable in 
this case, but it's a nasty thing to have to remember for future 
maintenance.)

I did get access to the gcc compile farm, but none of the test machines 
therein seem to have gcc 4.8 installed!

If anyone has the time to investigate a proper solution for this, I'd be 
very grateful.

Michael





More information about the ipxe-devel mailing list