[Clfs-support] Fwd: Re: Mini2440 W.I.P.

Ron McDowell rcm at fuzzwad.org
Fri Jul 20 10:57:42 PDT 2012



On 7/20/12 8:45 AM, Andrew Bradford wrote:

> Can you check if GCC 4.6.1 still needs these patches (other than the
> soft-float patch) and other fun changes?  I don't think it does.
> For a 4.6.1 softfloat patch, see [1] (I'm not sure that the 4.6.0
> softfloat patch will apply cleanly to 4.6.1).
>
> [1]: http://git.cross-lfs.org/?p=abradford/clfs-embedded.git;a=blob;f=patches/gcc-4.6.1-uclibc-arm-softfloat-1.patch;h=0af23f4533539f3eda0f47d7239ee299b6fcead6;hb=HEAD

Using binutils-1.22 and gcc-4.6.1 with the above patch does build gcc 
cleanly. However, uClibc-0.9.32 fails now with:
+ tar xof Archives/uClibc-0.9.32.tar
+ cd uClibc-0.9.32/
+ patch -Np1 -i ../Local/uClibc-0.9.32-configs-1.patch
patching file clfs/config.arm.big
patching file clfs/config.arm.little
patching file clfs/config.i386.little
patching file clfs/config.mips.big
patching file clfs/config.mips.little
patching file clfs/config.x86_64.little
+ cp -v clfs/config.arm.little .config
`clfs/config.arm.little' -> `.config'
+ '[' aapcs == aapcs ']'
+ sed -i s/CONFIG_ARM_OABI/CONFIG_ARM_EABI/g .config
+ make oldconfig
   MKDIR include/config
   HOSTCC-o extra/config/conf.o
   GEN extra/config/zconf.tab.c
   GEN extra/config/lex.zconf.c
   GEN extra/config/zconf.hash.c
   HOSTCC-o extra/config/zconf.tab.o
   HOSTCC extra/config/conf
./.config:39:warning: override: reassigning to symbol CONFIG_ARM_EABI
*
* Restart config...
*
*
* Target Architecture Features and Options
*
Target ABI
   1. OABI (CONFIG_ARM_OABI) (NEW)
 > 2. EABI (CONFIG_ARM_EABI)
choice[1-2?]: 2
Target Processor Type
 > 1. Generic Arm (CONFIG_GENERIC_ARM)
   2. Arm 610 (CONFIG_ARM610)
   3. Arm 710 (CONFIG_ARM710)
   4. Arm 7TDMI (CONFIG_ARM7TDMI)
   5. Arm 720T (CONFIG_ARM720T)
   6. Arm 920T (CONFIG_ARM920T)
   7. Arm 922T (CONFIG_ARM922T)
   8. Arm 926T (CONFIG_ARM926T)
   9. Arm 10T (CONFIG_ARM10T)
   10. Arm 1136JF-S (CONFIG_ARM1136JF_S)
   11. Arm 1176JZ-S (CONFIG_ARM1176JZ_S)
   12. Arm 1176JZF-S (CONFIG_ARM1176JZF_S)
   13. Arm Cortex-M3 (CONFIG_ARM_CORTEX_M3)
   14. Arm Cortex-M1 (CONFIG_ARM_CORTEX_M1)
   15. Intel StrongArm SA-110 (CONFIG_ARM_SA110)
   16. Intel StrongArm SA-1100 (CONFIG_ARM_SA1100)
   17. Intel Xscale (CONFIG_ARM_XSCALE)
   18. Intel Xscale With WMMX PXA27x (CONFIG_ARM_IWMMXT)
choice[1-18?]: 1
*
* Using ELF file format
*
Target Processor Endianness
   1. Big Endian (ARCH_WANTS_BIG_ENDIAN)
 > 2. Little Endian (ARCH_WANTS_LITTLE_ENDIAN)
choice[1-2?]: 2
Target CPU has a memory management unit (MMU) (ARCH_HAS_MMU) [Y/n/?] y
   Do you want to utilize the MMU? (ARCH_USE_MMU) [Y/n/?] y
Enable floating point number support (UCLIBC_HAS_FLOATS) [Y/n/?] y
   Target CPU has a floating point unit (FPU) (UCLIBC_HAS_FPU) [Y/n/?] y
   Enable full C99 math library support (DO_C99_MATH) [N/y/?] n
   Enable XSI math extensions to the ISO C standard (bessel) 
(DO_XSI_MATH) [N/y/?] n
   Enable C99 Floating-point environment (UCLIBC_HAS_FENV) [N/y/?] n
