This is the mail archive of the
ecos-discuss@sources.redhat.com
mailing list for the eCos project.
Re: How to build big-endian arm libraries for the IntelXScale IXP425
- From: Gary Thomas <gary at mlbassoc dot com>
- To: Krishna Ganugapati <krishnag at marakicorp dot com>
- Cc: ecos-discuss at sources dot redhat dot com
- Date: Mon, 23 Feb 2004 13:38:19 -0700
- Subject: Re: [ECOS] How to build big-endian arm libraries for the IntelXScale IXP425
- Organization: MLB Associates
- References: <00a501c3fa49$082c1850$6401a8c0@KRISHNAGATEWAY>
On Mon, 2004-02-23 at 13:10, Krishna Ganugapati wrote:
> This might end up being a slightly lengthy email, but I need to chronicle
> what I attempted to do before posing my questions.
>
> I am attempting to build the default and redboot targets for the Intel
> IXDP425 board along with support for pci-ide.
>
> When I posed my first question about whether pci-ide for IXP425 support
> exists, Gary Thomas very kindly pointed me to using the anonymous cvs
> sources instead of the ecos20 sources.
>
> My machine now consists of the following
> 1) ecos-20 sources
> 2) ecos-20 toolchain for arm-elf
> 3) anonymous cvs sources for ecos
>
> When I attempted to build the default template for IXP425, I was
> successfully able to generate a libtarget.a both from the ecos20 and from
> the cvs repository using the ecos2.0 toolchain.
>
> When I attempted to build the redboot template for IXP425, in both cases
> (the cvs repository and the ecos2.0 sources), the build failed because the
> pre-built toolchain for ecos2.0 provides only little endian binaries and not
> big-endian binaries.(libgcc.a is only little endian and not big-endian)
>
> My quest now was about building big-endian arm libraries before I could
> build my redboot target.
>
> Minor diversion: At this stage (reluctant/lazy that I was to go straight to
> building my own toolchain, I googled the web to see if there was any
> shortcut to getting big-endian libraries). I actually found a May 2003
> posting from Gary Thomas about how to patch the makefile for the toolchain
> to get big-endian version of the libraries - (potential moral: a little
> knowledge is a dangerous thing :-)) Didn't find it the next day and sent
> nuisance mail to Gary who very kindly obliged and sent me the patch. In my
> head, I'm thinking that I have to apply this patch.
>
> I then decided to build my own toolchain. I followed the instructions to a
> "T" and also pulled down the three patches and applied them.
>
> a.. binutils-2.13.1-v850-hashtable.patch
> b.. gcc-3.2.1-arm-multilib.patch ------------> This should have been
> warning enough. Its 2004 - perhaps Gary's patch of May 2003 has already
> been folded appropriately into this patch... (speculative)
> c.. insight-5.3-tcl_win_encoding.patch
> The tools took some amount of time to build, but built flawlessly. All my
> tools were stored in /gnutools on my machine.
>
> I then fired up the configtool - changed the build path to /gnutools from
> /opt/ecos/gnutools and surprise I saw the message "/gnutools does not appear
> to contain the build tools - use this folder anyway?"
>
> I should have realized that saying yes to this popup would mean bad things
> would happen. I said "yes" and bad things happened. Nothing builds.:-(
>
> I then started fooling around with Gary's 2003 patch, got all confused, and
> then decided it was time to ask for help..
>
> Questions:
>
> Am I right in assuming that gcc-3.2.1-arm-multilib.patch that is provided
> with the toolchain sources is a patch that generates all necessary binaries
> and libraries for all variants of arm. More specifically, does this patch
> once applied force generation of binaries and libraries necessary for
> building a big-endian arm target for the Intel XScale IXP425? If this is
> correct, my potential moral is now a real moral..
>
> Can I therefore assume that my binaries were successfully built and my
> problem lies with understanding why the graphical user interface tool
> Configtool pops up the message "/gnutools does not appear to contain the
> build tools - use this folder anyway?"
>
> Could someone kindly explain to me why this message pops up - the toolchain
> is nicely installed in /gnutools - I point the "Build Path" to /gnutools -
> is there anything else I need to do?
By this, I assume you mean you specified "--prefix=/gnutools" when you
built the various tools?
What ended up in /gnutools?
>
> Could someone explain what gcc-3.2.1-arm-multilib.patch does? My reading of
> diff files is poor.
It adds additional combinations of options (big endian, thumb, etc) to
the build of the support libraries.
>
> Might I humbly suggest that the website be updated to indicate that ecos2.0
> toolchains do not provide the big-endian support for arm - presumably for
> size reasons and how to go about building a big-endian toolchain?
Size is indeed the major reason here. Adding big endian support at
least doubles the size of the libraries (which on my machine with full
support is 300MB)
>
> Thank you all in anticipation. Sorry for the lengthy post, but I thought (in
> the event my speculations turn out to be right) that my post might serve as
> a cautionary note as to why a little knowledge might not be a very smart way
> to do things..
>
> Kind regards,
> Krishna
> ___________________________________
> Krishna Ganugapati
> Maraki Corporation
> email: krishnag@marakicorp.com
--
Gary Thomas <gary@mlbassoc.com>
MLB Associates
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss