From 4d25037efd59dcafcea6f459e1a73466703d22d5 Mon Sep 17 00:00:00 2001 From: Rafal Jaworowski Date: Tue, 14 Oct 2008 09:53:47 +0000 Subject: [PATCH] Let libstand(3) build on ARM. This is a pre-requisite for loader(8) + U-Boot support library on this arch. --- lib/libc/arm/gen/_setjmp.S | 4 ++++ lib/libstand/Makefile | 10 +++++++++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/lib/libc/arm/gen/_setjmp.S b/lib/libc/arm/gen/_setjmp.S index b9384051d9e..1cd370c4af6 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 18f4add9553..66e6ebbd842 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 \