This is the mail archive of the crossgcc@sources.redhat.com mailing list for the crossgcc project.

See the CrossGCC FAQ for lots more information.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

static linking error


Hello,

I've been able to build Xgcc toolchain for the ppc405 on a RH7.2 machine using the crosstool scripts, but the build has failed on a machine running RH9.

But that's not my question, just a statement, sorry. So I've gotten the cross-gcc toolchain up. I've put together a makefile, and I can compile code, looks fine. However when I try to statically link everything, I get errors, and I don't understand what the root of the problem is.

I've stuck my makefile and the output to the bottom of this email. The makefile is just a slight adaptation of what I found in K.Yaghmour's BELS book.

btw, for submitting makefils/code/compiler output, is it ok to just put it in an email (as I've seen most people do) or would it be preferred if it was thrown into a webpage and a link to it was used instead?

Thanks,

-Charles


***Makefile************************************************* # Tool names CROSS_COMPILE = ${TARGET}- AS = $(CROSS_COMPILE)as AR = $(CROSS_COMPILE)ar CC = $(CROSS_COMPILE)gcc CPP = $(CC) -E LD = $(CROSS_COMPILE)ld NM = $(CROSS_COMPILE)nm OBJCOPY = $(CROSS_COMPILE)objcopy OBJDUMP = $(CROSS_COMPILE)objdump RANLIB = $(CROSS_COMPILE)ranlib READELF = $(CROSS_COMPILE)readelf SIZE = $(CROSS_COMPILE)size STRINGS = $(CROSS_COMPILE)strings STRIP = $(CROSS_COMPILE)strip

export AS AR CC CPP LD NM OBJCOPY OBJDUMP RANLIB READELF SIZE STRINGS STRIP

# Build settings
CFLAGS        = -O2 -Wall -mcpu=ppc405
HEADER_OPS    =
LDFLAGS       =  -static -nostdlib -L${TARGET_PREFIX}/lib

# Installation variables
EXEC_NAME     = test
INSTALL       = install
INSTALL_DIR   = ${PRJROOT}/rootfs/bin

STARTUP_FILES = ${TARGET_PREFIX}/lib/crt1.o \
                ${TARGET_PREFIX}/lib/crti.o \
                ${PREFIX}/lib/gcc-lib/${TARGET}/3.2.3/crtbegin.o
END_FILES     = ${PREFIX}/lib/gcc-lib/${TARGET}/3.2.3/crtend.o \
                ${TARGET_PREFIX}/lib/crtn.o
LIBS          = -lc
OBJS          = test.o
LINKED_FILES  = ${STARTUP_FILES} ${OBJS} ${LIBS} ${END_FILES}

# Make rules
all: test

.c.o:
	$(CC) $(CFLAGS) $(HEADER_OPS) -c $<

test: ${OBJS}
	$(CC) -o $(EXEC_NAME) ${LINKED_FILES} $(LDFLAGS)

clean:
	rm -f *.o $(EXEC_NAME) core

distclean:
	rm -f *~
	rm -f *.o $(EXEC_NAME) core
*******************************************************

output:
ppc-405-linux-gnu-gcc -o test /home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/crt1.o /home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/crti.o /home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/lib/gcc-lib/ppc-405-linux-gnu/3.2.3/crtbegin.o test.o -lc /home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/lib/gcc-lib/ppc-405-linux-gnu/3.2.3/crtend.o /home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/crtn.o -static -nostdlib -L/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib


/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/libc.a(_itoa.o)(.text+0x16c): In function `_itoa':
: undefined reference to `__lshrdi3'
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/libc.a(_itoa.o)(.text+0x16c): In function `_itoa':
: relocation truncated to fit: R_PPC_REL24 __lshrdi3
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/libc.a(_itoa.o)(.text+0x184): In function `_itoa':
: undefined reference to `__lshrdi3'
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/libc.a(_itoa.o)(.text+0x184): In function `_itoa':
: relocation truncated to fit: R_PPC_REL24 __lshrdi3
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/libc.a(_itoa.o)(.text+0x2fc): In function `_itoa':
: undefined reference to `__ashldi3'
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/libc.a(_itoa.o)(.text+0x2fc): In function `_itoa':
: relocation truncated to fit: R_PPC_REL24 __ashldi3
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/libc.a(_itowa.o)(.text+0x170): In function `_itowa':
: undefined reference to `__lshrdi3'
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/libc.a(_itowa.o)(.text+0x170): In function `_itowa':
: relocation truncated to fit: R_PPC_REL24 __lshrdi3
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/libc.a(_itowa.o)(.text+0x188): In function `_itowa':
: undefined reference to `__lshrdi3'
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/libc.a(_itowa.o)(.text+0x188): In function `_itowa':
: relocation truncated to fit: R_PPC_REL24 __lshrdi3
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/libc.a(_itowa.o)(.text+0x300): In function `_itowa':
: undefined reference to `__ashldi3'
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/libc.a(_itowa.o)(.text+0x300): In function `_itowa':
: relocation truncated to fit: R_PPC_REL24 __ashldi3
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/libc.a(strtoll.o)(.text+0x2d0): In function `__strtoll_internal':
: undefined reference to `__udivdi3'
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/libc.a(strtoll.o)(.text+0x2d0): In function `__strtoll_internal':
: relocation truncated to fit: R_PPC_REL24 __udivdi3
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/libc.a(strtoll.o)(.text+0x2f0): In function `__strtoll_internal':
: undefined reference to `__umoddi3'
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/libc.a(strtoll.o)(.text+0x2f0): In function `__strtoll_internal':
: relocation truncated to fit: R_PPC_REL24 __umoddi3
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/libc.a(strtoull.o)(.text+0x2d0): In function `__strtoull_internal':
: undefined reference to `__udivdi3'
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/libc.a(strtoull.o)(.text+0x2d0): In function `__strtoull_internal':
: relocation truncated to fit: R_PPC_REL24 __udivdi3
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/libc.a(strtoull.o)(.text+0x2f0): In function `__strtoull_internal':
: undefined reference to `__umoddi3'
/home/skunkworks/crosscompiler/crosstool-0.10/result/ppc-405-linux-gnu/
gcc-3.2.3-glibc-2.2.5/ppc-405-linux-gnu/lib/libc.a(strtoull.o)(.text+0x2f0): In function `__strtoull_internal':
: relocation truncated to fit: R_PPC_REL24 __umoddi3
collect2: ld returned 1 exit status
make: *** [test] Error 1



------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sources.redhat.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]