[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