[OpenBIOS] [PATCH] ppc: Create function descriptors for global functions on ppc64

Andreas Färber andreas.faerber at web.de
Sun Nov 28 12:50:52 CET 2010


Am 28.11.2010 um 09:20 schrieb Blue Swirl:

> On Sun, Nov 28, 2010 at 12:58 AM, Andreas Färber <andreas.faerber at web.de 
> > wrote:
>> This should also fix linker errors observed by Blue.
>
> Better, but still:
>  LINK  openbios-qemu.elf
> libdrivers.a(timer.o): In function `udelay':
> /src/openbios-devel/obj-ppc64/../drivers/timer.c:91: undefined
> reference to `._wait_ticks'
> libgcc.a(__udivmoddi4.o): In function `__udivmoddi4':
> /src/openbios-devel/obj-ppc64/../libgcc/__udivmoddi4.c:8: undefined
> reference to `.__divide_error'
>
>> Cc: Blue Swirl <blauwirbel at gmail.com>
>> Cc: Alexander Graf <agraf at suse.de>
>> Signed-off-by: Andreas Färber <andreas.faerber at web.de>
>> ---
>>  arch/ppc/qemu/start.S      |    7 +++----
>>  include/arch/ppc/asmdefs.h |   18 ++++++++++++++++++
>>  2 files changed, 21 insertions(+), 4 deletions(-)
>>
>> diff --git a/arch/ppc/qemu/start.S b/arch/ppc/qemu/start.S
>> index 4b6df3f..76ef6d6 100644
>> --- a/arch/ppc/qemu/start.S
>> +++ b/arch/ppc/qemu/start.S
>> @@ -285,8 +285,7 @@ call_isi_exception:
>>  exception_return:
>>        EXCEPTION_EPILOGUE
>>
>> -       .globl  __divide_error
>> -__divide_error:
>> +GLOBL(__divide_error):
>
> Shouldn't this be _GLOBAL?

Yes, it should since it's called from C code in libgcc/. I somehow  
assumed it would be called from assembly.

Thanks, applied in r976.

Andreas


More information about the OpenBIOS mailing list