Assembler error when trying to build GCC

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



/cygdrive/c/Projects/toolchains/gnuarm/gcc-build/./gcc/xgcc -B/cygdrive/c/Projects/toolchains/gnuarm/gcc-build/./gcc/ -B/usr/local/toolchains/arm-elf/bin/ -B/usr/local/toolchains/arm-elf/lib/ -isystem /usr/local/toolchains/arm-elf/include -isystem /usr/local/toolchains/arm-elf/sys-include -O2  -O2 -g -O2  -DIN_GCC -DCROSS_COMPILE   -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -Wold-style-definition  -isystem ./include  -Dinhibit_libc -fno-inline -g  -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED  -I. -I. -I../../gcc-4.2.0/gcc -I../../gcc-4.2.0/gcc/. -I../../gcc-4.2.0/gcc/../include -I../../gcc-4.2.0/gcc/../libcpp/include  -I../../gcc-4.2.0/gcc/../libdecnumber -I../libdecnumber -fleading-underscore -DL_udivsi3 -xassembler-with-cpp -c ../../gcc-4.2.0/gcc/config/arm/lib1funcs.asm -o libgcc/under/_udivsi3.o
../../gcc-4.2.0/gcc/config/arm/lib1funcs.asm: Assembler messages:
../../gcc-4.2.0/gcc/config/arm/lib1funcs.asm:754: Error: undefined symbol `__udivsi3' in operation
../../gcc-4.2.0/gcc/config/arm/lib1funcs.asm:754: Error: can't resolve `.text' {.text section} - `__udivsi3' {*UND* section}
make[2]: *** [libgcc/under/_udivsi3.o] Error 1
make[2]: Leaving directory `/cygdrive/c/Projects/toolchains/gnuarm/gcc-build/gcc'
make[1]: *** [stmp-multilib] Error 2
make[1]: Leaving directory `/cygdrive/c/Projects/toolchains/gnuarm/gcc-build/gcc'
make: *** [all-gcc] Error 2

Configure line is:

../gcc-4.2.0/configure --target=arm-elf --prefix=/usr/local/toolchains --enable-interwork --enable-multilib --enable-languages="c,c++,objc,obj-c++,java" --with-newlib --with-headers=../newlib-1.15.0/newlib/libc/include --with-cpu=arm946e-s --with-fpu=fpa

gcc/config/t-arm-elf:
=============================================================================================
LIB1ASMSRC = arm/lib1funcs.asm
LIB1ASMFUNCS = _udivsi3 _divsi3 _umodsi3 _modsi3 _dvmd_tls _bb_init_func _call_via_rX _interwork_call_via_rX

# We want fine grained libraries, so use the new code to build the
# floating point emulation libraries.
FPBIT = fp-bit.c
DPBIT = dp-bit.c

fp-bit.c: $(srcdir)/config/fp-bit.c
        echo '#define FLOAT' > fp-bit.c
        echo '#ifndef __ARMEB__' >> fp-bit.c
        echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
        echo '#endif' >> fp-bit.c
        cat $(srcdir)/config/fp-bit.c >> fp-bit.c

dp-bit.c: $(srcdir)/config/fp-bit.c
        echo '#ifndef __ARMEB__' > dp-bit.c
        echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c
        echo '#define FLOAT_WORD_ORDER_MISMATCH' >> dp-bit.c
        echo '#endif' >> dp-bit.c
        cat $(srcdir)/config/fp-bit.c >> dp-bit.c


MULTILIB_OPTIONS     = marm/mthumb
MULTILIB_DIRNAMES    = arm thumb
MULTILIB_EXCEPTIONS  =

MULTILIB_OPTIONS     += mlittle-endian/mbig-endian
MULTILIB_DIRNAMES    += le be
MULTILIB_EXCEPTIONS  =
MULTILIB_MATCHES     = mbig-endian=mbe mlittle-endian=mle

