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

Ron McDowell rcm at fuzzwad.org
Tue Jul 24 20:12:03 PDT 2012


On 7/24/12 1:24 PM, Andrew Bradford wrote:
> On Tue, 24 Jul 2012 13:26:30 -0400
> Andrew Bradford<andrew at bradfordembedded.com>  wrote:
>
>> On Fri, 20 Jul 2012 17:16:18 -0500
>> Ron McDowell<rcm at fuzzwad.org>  wrote:
>>
>>> On 7/20/12 1:32 PM, Andrew Bradford wrote:
>>>> On Fri, 20 Jul 2012 12:57:42 -0500
>>>> Ron McDowell<rcm at fuzzwad.org>   wrote:
>>>>
>>>> What's the output of the 'env' command?  That's more informative than
>>>> your rc file.
>>> [clfs at d430(Linux)]>  env
>>> CLFS_HOST=i486-cross-linux-gnu
>>> TERM=xterm-color
>>> CLFS_TARGET=armv4t-unknown-linux-uclibc
>> You can't do this.  Set to "armv4t-unknown-linux-uclibceabi" if you want
>> to use EABI (aapcs or aapcs-linux).  If you don't, you'll hit the "FPA
>> isn't supported in aapcs" issue later.
>>
>>> CLFS_FPU=
>>> CLFS_ARM_ARCH=armv4t
>>> CLFS_ARM_MODE=thumb
>> Set to "arm".
>>
>>> CLFS=/mnt/clfs
>>> PATH=/mnt/clfs/cross-tools/bin:/bin:/usr/bin
>>> PWD=/mnt/clfs/sources/Embed
>>> EDITOR=/usr/bin/vi
>>> CLFS_ARCH=arm
>>> PS1=\w\n[\u@\h(Linux)]>
>>> SHLVL=1
>>> HOME=/home/clfs
>>> CLFS_ABI=aapcs
>> Use "aapcs-linux" instead.  4 byte enums don't cost more but may save
>> you some trouble down the road.
>>
>>> CLFS_ENDIAN=little
>>> CLFS_FLOAT=soft
>>> HISTFILE=/home/clfs/.sh_history
>>> _=/usr/bin/env
>>> OLDPWD=/mnt/clfs/sources
>> I'm working on the "cannot compute suffix of object files" issue,
>> hopefully I'll have something useful soon.
> With those tweaks (and renaming my
> ${CLFS}/cross-tools/armv4t-unknown-linux-uclibc directory to be
> ${CLFS}/cross-tools/armv4t-unknown-linux-uclibceabi), I can build gcc
> 4.6.1 without anything put the softfloat patch.  The "cannot compute
> suffix" problem goes away on its own.
>
> None of the env vars I said to change above get used for anything
> important until gcc (binutils uses the triplet but just for the
> directory name, I think).  Although, rebuilding binutils after you
> change your env may not be a bad idea in the long run, there may be tiny
> differences that bite you later.
>
> Try changing those env in your .bashrc, then logging out and back in
> (as login shell) as your clfs user.  Delete your gcc-build directory
> and do the configure over again.
>
> -Andrew

Starting with an empty $CLFS, and with this env:

[clfs at d430(Linux)]> env
CLFS_HOST=i486-cross-linux-gnu
TERM=xterm-color
CLFS_TARGET=armv4t-unknown-linux-uclibceabi
CLFS_FPU=
CLFS_ARM_ARCH=armv4t
CLFS_ARM_MODE=arm
CLFS=/mnt/clfs
PATH=/mnt/clfs/cross-tools/bin:/bin:/usr/bin
PWD=/mnt/clfs/sources/Embed
CLFS_ARCH=arm
EDITOR=/usr/bin/vi
OTYP=Linux
PS1=\w\n[\u@\h(Linux)]>
HOME=/home/clfs
SHLVL=1
CLFS_ABI=aapcs-linux
CLFS_ENDIAN=little
CLFS_FLOAT=soft
HISTFILE=/home/clfs/.sh_history
_=/usr/bin/env

It still craps out in the first pass at gcc-4.6.1...

+ 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?]: 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/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


-- 
Ron McDowell
San Antonio TX




More information about the Clfs-support mailing list