This is the mail archive of the crossgcc@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]

Re: problems w/egcs-1.1.2 linux-to-sunos4 cross


fred anger wrote:

> After previous failed attepts, it was suggested I copy the target
> headers and libraries to $prefix/$target/include and lib.  I did this,
> and it doesn't help.  A coworker and I sat and wondered why this should
> even be necessary, as the executable compiler we're trying to build is
> running on Linux, so why should it be built and linked with sunos
> headers and libraries?  Perhaps I completely missed something?  I've
> read the FAQ, and it doesn't seem to suggest this is necessary either.
> Can someone straighten me out on this?

I "think" the cross-compiler needs to know something about the target
architecture, OS or ABI.  Some of this information is in the target
headers.  I think that limits.h might be one of those.  I know that when
building the powerpc-eabi cross-compiler, the build would barf because it
couldn't find limits.h.  This is fixed by preinstalling newlib headers or
using the --with-newlib and the newlib symbolic link trick.


> Anyway, here's what I'm doing.  I moved to a new machine (RH 6.0) and
> tried again.  I configured binutils-2.9.1 using
> --program-prefix="sunos4-" and --target="sparc-sun-sunos4", built it and
> installed it, no problem.  Then I untar the egcs-1.1.2 package, create a
> separate directory for the build, cd to that separate directory, and
> configure the egcs cross using the same options as I did with binutils.
> Then I type 'make cross', and it starts building stuff, but gets to a
> point where it's trying to use xgcc (from my build directory) to compile
> egcs-1.1.2/gcc/libgcc2.c.  It is failing because it can't find stdlib.h
> and unistd.h.  On this system, those headers are in /usr/include,
> however that directory doesn't seem to be in the include path of xgcc.
> Should it be?  If so, how can I get it in there?  Am I supposed to be
> editing the Makefile?  I'll include the relavent error output at the end
> of this message.

/usr/local/src/builds/cross/egcs/gcc/xgcc -print-search-dirs will show you
what the inbuilt search directories that xgcc knows about.  Again, checkout
your target headers and see if there is stdlib.h and unistd.h and make sure
there in one of the paths listed in your -print-search-dirs output.
$prefix/$target/include is the place I would probably use.  libgcc is a
target library so would need to include the target headers rather that your
build host's headers.


> Also, I'm wondering when the FAQ will be updated for egcs.  I saw some
> comments in there about "Cygnus releases", but I'm not sure if that
> meant egcs.  If so, there isn't much information there, and it's kinda
> confusing.

Yes, it is very out of date.  I enquired about getting it updated some time
ago.  There was a bit of interest but Scott Howard is obviously very busy.
I think it is up to the cross-gcc community to write up our additions and
experiences and submit them to Scott.  He can edit them or do what ever is
necessary to update the FAQ.

Brendan Simon.


_______________________________________________
New CrossGCC FAQ: http://www.objsw.com/CrossGCC
_______________________________________________
To remove yourself from the crossgcc list, send
mail to crossgcc-request@cygnus.com with the
text 'unsubscribe' (without the quotes) in the
body of the message.

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