Linux kernel header location (KERNEL_HEADERS) [/usr/include] /usr/include
#
# configuration written to ./.config
#
+ make
   MKDIR include/bits
   GEN include/bits/uClibc_config.h
   LN include/fpu_control.h
   LN include/dl-osinfo.h
   LN include/hp-timing.h
   LN include/bits/byteswap-common.h
   LN include/bits/byteswap.h
   LN include/bits/cmathcalls.h
   LN include/bits/confname.h
   LN include/bits/dirent.h
   LN include/bits/dlfcn.h
   LN include/bits/elfclass.h
   LN include/bits/environments.h
   LN include/bits/errno.h
   LN include/bits/fenvinline.h
   LN include/bits/getopt.h
   LN include/bits/huge_valf.h
   LN include/bits/huge_vall.h
   LN include/bits/in.h
   LN include/bits/inf.h
   LN include/bits/initspin.h
   LN include/bits/ioctl-types.h
   LN include/bits/ioctls.h
   LN include/bits/ipc.h
   LN include/bits/kernel-features.h
   LN include/bits/kernel_sigaction.h
   LN include/bits/local_lim.h
   LN include/bits/locale.h
   LN include/bits/mathcalls.h
   LN include/bits/mathinline.h
   LN include/bits/mman-common.h
   LN include/bits/mman.h
   LN include/bits/mqueue.h
   LN include/bits/msq.h
   LN include/bits/nan.h
   LN include/bits/netdb.h
   LN include/bits/poll.h
   LN include/bits/posix1_lim.h
   LN include/bits/posix2_lim.h
   LN include/bits/posix_opt.h
   LN include/bits/resource.h
   LN include/bits/sched.h
   LN include/bits/select.h
   LN include/bits/sem.h
   LN include/bits/sigaction.h
   LN include/bits/sigcontext.h
   LN include/bits/siginfo.h
   LN include/bits/signum.h
   LN include/bits/sigset.h
   LN include/bits/sigstack.h
   LN include/bits/sigthread.h
   LN include/bits/sockaddr.h
   LN include/bits/socket.h
   LN include/bits/stat.h
   LN include/bits/statfs.h
   LN include/bits/statvfs.h
   LN include/bits/stdio.h
   LN include/bits/stdio_lim.h
   LN include/bits/syscalls-common.h
   LN include/bits/termios.h
   LN include/bits/time.h
   LN include/bits/types.h
   LN include/bits/typesizes.h
   LN include/bits/uClibc_alloc.h
   LN include/bits/uClibc_charclass.h
   LN include/bits/uClibc_clk_tck.h
   LN include/bits/uClibc_ctype.h
   LN include/bits/uClibc_fpmax.h
   LN include/bits/uClibc_local_lim.h
   LN include/bits/uClibc_locale.h
   LN include/bits/uClibc_mutex.h
   LN include/bits/uClibc_page.h
   LN include/bits/uClibc_pthread.h
   LN include/bits/uClibc_stdio.h
   LN include/bits/uClibc_touplow.h
   LN include/bits/uClibc_uintmaxtostr.h
   LN include/bits/uClibc_uwchar.h
   LN include/bits/uClibc_va_copy.h
   LN include/bits/uio.h
   LN include/bits/ustat.h
   LN include/bits/utmp.h
   LN include/bits/utmpx.h
   LN include/bits/utsname.h
   LN include/bits/waitflags.h
   LN include/bits/waitstatus.h
   LN include/bits/wchar.h
   LN include/bits/xopen_lim.h
   LN include/bits/arm_asm.h
   LN include/bits/armsigctx.h
   LN include/bits/atomic.h
   LN include/bits/endian.h
   LN include/bits/fcntl.h
   LN include/bits/fenv.h
   LN include/bits/huge_val.h
   LN include/bits/kernel_stat.h
   LN include/bits/kernel_types.h
   LN include/bits/mathdef.h
   LN include/bits/setjmp.h
   LN include/bits/shm.h
   LN include/bits/sigcontextinfo.h
   LN include/bits/stackinfo.h
   LN include/bits/syscalls.h
   LN include/bits/uClibc_arch_features.h
   LN include/bits/wordsize.h
   LN include/sys/acct.h
   LN include/sys/epoll.h
   LN include/sys/inotify.h
   LN include/sys/prctl.h
   LN include/sys/ptrace.h
   LN include/sys/timerfd.h
   LN include/sys/elf.h
   LN include/sys/io.h
   LN include/sys/procfs.h
   LN include/sys/ucontext.h
   LN include/sys/user.h
   MKDIR libm/arm
   GEN include/bits/sysnum.h
cc1: error: unrecognized command line option "-mlittle-endian"
cc1: error: unrecognized command line option "-mlittle-endian"
ERROR: Could not generate syscalls.
Make sure that you have proper kernel headers.
Your .config in KERNEL_HEADERS="" was set to:
/usr/include/
make: *** [include/bits/sysnum.h] Error 1
+ exit 1

BTW, my environment settings...

[clfs at d430(Linux)]> cat ../.clfsrc
echo -n "Loading environment...CLFS"
set +h
umask 022
LC_ALL=POSIX;                    export LC_ALL
if [ "$(echo "$PATH"|grep "/cross-tools/bin:")" = "" ]
then
     PATH=/cross-tools/bin:$PATH;        export PATH
fi
unset CFLAGS
unset CXXFLAGS

CLFS=/mnt/clfs;                    export CLFS
CLFS_ABI="aapcs";                export CLFS_ABI
CLFS_ARCH=arm;                    export CLFS_ARCH
CLFS_ARM_ARCH="armv4t";                export CLFS_ARM_ARCH
CLFS_ARM_MODE="thumb";                export CLFS_ARM_MODE
CLFS_ENDIAN="little";                export CLFS_ENDIAN
CLFS_FLOAT="soft";                export CLFS_FLOAT
CLFS_FPU="";                    export CLFS_FPU
CLFS_HOST=$(echo ${MACHTYPE} | sed -e 's/-[^-]*/-cross/');export CLFS_HOST
CLFS_TARGET="arm-unknown-linux-gnueabi";    export CLFS_TARGET


Tried CLFS_ENDIAN="big" too.  Same result, just s/little/big/ in the 
error message.

BTW the target HW again is http://www.andahammer.com/mini2440-sdk/

> Toolchains are fun ;)
>

Yeah but I'm ready to be reading different chapters now. :)

-- 
Ron McDowell
San Antonio TX




More information about the Clfs-support mailing list