Migrating from -current to stable/12 on RPI2B (ARMv7)

Mark Millard marklmi at yahoo.com
Mon Dec 28 21:19:50 UTC 2020


On 2020-Dec-28, at 12:55, Mark Millard <marklmi at yahoo.com> wrote:
> 
> 
> On 2020-Dec-28, at 12:07, Mark Millard <marklmi at yahoo.com> wrote:
> 
> 
>> On 2020-Dec-28, at 10:56, bob prohaska <fbsd at www.zefox.net> wrote:
>> 
>>> On Sun, Dec 27, 2020 at 10:10:18PM -0800, Mark Millard wrote:
>>>> 
>>>> 
>>>> On 2020-Dec-27, at 20:48, bob prohaska <fbsd at www.zefox.net> wrote:
>>>> 
>>>>> . . .
>>>> 
>>> I didn't know about LDFLAGS, but a re-try with 
>>> -j1 and LDFLAGS.lld+= -Wl,--threads=1
>>> (apparently the syntax changed) in /etc/make.conf 
>>> promptly reproduced the error. 
>> 
>> Hmm. It been a while since I did a native build instead of a
>> cross build. The cross build context has RAM and does not
>> use the assignment so I'd not noticed.
>> 
>> Thanks for the report!
> 
> lld for LLVM 10 always had --no-threads as I now understand
> and stable/12 still has/uses/needs LLVM 10.0.1 (with
> updates).
> 
> That means that lld from LLVM 11 was in use (FreeBSD
> 13's system ld). The build was probably trying to build
> some LLVM 10.0.1 final+ materials for bootstrap style
> build use in later build stages (older FreeBSD targeting).
> It likely had not gotten to the stage of building freebsd
> stable/12 material itself.
> 
> Attempting to build devel/llvm10 might well have the same
> issue without having to involve an extra FreeBSD source
> tree or build.

There is another gotcha-issue with the change from --no-threads
to --threads=1 based on neither working for both 10.0.x and
11.0.y: which ever one is listed in /etc/make.conf (say) will be
wrong for other one of:

A) building the bootstrap toolchain
B) using the bootstrap toolchain

The LDFLAGS.lld definition would need to be conditional on the
distinction in order to be correct inside each type of context.


===
Mark Millard
marklmi at yahoo.com
( dsl-only.net went
away in early 2018-Mar)



More information about the freebsd-arm mailing list