This is the mail archive of the crossgcc@sourceware.cygnus.com mailing list for the crossgcc project.
See the CrossGCC FAQ for lots more infromation.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Terry Lee Tucker wrote: > I'm working on a RedHat 5.2 system trying to create a cross compiler > with a target of i486-pc-sco3.2v5.0. I have been working on this for > about 4 weeks now. I am using gcc-2.7.2.3 and binutils-2.9.1.0.15. I am > uisng these particular versions because they are the default on my > RedHat 5.2 system. Yes they may be the default for the host, but are they supported enough for the target? > First, I configure binutils with --target=i486-pc-sco3.2v5.0. I compile > and install it. The binutils-2.9.1 and even the current binutils snapshots may not support 'i[34567]86-*-sco3.2v5*' in any way, just 'i[34567]86-*-sco3.2*, which is the 'i386-coff'-only version. Your binutils should give the 'elf_i386' and 'i386coff' as supported formats. The SCO5 libs are elf. > Next, I configure gcc with --target=i486-pc-sco3.2v5.0. I compile and > install it. Ok, I'm excited; this thing may work! Using gcc-2.7.2.3 may not work quite well, the gcc-2.8.1, egcs-1.1.x and gcc-2.95.x should have much better support for the target peculiarities. E:\usr\local\i386-sco3.2v5\bin>gcc-sco5 -v Reading specs from \usr\local\lib\gcc-lib\i386-sco3.2v5\2_95.2\specs gcc version 2.95.2 19991024 (release) > No, it does not. When I try to compile a simple hello world program, I > get the following: > > [terry@esc terry]$ i486-pc-sco3.2v5.0-gcc -v -o hello hello.c > /usr/local/i486-pc-sco3.2v5.0/lib/libc.a(_findbuf.o)(.text+0x5d):_findbuf.c: > undefined reference to `st_fstat32' > /usr/local/i486-pc-sco3.2v5.0/lib/libc.a(_findbuf.o)(.text+0x6e):_findbuf.c: > undefined reference to `malloc' > /usr/local/i486-pc-sco3.2v5.0/lib/libc.a(values-Xm.o)(.data+0x8):values-Xm.c: > undefined reference to `_runtime_env' > > The libc.a referenced above is right off the SCO box. I have searched > every header, object file, and library on the SCO box using "strings" > and "grep". The value "_runtime_env" It does not show up anywhere except > libc.a referenced above. When living at this age of shared libs, the default library is of course the 'libc.so', not 'libc.a'. There surely is at least that '_runtime_env' : E:\usr\local\i386-sco3.2v5\lib>nm libc.so | grep _runtime_env U _runtime_env 0000000002010008 A _runtime_env > Does anyone have any idea why I'm getting these three errors? Perhaps your binutils don't support ELF at all, please see with /usr/local/i486-pc-sco3.2v5.0/bin/objdump --help or /usr/local/i486-pc-sco3.2v5.0/bin/ld -V or something which are the supported formats, emulations etc. Both ELF and COFF should be supported. Sometimes the native Linux binutils had them both. Please also try the '-Wl,-verbose' in the GCC command line, to see those tries during the linking... Cheers, Kai ------ Want more information? See the CrossGCC FAQ, http://www.objsw.com/CrossGCC/ Want to unsubscribe? Send a note to crossgcc-unsubscribe@sourceware.cygnus.com
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |