Am 28.11.2010 um 09:20 schrieb Blue Swirl:
On Sun, Nov 28, 2010 at 12:58 AM, Andreas Färber <andreas.faerber@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@gmail.com Cc: Alexander Graf agraf@suse.de Signed-off-by: Andreas Färber andreas.faerber@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