Date: Sun, 29 Sep 2013 10:26:51 +0200 From: Andrew Turner <andrew@fubar.geek.nz> To: Berislav Purgar <bpurgar@gmail.com> Cc: freebsd-arm@freebsd.org Subject: Re: avila boot2 problem ? Message-ID: <20130929102651.15b203ff@bender> In-Reply-To: <CAAUsrB7yKL%2Bh3cNtSZe-Zb=3Jc=CvZb=jfyxkYJrFTC3f5s3Pg@mail.gmail.com>
index | next in thread | previous in thread | raw e-mail
[-- Attachment #1 --]
On Sat, 28 Sep 2013 18:48:32 +0200
Berislav Purgar <bpurgar@gmail.com> wrote:
> Hello .. i have tryed to build boot2 for avila GW2345 board but i got
> err from LD
> about missing __aeabi_llsl from boot2.o ?
>
> freebsd -HEAD ... i have build buildworld and buildenv .. make
> ixp425/boot2 runs Ok but when trying to link these object i got these
> error undefined __aeabi_llsl from boot2.o ..
Can you try the attached patch. It adds the required function to
libkern, along with the needed unwind symbol.
Andrew
[-- Attachment #2 --]
Index: sys/boot/arm/ixp425/boot2/Makefile
===================================================================
--- sys/boot/arm/ixp425/boot2/Makefile (revision 255873)
+++ sys/boot/arm/ixp425/boot2/Makefile (working copy)
@@ -1,5 +1,7 @@
# $FreeBSD$
+.include <bsd.own.mk>
+
# We get a lot of the std lib functions from here.
.PATH: ${.CURDIR}/../../at91/libat91
@@ -15,6 +17,9 @@
SRCS=arm_init.S boot2.c ${BOOT_FLAVOR:tl}_board.c
SRCS+=memchr.c memcmp.c memcpy.c memmem.c memset.c printf.c strcmp.c strcpy.c
SRCS+=strlen.c ashldi3.c divsi3.S muldi3.c
+.if ${MK_ARM_EABI} != "no"
+SRCS+=aeabi_unwind.c
+.endif
NO_MAN=
KERNPHYSADDR=0x180000
Index: sys/libkern/arm/aeabi_unwind.c
===================================================================
--- sys/libkern/arm/aeabi_unwind.c (revision 255873)
+++ sys/libkern/arm/aeabi_unwind.c (working copy)
@@ -29,7 +29,11 @@
__FBSDID("$FreeBSD$");
#include <sys/types.h>
+#ifdef _KERNEL
#include <sys/systm.h>
+#else
+#define panic(x) (void)0
+#endif
#ifdef __ARM_EABI__
/* We need to provide these functions never call them */
Index: sys/libkern/ashldi3.c
===================================================================
--- sys/libkern/ashldi3.c (revision 255873)
+++ sys/libkern/ashldi3.c (working copy)
@@ -59,3 +59,13 @@
}
return (aa.q);
}
+
+#ifdef __ARM_EABI__
+long long __aeabi_llsl(long long, int);
+
+long long
+__aeabi_llsl(long long a, int b)
+{
+ return __ashldi3(a, b);
+}
+#endif
home |
help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20130929102651.15b203ff>
