Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Feb 2019 00:49:09 +0300
From:      =?UTF-8?B?QmFiYXMgQWJhc292?= <babas.abasov@mail.ru>
To:        freebsd-doc@freebsd.org
Subject:   =?UTF-8?B?bGxkIHZzIGxkIGxpbmtlciBmb3IgQ1VTVE9NIDEyLjAgS0VSTkVM?=
Message-ID:  <1551217749.137223517@f400.i.mail.ru>

index | next in thread | raw e-mail


Hi!

The default "ld" linker does not work for 12.0 custom kernel building in i386 subtree.

( file:///usr/local/share/doc/freebsd/en_US.ISO8859-1/books/handbook/kernelconfi
g-building.html )

The current kernel build instruction is:

# make buildkernel KERNCONF=MYKERNEL

It does not work for i386 arch with default linker.

The correct command may be:

# make buildkernel LD=ld.lld KERNCONF=MYKERNEL

                       
The solution description found in a blog:

==
http://uyota.m.asablo.jp/blog/2018/09/18/8961866
20180510:
        The amd64 kernel now requires a ld that supports ifunc to produce a
        working kernel, either lld or a newer binutils. lld is built by default
        on amd64, and the 'buildkernel' target uses it automatically. However,
        it is not the default linker, so building the kernel the traditional
        way requires LD=ld.lld on the command line (or LD=/usr/local/bin/ld for
        binutils port/package). lld will soon be default, and this requirement
        will go away.
==

The 12.0 HANDBOOK should be updated.

 -------
Regards, BABAS.


help

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