diff options
author | raj <raj@FreeBSD.org> | 2008-10-14 09:53:47 +0000 |
---|---|---|
committer | raj <raj@FreeBSD.org> | 2008-10-14 09:53:47 +0000 |
commit | 556a6465983a877b5787e9b340efce702299dc65 (patch) | |
tree | bfb0713e7b6a4a9b669a1eb4f771e6fbd0372124 /lib | |
parent | 2092894d9cbda3fd0a120d7eafce6ed9411ad35a (diff) | |
download | FreeBSD-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.S | 4 | ||||
-rw-r--r-- | lib/libstand/Makefile | 10 |
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 \ |