This is the mail archive of the ecos-discuss@sources.redhat.com 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]

Re: How to build big-endian arm libraries for the IntelXScale IXP425


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


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