[uClibc] buildroot + uClibc + xscale???

Mark Rakes mrakes at vivato.net
Thu Jul 10 01:20:11 UTC 2003


Greetings.
I'm trying to build a buildroot-uClibc toolchain for an xscale platform.

I know this came up at least once in the past (see
http://www.uclibc.org/lists/uclibc/2003-June/008696.html),
but with no resolution that I can discover.

 From top-of-CVS buildroot, change ARCH to arm, and with the  
uClibc.config
below, I get the same results Patrick did:
make -C  ldso
make[2]: Entering directory  
`/home/mrakes/cvs/buildroot/build_arm/uClibc/ldso'
make -C ldso;
make[3]: Entering directory  
`/home/mrakes/cvs/buildroot/build_arm/uClibc/ldso/ldso'
echo "const char *_dl_progname=\""ld-uClibc.so.0"\";" > ldso.h
echo "#include \"arm/elfinterp.c\"" >> ldso.h
/home/mrakes/cvs/buildroot/build_arm/staging_dir/bin/arm-uclibc-gcc   
-Wall -Wstrict-prototypes -Wno-trigraphs -fno-strict-aliasing   
-fstrict-aliasing -Os    -march=xscale -fno-builtin -nostdinc -D_LIBC  
-I../../include -I.  
-I/home/mrakes/cvs/buildroot/build_arm/staging_dir/lib/gcc-lib/arm- 
linux/3.3/include -DNDEBUG -fPIC -I. -I./arm -I../libdl -c  
arm/resolve.S -o arm/resolve.o
cc1: error: bad value (xscale) for -march= switch
make[3]: *** [arm/resolve.o] Error 1

I know I get "farther" if I change the cpu line in the uclibc Makefile
to "-mcpu=xscale -mtune=xscale", but that breaks later on with some
"unsupported instruction" errors.

has anyone got this to build this before? Any hints? Is it so obvious I
can't see it? I've also included the gcc "dumpspecs" from the cross
compiler in case that will help somebody diagnose as well...

thanks,
-mark rakes

======================================================================== 
===

uClibc.config

#
# Automatically generated make config: don't edit
#

#
# Target Architecture Features and Options
#
HAVE_ELF=y
# ADD_LIBGCC_FUNCTIONS is not set
# CONFIG_GENERIC_ARM is not set
# CONFIG_ARM7TDMI is not set
# CONFIG_STRONGARM is not set
CONFIG_XSCALE=y
UCLIBC_HAS_MMU=y
UCLIBC_HAS_FLOATS=y
HAS_FPU=y
DO_C99_MATH=y
WARNINGS="-Wall"
KERNEL_SOURCE="/home/mrakes/cvs/buildroot/build_arm/linux"
C_SYMBOL_PREFIX=""
HAVE_DOT_CONFIG=y

#
# General Library Settings
#
DOPIC=y
HAVE_SHARED=y
BUILD_UCLIBC_LDSO=y
LDSO_LDD_SUPPORT=y
UCLIBC_CTOR_DTOR=y
# UCLIBC_PROFILING is not set
UCLIBC_HAS_THREADS=y
PTHREADS_DEBUG_SUPPORT=y
UCLIBC_HAS_LFS=y
# MALLOC is not set
MALLOC_930716=y
UCLIBC_DYNAMIC_ATEXIT=y
HAS_SHADOW=y
UCLIBC_HAS_REGEX=y
UNIX98PTY_ONLY=y
ASSUME_DEVPTS=y

#
# Networking Support
#
# UCLIBC_HAS_IPV6 is not set
UCLIBC_HAS_RPC=y
# UCLIBC_HAS_FULL_RPC is not set

#
# String and Stdio Support
#
UCLIBC_HAS_WCHAR=y
# UCLIBC_HAS_LOCALE is not set
# USE_OLD_VFPRINTF is not set

#
# Library Installation Options
#
SHARED_LIB_LOADER_PATH="/lib"
DEVEL_PREFIX="/home/mrakes/cvs/buildroot/build_arm/staging_dir"
SYSTEM_DEVEL_PREFIX="/home/mrakes/cvs/buildroot/build_arm/staging_dir"
DEVEL_TOOL_PREFIX="/home/mrakes/cvs/buildroot/build_arm/staging_dir/usr"

#
# uClibc hacking options
#
# DODEBUG is not set
# DOASSERTS is not set
# SUPPORT_LD_DEBUG is not set
# SUPPORT_LD_DEBUG_EARLY is not set

======================================================================== 
==============

jethro/home/mrakes/cvs/buildroot>  
./build_arm/staging_dir/bin/arm-uclibc-gcc -dumpspecs
*asm:
%{mbig-endian:-EB} %{mlittle-endian:-EL} %{mcpu=*:-mcpu=%*}  
%{march=*:-march=%*} %{mapcs-*:-mapcs-%*} %(subtarget_asm_float_spec)  
%{mthumb-interwork:-mthumb-interwork} %(subtarget_extra_asm_spec)
*asm_debug:
%{gstabs*:--gstabs}%{!gstabs*:%{g*:--gdwarf2}}
*asm_final:
*asm_options:
%a %Y %{c:%W{o*}%{!o*:-o %w%b%O}}%{!c:-o %d%w%u%O}
*invoke_as:
%{!S:-o %{|!pipe:%g.s} |
  as %(asm_options) %{!pipe:%g.s} %A }
*cpp:
%(cpp_cpu_arch)  
%(subtarget_cpp_spec)			%{mapcs-32:%{mapcs-26:								%e-mapcs-26 and  
-mapcs-32 may not be used  
together}}		%{msoft-float:%{mhard-float:							%e-msoft-float and  
-mhard_float may not be used  
together}}	%{mbig-endian:%{mlittle-endian:							%e-mbig-endian and  
-mlittle-endian may not be used together}}
*cpp_options:
%(cpp_unique_options) %1 %{m*} %{std*} %{ansi} %{W*&pedantic*} %{w}  
%{f*} %{O*} %{undef}
*cpp_debug_options:
%{d*}
*cpp_unique_options:
%{C:%{!E:%eGNU C does not support -C without using -E}} %{CC:%{!E:%eGNU  
C does not support -CC without using -E}} %{!Q:-quiet} %{nostdinc*}  
%{C} %{CC} %{v} %{I*} %{P} %I %{MD:-MD %{!o:%b.d}%{o*:%.d%*}}  
%{MMD:-MMD %{!o:%b.d}%{o*:%.d%*}} %{M} %{MM} %{MF*} %{MG} %{MP} %{MQ*}  
%{MT*} %{!E:%{!M:%{!MM:%{MD|MMD:%{o*:-MQ %*}}}}}  
%{!no-gcc:-D__GNUC__=%v1 -D__GNUC_MINOR__=%v2  
-D__GNUC_PATCHLEVEL__=%v3} %{!undef:%{!ansi:%{!std=*:%p}%{std=gnu*:%p}}  
%P} %{trigraphs} %{remap} %{g3:-dD} %{H} %C %{D*&U*&A*} %{i*} %Z %i  
%{E|M|MM:%W{o*}}
*trad_capable_cpp:
cc1 -E %{traditional|ftraditional|traditional-cpp:-traditional-cpp}
*cc1:
%{profile:-p}
*cc1_options:
%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are  
incompatible}} %1 %{!Q:-quiet} -dumpbase %B %{d*} %{m*} %{a*}  
-auxbase%{c|S:%{o*:-strip %*}%{!o*: %b}}%{!c:%{!S: %b}} %{g*} %{O*}  
%{W*&pedantic*} %{w} %{std*} %{ansi} %{v:-version} %{pg:-p} %{p} %{f*}  
%{undef} %{Qn:-fno-ident} %{--help:--help}  
%{--target-help:--target-help} %{!fsyntax-only:%{S:%W{o*}%{!o*:-o  
%b.s}}} %{fsyntax-only:-o %j} %{-param*}
*cc1plus:
*link_gcc_c_sequence:
%G %L %G
*endfile:
%{!shared:crtend.o%s} %{shared:crtendS.o%s} crtn.o%s
*link:
%{h*} %{version:-v}    %{b} %{Wl,*:%*}    %{static:-Bstatic}     
%{shared:-shared}    %{symbolic:-Bsymbolic}     
%{rdynamic:-export-dynamic}    %{!dynamic-linker: -dynamic-linker  
/lib/ld-uClibc.so.0}    -X    %{mbig-endian:-EB} -m armelf_linux -p
*lib:
%{pthread:-lpthread}    %{shared:-lc}     
%{!shared:%{profile:-lc_p}%{!profile:-lc}}
*libgcc:
%{msoft-float:-lfloat} -lgcc
*startfile:
%{!shared:      %{pg:gcrt1.o%s} %{!pg:%{p:gcrt1.o%s} 		        
%{!p:%{profile:gcrt1.o%s} 			 %{!profile:crt1.o%s}}}}    crti.o%s  
%{!shared:crtbegin.o%s} %{shared:crtbeginS.o%s}
*switches_need_spaces:
*predefines:
*cross_compile:
1
*version:
3.3
*multilib:
. ;
*multilib_defaults:
marm mlittle-endian mhard-float mapcs-32 mno-thumb-interwork
*multilib_extra:
*multilib_matches:
*multilib_exclusions:
*multilib_options:
*linker:
collect2
*link_libgcc:
%D
*md_exec_prefix:
*md_startfile_prefix:
*md_startfile_prefix_1:
*startfile_prefix_spec:
*cpp_cpu_arch:
%{march=arm2:-D__ARM_ARCH_2__} %{march=arm250:-D__ARM_ARCH_2__}  
%{march=arm3:-D__ARM_ARCH_2__} %{march=arm6:-D__ARM_ARCH_3__}  
%{march=arm600:-D__ARM_ARCH_3__} %{march=arm610:-D__ARM_ARCH_3__}  
%{march=arm7:-D__ARM_ARCH_3__} %{march=arm700:-D__ARM_ARCH_3__}  
%{march=arm710:-D__ARM_ARCH_3__} %{march=arm720:-D__ARM_ARCH_3__}  
%{march=arm7100:-D__ARM_ARCH_3__} %{march=arm7500:-D__ARM_ARCH_3__}  
%{march=arm7500fe:-D__ARM_ARCH_3__} %{march=arm7m:-D__ARM_ARCH_3M__}  
%{march=arm7dm:-D__ARM_ARCH_3M__} %{march=arm7dmi:-D__ARM_ARCH_3M__}  
%{march=arm7tdmi:-D__ARM_ARCH_4T__} %{march=arm8:-D__ARM_ARCH_4__}  
%{march=arm810:-D__ARM_ARCH_4__} %{march=arm9:-D__ARM_ARCH_4T__}  
%{march=arm920:-D__ARM_ARCH_4__} %{march=arm920t:-D__ARM_ARCH_4T__}  
%{march=arm9tdmi:-D__ARM_ARCH_4T__} %{march=strongarm:-D__ARM_ARCH_4__}  
%{march=strongarm110:-D__ARM_ARCH_4__}  
%{march=strongarm1100:-D__ARM_ARCH_4__}  
%{march=xscale:-D__ARM_ARCH_5TE__} %{march=xscale:-D__XSCALE__}  
%{march=armv2:-D__ARM_ARCH_2__} %{march=armv2a:-D__ARM_ARCH_2__}  
%{march=armv3:-D__ARM_ARCH_3__} %{march=armv3m:-D__ARM_ARCH_3M__}  
%{march=armv4:-D__ARM_ARCH_4__} %{march=armv4t:-D__ARM_ARCH_4T__}  
%{march=armv5:-D__ARM_ARCH_5__} %{march=armv5t:-D__ARM_ARCH_5T__}  
%{march=armv5e:-D__ARM_ARCH_5E__} %{march=armv5te:-D__ARM_ARCH_5TE__}  
%{!march=*:  %{mcpu=arm2:-D__ARM_ARCH_2__}   
%{mcpu=arm250:-D__ARM_ARCH_2__}  %{mcpu=arm3:-D__ARM_ARCH_2__}   
%{mcpu=arm6:-D__ARM_ARCH_3__}  %{mcpu=arm600:-D__ARM_ARCH_3__}   
%{mcpu=arm610:-D__ARM_ARCH_3__}  %{mcpu=arm7:-D__ARM_ARCH_3__}   
%{mcpu=arm700:-D__ARM_ARCH_3__}  %{mcpu=arm710:-D__ARM_ARCH_3__}   
%{mcpu=arm720:-D__ARM_ARCH_3__}  %{mcpu=arm7100:-D__ARM_ARCH_3__}   
%{mcpu=arm7500:-D__ARM_ARCH_3__}  %{mcpu=arm7500fe:-D__ARM_ARCH_3__}   
%{mcpu=arm7m:-D__ARM_ARCH_3M__}  %{mcpu=arm7dm:-D__ARM_ARCH_3M__}   
%{mcpu=arm7dmi:-D__ARM_ARCH_3M__}  %{mcpu=arm7tdmi:-D__ARM_ARCH_4T__}   
%{mcpu=arm8:-D__ARM_ARCH_4__}  %{mcpu=arm810:-D__ARM_ARCH_4__}   
%{mcpu=arm9:-D__ARM_ARCH_4T__}  %{mcpu=arm920:-D__ARM_ARCH_4__}   
%{mcpu=arm920t:-D__ARM_ARCH_4T__}  %{mcpu=arm9tdmi:-D__ARM_ARCH_4T__}   
%{mcpu=strongarm:-D__ARM_ARCH_4__}   
%{mcpu=strongarm110:-D__ARM_ARCH_4__}   
%{mcpu=strongarm1100:-D__ARM_ARCH_4__}   
%{mcpu=xscale:-D__ARM_ARCH_5TE__}  %{mcpu=xscale:-D__XSCALE__}   
%{!mcpu*:%(cpp_cpu_arch_default)}}
*cpp_cpu_arch_default:
-D__ARM_ARCH_4T__
*subtarget_cpp_spec:
%{posix:-D_POSIX_SOURCE} %{fPIC:-D__PIC__ -D__pic__} %{fpic:-D__PIC__  
-D__pic__}
*subtarget_extra_asm_spec:
*subtarget_asm_float_spec:
%{mapcs-float:-mfloat} %{msoft-float:-mno-fpu}
*link_command:
%{!fsyntax-only:%{!c:%{!M:%{!MM:%{!E:%{!S:    %(linker) %l %X %{o*}  
%{A} %{d} %{e*} %{m} %{N} %{n} %{r} %{s} %{t}    %{u*} %{x} %{z} %{Z}  
%{!A:%{!nostdlib:%{!nostartfiles:%S}}}    %{static:} %{L*}  
%(link_libgcc) %o %{!nostdlib:%{!nodefaultlibs:%(link_gcc_c_sequence)}}  
    %{!A:%{!nostdlib:%{!nostartfiles:%E}}} %{T*} }}}}}}




More information about the uClibc mailing list