[Buildroot] cris

Bernhard Fischer rep.dot.nop at gmail.com
Fri Jun 20 14:11:52 UTC 2008


[I'm changing the subject to something more suitable]
On Fri, Jun 20, 2008 at 03:26:16PM +0200, Hinko Kocevar wrote:
>Bernhard Fischer wrote:
>> On Fri, Jun 20, 2008 at 10:40:22AM +0200, Hinko Kocevar wrote:
>> 
>>> With gcc 4.3.1 gcc internal errors went away, so I'm really glad I found the GIT tree!
>> 
>> I have improved (i hope) the cris support, configuration-wise, please
>> pull and let me know if it suits your needs.
>> 
>
>1. Compilation of uClibc always fails with:
>
>make[1]: Entering directory `/work/stage/git.br/toolchain_build_cris/uClibc-0.9.29'
>make[2]: `conf' is up to date.
>/usr/bin/make locale_headers
>make[3]: `conf' is up to date.
>  CC ldso/ldso/ldso.oS
>  AS ldso/ldso/cris/resolve.oS
>  CC ldso/libdl/libdl.oS
>  CC libcrypt/crypt.os
>  CC libcrypt/des.os
>In file included from ./include/sys/param.h:22,
>                 from libcrypt/des.c:62:
>./include/limits.h:124:26: error: limits.h: No such file or directory
>make[1]: *** [libcrypt/des.os] Error 1
>make[1]: *** Waiting for unfinished jobs....
>make[1]: Leaving directory `/work/stage/git.br/toolchain_build_cris/uClibc-0.9.29'
>make: *** [/home/hinkok/work/stage/git.br/toolchain_build_cris/uClibc-0.9.29/lib/libc.a] Error 2

I don't see this. Is that uClibc-trunk or something else?
>
>2. And later:
>
>  CC libm/expf.os
>  AS libc/sysdeps/linux/cris/syscall.os
>  CC libm/expm1f.os
>  CC libc/sysdeps/linux/common/__rt_sigtimedwait.os
>  CC libm/fabsf.os
>In file included from /home/hinkok/work/stage/git.br/toolchain_build_cris/linux/include/asm/sigcontext.h:6,
>                 from ./include/bits/sigcontext.h:28,
>                 from ./include/signal.h:332,
>                 from libc/sysdeps/linux/common/__rt_sigtimedwait.c:11:
>/home/hinkok/work/stage/git.br/toolchain_build_cris/linux/include/asm/ptrace.h:4:29: error: asm/arch/ptrace.h: No such file or directory

yes, i saw that too. Kernel bug.
>diff --git a/toolchain/gcc/gcc-uclibc-4.x.mk b/toolchain/gcc/gcc-uclibc-4.x.mk
>index e1b16a8..b4001d9 100644
>--- a/toolchain/gcc/gcc-uclibc-4.x.mk
>+++ b/toolchain/gcc/gcc-uclibc-4.x.mk
>@@ -234,6 +234,10 @@ $(gcc_initial) $(STAGING_DIR)/usr/bin/$(REAL_GNU_TARGET_NAME)-gcc: $(GCC_BUILD_D
> 	# gcc >= 4.3.0 have to also install install-target-libgcc
> ifeq ($(BR2_GCC_SUPPORTS_FINEGRAINEDMTUNE),y)
> 	PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR1) install-gcc install-target-libgcc
>+	# This is a must for cris arch at least, or uClibc fails with missing 
>+	# limits.h header!
>+	ln -snf $(STAGING_DIR)/usr/lib/gcc/$(REAL_GNU_TARGET_NAME)/$(GCC_OFFICIAL_VER)/include-fixed/limits.h \
>+	$(STAGING_DIR)/usr/lib/gcc/$(REAL_GNU_TARGET_NAME)/$(GCC_OFFICIAL_VER)/include/limits.h

i don't think that this is correct, there must me something different
going on.
> else
> 	PATH=$(TARGET_PATH) $(MAKE) -C $(GCC_BUILD_DIR1) install-gcc
> endif

>diff --git a/toolchain/kernel-headers/kernel-headers-new.makefile b/toolchain/kernel-headers/kernel-headers-new.makefile
>index 0fca24d..b04d691 100644
>--- a/toolchain/kernel-headers/kernel-headers-new.makefile
>+++ b/toolchain/kernel-headers/kernel-headers-new.makefile
>@@ -74,6 +74,13 @@ $(LINUX_HEADERS_DIR)/.configured: $(LINUX_HEADERS_UNPACK_DIR)/.patched
> 		HOSTCXX="$(HOSTCXX)" \
> 		INSTALL_HDR_PATH=$(LINUX_HEADERS_DIR) headers_install; \
> 	)
>+ifeq ($(BR2_ARCH),"cris")
>+	 cp -a $(LINUX_HEADERS_UNPACK_DIR)/include/linux/user.h $(LINUX_HEADERS_DIR)/include/linux
>+	 cp -a $(LINUX_HEADERS_UNPACK_DIR)/include/asm-cris/user.h $(LINUX_HEADERS_DIR)/include/asm
>+	 cp -a $(LINUX_HEADERS_UNPACK_DIR)/include/asm-cris/elf.h $(LINUX_HEADERS_DIR)/include/asm
>+	 cp -a $(LINUX_HEADERS_UNPACK_DIR)/include/asm-cris/arch-v10 $(LINUX_HEADERS_DIR)/include/asm/arch
>+	 sed -i -e "/^#include <asm\/page\.h>/d" $(LINUX_HEADERS_DIR)/include/asm/user.h

as you can see this wouldn't work for v8 and generally should be fixed
in the kernel (also fails with 2.6.git).
>+endif
> 	touch $@
> 
> endif




More information about the buildroot mailing list