breakage at usr.sbin/jail/Makefile
Dennis Clarke
dclarke at blastwave.org
Thu Nov 21 22:11:07 UTC 2019
On 11/21/19 11:33 AM, Ed Maste wrote:
> On Wed, 20 Nov 2019 at 23:19, Pete Wright <pete at nomadlogic.org> wrote:
>>
>> the issue seems to be on my amd64 system ${LINKER_TYPE} is not defined.
>> i was contemplating suggesting updating the .if clause in the Makefile
>> like so:
>>
>> .if defined($LINKER_TYPE}) && ${LINKER_TYPE} == "bfd" && ${MACHINE} ==
>> "riscv"
>
> Yes, this is the approach I went with - Cirrus-CI started building my
> proposed change last night but it wasn't finished before I was. When I
> checked this morning it confirmed the fix works. In any case the best
> fix here will be to resolve the underlying RISC-V binutils issue and
> revert all of the workarounds.
>
> Note that FreeBSD's CI did not catch this issue because it builds with
> -DNO_CLEAN. I also build locally with -DNO_CLEAN and wouldn't have
> seen it either. In my opinion we ought to just remove the not-NO_CLEAN
> case from buildworld/buildkernel.
I generally look at the CI traffic to get a feel for what I *should* be
seeing and thus I was baffled when my cross compile was blowing up on
exactly this issue.
Really I want to debug :
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=242067
wherein printf seems to get down to _ldtoa.c and then confusion sets in
over the in memory data for fp128 little endian data but that is another
story. I can't get very far without some basic tools and at the moment
the CI builds are not very useful as they barely have anything for tools
in /bin or anywhere else. Not even ed? Really?
In any case I did look at the RISC-V projects GNU Toolchain and I did go
with a build of the latest from :
https://github.com/riscv/riscv-gnu-toolchain
and that did work well for a buildworld a few days ago. The buildkernel
fails. So I start over as if I am fishing for code in a fast flowing
stream of water where I never know what works and what doesn't the next
moment. Why? Because the CI builds were not failing. Sometimes I get
lucky. With r354874 and the new GNU Toolchain cross tools I get a clean
buildworld and then the kernel fails.
So today I will start over from scratch but I will use the GNU Toolchain
from RISC-V upstream project thus :
vesta#
vesta# uname -apKU
FreeBSD vesta 12.1-RELEASE-p1 FreeBSD 12.1-RELEASE-p1 GENERIC amd64
amd64 1201000 1201000
vesta# /opt/rv64/tools/bin/riscv64-unknown-elf-gcc --version
riscv64-unknown-elf-gcc (GCC) 9.2.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
vesta#
So I will try again today and report back.
--
Dennis Clarke
RISC-V/SPARC/PPC/ARM/CISC
UNIX and Linux spoken
GreyBeard and suspenders optional
More information about the freebsd-current
mailing list