how does buildword search the right directories?
Matthew Dillon
dillon at apollo.backplane.com
Sat Aug 21 10:15:47 PDT 2004
Heh. It took me a while to figure that out when I first started retooling
buildworld. But, yes, the key is the fact that all the primary compiler
and assembler tools run through the objformat program. Many of the paths
are hardwired at compile time so, for example, the buildworld crosstools
stage builds a custom objformat and compiler binaries which the buildworld
uses simply by virtue of running the correct objformat binary.
-Matt
:On 21.08.2004, at 14:19, Simon 'corecode' Schubert wrote:
:> How does buildworld search the right directories for
:> includes/libraries, i.e. not the default system path (/usr/lib,
:> /usr/include), but the buildworld path
:> (/usr/obj/usr/src/world_i386/usr/lib...)?
:>
:> And... If buildworld doesn't do it, how would it be done (need this
:> for a cross compile project)?
:
:heh, hand me a cluebat to hit myself :), found it:
:
:calling /usr/bin/ld --verbose shows /usr/lib as search path. calling
:/usr/obj/usr/src/world_i386/usr/bin/ld --verbose *also* showed /usr/lib
:as search path.
:
:Why? because ld is objformat'ed and thus calls
:/usr/libexec/binutils212/elf/ld, not minding the changed binary path.
:And it seems those binaries care about their location to determine
:which path to search.
:
:so setting OBJFORMAT_PATH to the proper location helps these tools
:finding the right path.
:
:JFYI, of course
:
:cheers
: simon
More information about the Kernel
mailing list