This is the mail archive of the ecos-discuss@sourceware.org mailing list for the eCos project.


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

synth.ld (GCC 3.2.1) question


Hello,

Sometimes, I use the i386-elf-gcc (GCC 3.2.1) from the public
ecoscentric toolchain for I386 to build/debug some test using the eCos
synth target.

AFAIK, they don't recommend to use native GCC for that. The synth.ld
script (hal/synth/arch/current/src/synth.ld) contains a point

#if (__GNUC__ >= 3)
GROUP(libtarget.a libgcc.a libsupc++.a libgcc_eh.a)
#else
GROUP(libtarget.a libgcc.a)
#endif

According a ChangeLog, that was Jonathan Larmour's tweak.

But their GCC 3.2.1 has no libgcc_eh.a at all:

~/ecos/gnutools/i386-elf/i386-elf/lib/libcygmon.a
~/ecos/gnutools/i386-elf/i386-elf/lib/libsupc++.a
~/ecos/gnutools/i386-elf/i386-elf/lib/libstdc++.a
~/ecos/gnutools/i386-elf/i386-elf/lib/libnosys.a
~/ecos/gnutools/i386-elf/lib/gcc-lib/i386-elf/3.2.1/libgcc.a

So, I have to fix the GROUP description in the result .ld script
(install/lib/target.ld) every time to build the test, i.e. to replace
the line

GROUP(libtarget.a libgcc.a libsupc++.a libgcc_eh.a)

by

GROUP(libtarget.a libgcc.a libsupc++.a libgcc.a)

Well, that isn't an issue for the sed, but...

Question: Do we need to change that condition in the synth.ld to check
the GCC minor version to fix the problem? Does somebody mess that too?

The GCC spec is

Reading specs from /home/sg/ecos/gnutools/i386-elf/bin/../lib/gcc-lib/i386-elf/3.2.1/specs
Configured with: /home/demonweb/tools/ecos-gnutools-v1.4/r2/i386-elf/x86_linux_lsb1_3/tar_bz2/source/gcc-3.2.1/configure --target=i386-elf --prefix=/home/demonweb/tools/ecos-gnutools-v1.4/r2/i386-elf/x86_linux_lsb1_3/tar_bz2/opt/ecos/gnutools/i386-elf --enable-languages=c,c++ --with-gnu-as --with-gnu-ld --with-newlib --with-gxx-include-dir=/home/demonweb/tools/ecos-gnutools-v1.4/r2/i386-elf/x86_linux_lsb1_3/tar_bz2/opt/ecos/gnutools/i386-elf/i386-elf/include
Thread model: single
gcc version 3.2.1

The ecosconfig version is

ecosconfig 2.0 (May  9 2003 09:45:47)
Copyright (c) 2002 Red Hat, Inc.

My usual steps to build any test are

1. Build libtarget.a

ecosconfig new linux <template>
ecosconfig tree
make -s ECOS_COMMAND_PREFIX=i386-elf-

2. Fix `install/lib/target.ld' (as it was described above)

3. Make the test

Thanks.

-- Sergei


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss


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