This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


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

Re: egcs, Irix6 linking o32-libiberty.a with n32-stage2/3 binaries ...


 > From: Jeffrey A Law <law@hurl.cygnus.com>
 > 
 >   > If we add -n32, people that have old versions of the SGI C compiler won't
 >   > be able to build egcs anymore.  However, I suspect that few people have
 >   > these old and buggy SGI C compilers anymore.
 > We can always have autoconf test for -n32 when building with the native
 > compiler and fall back to something else.

	But what exactly do you fall back on if -n32 doesn't work?  I.e. 
assuming I have a pre-7.1 compiler, I am now unable to build egcs when we
try to link with libiberty.a (assuming the redundant libiberty functions
had been out of the gcc sources.)


 > Is there a way to test for specific versions of the SGI compiler?  Do we
 > even want to worry about beta versions of the SGI compiler?

	Let's say we can test for compiler versions.  AFAICT, we have
nothing to offer when we detect the pre-7.1 compilers.  (Unless I'm
missing something....)


 > As Jim mentioned, the config/mh-* stuff is pretty hokey and needs a rethink.

	Agreed.



 >   > 	5.  Maybe another way to go is to build libiberty.a for each stage.
 >   > 	We could build a symlink tree in egcs/gcc/libiberty and move it into
 >   > 	stageN so it is rebuilt every stage.  This would solve the linking
 >   > 	problem because libiberty.a would use the same ABI as the binaries it
 >   > 	is linked with.  It would also get us optimized versions of the
 >   > 	functions in there even when cc is used for stage1.
 >   > 
 >   > We already have an N32 libiberty in $target/libiberty.  This is needed
 >   > because libstdc++/libio use libiberty, and they will be N32 code.  This
 >   > does not get built until after gcc has bootstrapped currently.  It might
 >   > be possible to build it after the stage1 gcc build, and then link the
 >   > stage2/stage3 compilers with it.  This would require rewriting the
 >   > bootstrap rule in the toplevel Makefile.
 > Jim's actually got a good point.  Doing this would require a fair amount of
 > surgery on the build process, but if other options don't pan out, I guess
 > it's what we'll have to do.

	I'm not sure its so hard.  See my previous email.  I think we
can ignore the $target stuff.  We can simply run symlink-tree on
../libiberty and build that directory at each stage. 


 > Still I think it is best if we can force the stage1 compiler to be link
 > compatible with the stage2/stage3 compilers.
 > jeff

	Yes, I would agree if (and only if) we could make cc -n32 work
for all users.  Otherwise we cut adrift a small group who previously
could have used egcs. 

		--Kaveh
--
Kaveh R. Ghazi			Engagement Manager / Project Services
ghazi@caip.rutgers.edu		Icon CMT Corp.


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