Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Oct 1998 21:07:14 +1000
From:      Bruce Evans <bde@zeta.org.au>
To:        bde@zeta.org.au, peter@netplex.com.au
Cc:        committers@FreeBSD.ORG, rnordier@FreeBSD.ORG, rnordier@nordier.com, skynyrd@opus.cts.cwu.edu
Subject:   Re: cvs commit: src/sys/boot/i386 Makefile
Message-ID:  <199810101107.VAA25894@godzilla.zeta.org.au>

next in thread | raw e-mail | index | archive | help
>> Only the setting of LIBDIR in bsd.own.mk is wrong if a Makefile[.inc]
>> changes OBJFORMAT.  This is fairly harmless except for installng libraries.
>
>And dependencies..  It could mean that binaries were depending on the 
>wrong libraries.  If the environment format was a.out, and a makefile 
>reset it to (say) elf, then you end up with your elf binaries depending on 
>/usr/lib/aout/libfoo.a etc.

LIBDIR is not used for dependencies in the a.out case (dependencies
on libraries are generated by ld -f).  Thus there are no dependency
problems for forcing OBJFORMAT to aout.  Dependencies on libraries are
mostly broken anyway for the elf case (ld -f doesn't work and the names
in bsd.libnames.mk only work for static libraries).

The main danger is conflicts between library paths set by `make world'
and gcc's search for libraries (based on ${OBJFORMAT}).  Nothing appends
/aout to externally specified library paths, so for an elf world with
an aout override, stale libraries in /usr/lib/aout will probably get
used instead of new libraries in ${WORLDTMP}/usr/lib[/aout].  I think
current world building already has bugs in this area - the -aout override
in CFLAGS doesn't actually work for `make world' when the default
OBJFORMAT is elf.

Bruce



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199810101107.VAA25894>