From: Paul Allen <paula@atc.boeing.com>
Subject: Re: IMPORTANT: gcc 2.1, libc.a 2.1a and Linux
Reply-To: paula@atc.boeing.com
Organization: The Internet
Date: Tue, 7 Apr 1992 07:00:08 GMT

Greetings,

I sent mail to Hongjiu Lu (hlu@yoda.eecs.wsu.edu) asking for
clarification on the use of the new 2.1 compiler with the new
ld versus the old ld.  I wasn't sure how to get from 0.95a to
a usable setup with the new compiler.  I got the following 
helpful reply, along with a request to post it to the net.  It
answered my questions.  I hope it helps others.

Paul Allen
pallen@atc.boeing.com

----- Begin Included Message -----


| 
| H.J.,
| 
| You wrote:
| 
| >I heard there were some problems with binaries linked with my new ld.
| >That is caused by the new a.out.h introduced with Linus's second patch.
| >The new a.out.h is compatible with the old one, But not vice versa.
| 
| This is unfortunate, but I'm following you so far.
| 
| >My new ld (binutils.tar.Z) uses the new a.out.h. The binaries
| >linked by it can only run under the kernel with Linus's second patch,
| >which has to be built by the old ld.
| 
| OK, let's see if I've got it straight to this point.  Binaries linked
| by the new ld will not run under the 0.95a kernel, so I need to apply
| the patches to the sources and compile a new kernel.  Will the new 2.1
| gcc run under the 0.95a kernel?  Or do I need the 1.40 gcc in order to

The new gcc 2.1 is compiled with old ld. So it runs fine.

| get myself to a point where I can use 2.1?  (I'm getting ready to move
| about 25Mb of Linux stuff home on floppies, and I'd like to get it
| right the first time.  :-))
| 

Use my old ld and gcc 2.1 (beta) to compile 0.95a kernel with Linus's
second patch applied. You also need my 2.1kernel.tar.Z and 2.1ps.tar.Z
to compile kernel.

| >Any programs using the old a.out.h, e.g., gdb, will not recognize the
| >binaries linked by the new ld. You can either use the old ld or use
| >the new version compiled with the new a.out.h.
| 
| Hmmm...  Do you mean the new ld compiled with the new a.out.h?  Or the

Yes.

| new gdb compiled with the new a.out.h?  Or a new version of the program

Get new gdb compiled with the new a.out.h to debug programs linked with
my new ld.

| being debugged by gdb compiled with the new a.out.h?  Do I sound
| confused?  (Well, I guess I am.  :-))
| 

You do. What I mean is old gdb will only work with programs linked
with old ld. To debug  programs linked with new ld, you must use gdb
compiled with the nnew a.out.h.

| >>From Linus's second patch, we are moving to VFS. As a result, there
| >will be some changes in libc.a. That means next release of gcc 2.x and
| >libs will not run under the kernel below Linus's second patch to 0.95a.
| >I strongly recommend you move to 0.95a with Linus's second patch if you
| >haven't done so.
| 
| That's fair warning.  Thanks.  If I'm the only confused soul out here,
| could you send me a note clarifying things for me.  If I'm not the only
| confused soul, perhaps you could post a short note to the newsgroup?
| 
| Thanks for all the work you've done on gcc.  It is appreciated!
| 
| Paul Allen
| pallen@atc.boeing.com
| 

Could you please forword this to news groups?

H.J.
-- 
School of EECS				Internet: hlu@eecs.wsu.edu
Washington State University		BITNET:   60935893@WSUVM1.BITNET
Pullman, WA 99164			Phone:    (509) 335-6470 (O)
USA						  (509) 334-6315 (H)


----- End Included Message -----