Subject: Re: steps to upgrade to ELF (was Re: NOTICE: i386 port switched to
To: Rob Windsor <windsor@warthog.com>
From: David Brownlee <abs@anim.dreamworks.com>
List: port-i386
Date: 07/06/1999 19:36:58
	Seeing all these updates go by....

	Could someone submit a definitive set of steps and I'll get it put
	up on www.netbsd.org for everyone.

	Thanks

		David/absolute

    "Consistency is the last refuge of the unimaginative." - Oscar Wilde

On Tue, 6 Jul 1999, Rob Windsor wrote:

> Verily did Paul Goyette write:
> 
> > Yep - that was it.
> > 
> > So now, the instruction sequence seems to be:
> 
> > 0)  Get the -current sources
> 
> > 1)  Copy all the shared objects from /usr/lib to /emul/aout/usr/lib
> 
> > 2)  Boot from a kernel with EXEC_ELF, EXEC_AOUT, and COMPAT_AOUT all
> >     defined
> 
> > 3)  setenv DESTDIR /../.
> >     setenv OBJECT_FMT ELF
> 
> change to:
> 
>   3)  setenv DESTDIR /../../.
>       # Need to compensate for "/emul/aout" (two directories deep)
>       setenv OBJECT_FMT ELF
> 
> > 4)  cd /usr/src; make includes
> 
> > 5)  cd /usr/src/share/mk; make install
> 
> > 6)  setenv BOOTSTRAP_ELF 1
> 
>   6.5) cd /usr/src/gnu/lib/libbfd && make cleandir && make bfd.h
>        # (at least if you're going from straight 1.4)
> 
> > 7)  cd /usr/src/gnu/usr.bin
> >     for i in binutils.* gas.new ld.new egcs/*; do
> > 	(cd $i; make cleandir; make depend; make; \
> > 	 setenv OBJECT_FMT a.out; make; setenv OBJECT_FMT ELF)
> >     done
> >     #	(expect the link in the first make to fail)
> 
> change to:
> 
>   7)  cd /usr/src/gnu/usr.bin
>       for i in binutils/common binutils/* gas.new ld.new egcs/common egcs/* ; do
>           (cd $i ; make cleandir ; make depend ; make ; \
>                   setenv OBJECT_FMT a.out ; make ; setenv OBJECT_FMT ELF )
>       done
>       # (expect the link in the first make to fail)
>       # you need to build the 'common' subdirs early
> 
> > 8)  for i in binutils gas.new ld.new egcs; do
> >     (cd $i, make install)
> 
> > 9)  cd /usr/src/libexec/ld.elf_so; 			<======new
> >     make cleandir; make depend; make; make install	<======new
> 
> > 10) cd /usr/src/lib/csu
> >     make cleandir; make depend; make; make install
> 
> 10.5) cd /../..
>       mkdir etc-old ; pax -rw -pe etc etc-old
> 
> > 11) cd /usr/src
> >     make build
> 
> It blew up on me.  I think I corrupted my crt and/or ld, so I'm now ftp'ng
> down the binaries.  bleh.  (trying to upgrade from straight 1.4 to
> -current/ELF)
> 
> -- Rob
> ----------------------------------------
> Internet: windsor@warthog.com                             __o
> Life: Rob@Carrollton.Texas.USA.Earth                    _`\<,_
>                                                        (_)/ (_)
> The weather is here, wish you were beautiful.
>