This is the mail archive of the crossgcc@sourceware.org mailing list for the crossgcc project.

See crosstool-NG 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]

Re: Need a cross compiler for very old PXA270-based system


On 17.04.2012 21:06, Martin Guy wrote:

> The quickest way would be to install a prebuilt toolchain, unless you
> are up for the challenge.

I had no idea building ARM toolchains would be such a pain. I don't
remember building Motorola 68k toolchains back in the late 90s being
anywhere near as complicated.

> 
> You'll find Debian packages of gcc 4.1, 4.2 and 4.3 arm-linux-gnu
> cross toolchains under
> http://www.emdebian.org/debian/pool/main/g/
> Instructions for installing them are on that site's main page and will
> work in Debian or Ubuntu systems.
> 
> They should be binary-compatible with your target. If you're not
> familiar with Debian systems get back to me and I'll tell you the
> mumble you need to chant at them to install them,

While using a pre-built toolchain sounds appealing, I don't think it
will work. According to the Debian documentation on the various ARM
ABIs, the old ABI will report the flags 0x0 with readelf -h; however,
the binaries/object files I have that run on this particular system
report 0x600 (which as far as I can tell means 'uses software floating
point using the VFP floating point format').

In the meantime, I've managed to compile gcc-3.4.6 by disabling c++
support (which I don't really need) and editing the spec file.
Unfortunately, this still didn't work because the linker now complains
about libfloat being missing. More googling leads me to believe my
problem was that the required floating point support is not compiled
into libgcc when configuring with --with-float=soft (and ld attempts to
link against the non-existant libfloat), but if this option is left out,
the object files are flagged as using hardware floating point. It also
seems I'm not the only person to run into this problem, and both
crosstool and crosstool-ng have patches. I applied the crosstool-ng
patch ('260-arm-softfloat.patch', with some modifications, as
crosstool-ng also applies other patches that I don't), used the
configure options of the original toolchain, and voila - it works ! The
compiler bug that caused me to go to all this trouble also seems to be gone.

With kind regards,
Eric
-- 
Dr. Eric Dönges                            doenges@mvtec.com
MVTec Software GmbH | Neherstr. 1 | 81675 München  | Germany
www.mvtec.com | Tel: +49 89 457695-0 | Fax: +49 89 457695-55
Geschäftsführer: Dr. Wolfgang Eckstein, Dr. Olaf Munkelt
Amtsgericht München HRB 114695

--
For unsubscribe information see http://sourceware.org/lists.html#faq


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