MULTILIB_OPTIONS    += mhard-float/msoft-float
MULTILIB_DIRNAMES   += fpu soft
MULTILIB_EXCEPTIONS += *mthumb/*mhard-float*

# MULTILIB_OPTIONS    += mapcs-32/mapcs-26
# MULTILIB_DIRNAMES   += 32bit 26bit
# MULTILIB_EXCEPTIONS += *mthumb/*mapcs-26*

MULTILIB_OPTIONS    += mno-thumb-interwork/mthumb-interwork
MULTILIB_DIRNAMES   += normal interwork
MULTILIB_EXCEPTIONS += *mapcs-26/*mthumb-interwork*

MULTILIB_OPTIONS    += fno-leading-underscore/fleading-underscore
MULTILIB_DIRNAMES   += elf under

MULTILIB_OPTIONS    += mcpu=arm7
MULTILIB_DIRNAMES   += nofmult
MULTILIB_EXCEPTIONS += *mthumb*/*mcpu=arm7*
# Note: the multilib_exceptions matches both -mthumb and
# -mthumb-interwork
#
# We have to match all the arm cpu variants which do not have the
# multiply instruction and treat them as if the user had specified
# -mcpu=arm7.  Note that in the following the ? is interpreted as
# an = for the purposes of matching command line options.
# FIXME: There ought to be a better way to do this.
MULTILIB_MATCHES    += mcpu?arm7=mcpu?arm7d
MULTILIB_MATCHES    += mcpu?arm7=mcpu?arm7di
MULTILIB_MATCHES    += mcpu?arm7=mcpu?arm70
MULTILIB_MATCHES    += mcpu?arm7=mcpu?arm700
MULTILIB_MATCHES    += mcpu?arm7=mcpu?arm700i
MULTILIB_MATCHES    += mcpu?arm7=mcpu?arm710
MULTILIB_MATCHES    += mcpu?arm7=mcpu?arm710c
MULTILIB_MATCHES    += mcpu?arm7=mcpu?arm7100
MULTILIB_MATCHES    += mcpu?arm7=mcpu?arm7500
MULTILIB_MATCHES    += mcpu?arm7=mcpu?arm7500fe
MULTILIB_MATCHES    += mcpu?arm7=mcpu?arm6
MULTILIB_MATCHES    += mcpu?arm7=mcpu?arm60
MULTILIB_MATCHES    += mcpu?arm7=mcpu?arm600
MULTILIB_MATCHES    += mcpu?arm7=mcpu?arm610
MULTILIB_MATCHES    += mcpu?arm7=mcpu?arm620

EXTRA_MULTILIB_PARTS = crtbegin.o crtend.o crti.o crtn.o

# If EXTRA_MULTILIB_PARTS is not defined above then define EXTRA_PARTS here
# EXTRA_PARTS = crtbegin.o crtend.o crti.o crtn.o

LIBGCC = stmp-multilib
INSTALL_LIBGCC = install-multilib

# Currently there is a bug somewhere in GCC's alias analysis
# or scheduling code that is breaking _fpmul_parts in fp-bit.c.
# Disabling function inlining is a workaround for this problem.
TARGET_LIBGCC2_CFLAGS = -Dinhibit_libc -fno-inline

# Assemble startup files.
$(T)crti.o: $(srcdir)/config/arm/crti.asm $(GCC_PASSES)
        $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
        -c -o $(T)crti.o -x assembler-with-cpp $(srcdir)/config/arm/crti.asm

$(T)crtn.o: $(srcdir)/config/arm/crtn.asm $(GCC_PASSES)
        $(GCC_FOR_TARGET) $(GCC_CFLAGS) $(MULTILIB_CFLAGS) $(INCLUDES) \
        -c -o $(T)crtn.o -x assembler-with-cpp $(srcdir)/config/arm/crtn.asm
===================================================================================


Any ideas what the error could be?
Thanks,
- Alex


[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux