summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorraj <raj@FreeBSD.org>2008-10-14 09:53:47 +0000
committerraj <raj@FreeBSD.org>2008-10-14 09:53:47 +0000
commit556a6465983a877b5787e9b340efce702299dc65 (patch)
treebfb0713e7b6a4a9b669a1eb4f771e6fbd0372124 /lib
parent2092894d9cbda3fd0a120d7eafce6ed9411ad35a (diff)
downloadFreeBSD-src-556a6465983a877b5787e9b340efce702299dc65.zip
FreeBSD-src-556a6465983a877b5787e9b340efce702299dc65.tar.gz
Let libstand(3) build on ARM.
This is a pre-requisite for loader(8) + U-Boot support library on this arch.
Diffstat (limited to 'lib')
-rw-r--r--lib/libc/arm/gen/_setjmp.S4
-rw-r--r--lib/libstand/Makefile10
2 files changed, 13 insertions, 1 deletions
diff --git a/lib/libc/arm/gen/_setjmp.S b/lib/libc/arm/gen/_setjmp.S
index b938405..1cd370c 100644
--- a/lib/libc/arm/gen/_setjmp.S
+++ b/lib/libc/arm/gen/_setjmp.S
@@ -101,6 +101,10 @@ ENTRY(_longjmp)
/* validation failed, die die die. */
botch:
+#if !defined(_STANDALONE)
bl PIC_SYM(_C_LABEL(longjmperror), PLT)
bl PIC_SYM(_C_LABEL(abort), PLT)
b . - 8 /* Cannot get here */
+#else
+ b .
+#endif
diff --git a/lib/libstand/Makefile b/lib/libstand/Makefile
index 18f4add..66e6ebb 100644
--- a/lib/libstand/Makefile
+++ b/lib/libstand/Makefile
@@ -32,6 +32,9 @@ CFLAGS+= -msoft-float -D_STANDALONE
.if ${MACHINE_ARCH} == "amd64"
CFLAGS+= -m32 -I.
.endif
+.if ${MACHINE_ARCH} == "arm"
+CFLAGS+= -msoft-float -DSOFTFLOAT -D_STANDALONE
+.endif
# standalone components and stuff we have modified locally
SRCS+= zutil.h __main.c assert.c bcd.c bswap.c environment.c getopt.c gets.c \
@@ -48,12 +51,17 @@ SRCS+= ntoh.c
# string functions from libc
.PATH: ${.CURDIR}/../libc/string
.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "powerpc" || \
- ${MACHINE_ARCH} == "sparc64" || ${MACHINE_ARCH} == "amd64"
+ ${MACHINE_ARCH} == "sparc64" || ${MACHINE_ARCH} == "amd64" || \
+ ${MACHINE_ARCH} == "arm"
SRCS+= bcmp.c bcopy.c bzero.c ffs.c index.c memccpy.c memchr.c memcmp.c \
memcpy.c memmove.c memset.c qdivrem.c rindex.c strcat.c strchr.c \
strcmp.c strcpy.c strcspn.c strlen.c strncat.c strncmp.c strncpy.c \
strpbrk.c strrchr.c strsep.c strspn.c strstr.c strtok.c swab.c
.endif
+.if ${MACHINE_ARCH} == "arm"
+.PATH: ${.CURDIR}/../libc/arm/gen
+SRCS+= divsi3.S
+.endif
.if ${MACHINE_ARCH} == "ia64"
.PATH: ${.CURDIR}/../libc/ia64/string
SRCS+= bcmp.c bcopy.S bzero.S ffs.S index.c memccpy.c memchr.c memcmp.c \
OpenPOWER on IntegriCloud