makefile target

km b kmb810 at gmail.com
Tue Aug 21 03:31:09 PDT 2007


On 8/21/07, Simon 'corecode' Schubert <corecode at fs.ei.tum.de> wrote:
> [redirecting to kernel@]
>
> The tool you're looking is called objformat.  This is a proxy which selects the compiler and binutils depending on the setting of environment variables.  It is very likely however that you don't want to install the TARGET_ARCH=amd64 binaries in the common location, as this will render your system unable to build host tools and thus can't bootstrap itself again.
>
> If you want to play with amd64 builds, I suggest you run a buildworld with TARGET_ARCH=amd64, which will set up a complete cross-compiling environment for amd64, although prefixed.
>
> If you anyways want to use objformat, you could install the amd64-cross-compilers in e.g. /usr/libexec/gcc41_amd64 and set CCVER=gcc41_amd64.  Alternatively you could install gcc and binutils to a completely different prefix and set OBJFORMAT_PREFIX.  Keep in mind that the crosscompiler needs a different set of headers, so you'll likely need to change the search prefix for the headers in the compiler as well.  All of this is taken care in the build/crossworld.
>
> Also note that for proper compilation success, you'll need the build patches by Noah Yan.

Sorry to not augment my question properly. I meant when I do a make
buildworld TARGET_ARCH=amd64 with Noah's patches it creates
/usr/obj/blah/blah/ctools_i386_amd64/ directory which contains the
cross build tools. In there usr/libexec/binutils{215,217} contain the
right target tools x86_64. But in the same directory usr/bin/{as} etc.
are built for the i386 target.

cheers
kmb

-- 
Something is wrong up on cloud # 9!





More information about the Users mailing list