Page MenuHomeFreeBSD

arichardson (Alexander Richardson)
User

Projects

User Details

User Since
Jan 17 2017, 2:21 PM (166 w, 4 d)

Recent Activity

Fri, Mar 27

arichardson added inline comments to D24111: [PowerPC] Switch powerpc32 from BFD to LLD10..
Fri, Mar 27, 10:07 AM · PowerPC

Wed, Mar 25

arichardson accepted D24183: Introduce (build|install)sysroot targets..

Thanks for upstreaming this! I think there are still a few files that installsysroot installs that aren't really needed (NLS?) but I needs to check whether that's still the case.

Wed, Mar 25, 7:38 PM

Mon, Mar 23

arichardson closed D24136: Fix newvers.sh on macOS 10.15.
Mon, Mar 23, 5:52 PM
arichardson committed rS359252: Fix newvers.sh on macOS 10.15.
Fix newvers.sh on macOS 10.15
Mon, Mar 23, 5:52 PM
arichardson committed rS359251: Update arch.7 .Dd for r359233.
Update arch.7 .Dd for r359233
Mon, Mar 23, 5:52 PM
arichardson committed rS359233: Use Clang and LLD as the default toolchain for MIPS.
Use Clang and LLD as the default toolchain for MIPS
Mon, Mar 23, 10:36 AM
arichardson closed D23204: Use Clang and LLD as the default toolchain for MIPS.
Mon, Mar 23, 10:36 AM

Sun, Mar 22

arichardson committed rS359231: Use a GCC-compatile compiler flag in files.xlp.
Use a GCC-compatile compiler flag in files.xlp
Sun, Mar 22, 10:18 PM
arichardson committed rS359230: Fix linking OCTEON1 kernel with LLD.
Fix linking OCTEON1 kernel with LLD
Sun, Mar 22, 10:18 PM
arichardson closed D24093: Fix linking OCTEON1 kernel with LLD.
Sun, Mar 22, 10:18 PM
arichardson updated the diff for D23204: Use Clang and LLD as the default toolchain for MIPS.

Rebased on latest HEAD.

Sun, Mar 22, 7:33 PM

Fri, Mar 20

arichardson created D24136: Fix newvers.sh on macOS 10.15.
Fri, Mar 20, 11:01 AM

Wed, Mar 18

arichardson added a comment to D24103: Add the kyua test framework to the base system..

The package also creates a tests user. Not sure if that is still required.

Wed, Mar 18, 5:01 PM

Tue, Mar 17

arichardson closed D24091: Fix misleading indentation warning in OCTEON1 kernel.
Tue, Mar 17, 12:00 PM
arichardson committed rS359034: Fix misleading indentation warning in OCTEON1 kernel.
Fix misleading indentation warning in OCTEON1 kernel
Tue, Mar 17, 12:00 PM
arichardson committed rS359033: Fix build of XLP MIPS kernel with clang.
Fix build of XLP MIPS kernel with clang
Tue, Mar 17, 12:00 PM
arichardson closed D24092: Fix build of XLP MIPS kernel with clang.
Tue, Mar 17, 11:59 AM

Mon, Mar 16

arichardson added a comment to D23204: Use Clang and LLD as the default toolchain for MIPS.

D24091, D24092 and D24093 are needed to build all universe kernels.
I have only tried booting MIPS n64 MALTA since I don't have a setup for o32/n32.

Mon, Mar 16, 10:35 PM
arichardson updated the diff for D23204: Use Clang and LLD as the default toolchain for MIPS.

Rebase after LLVM 10 import

Mon, Mar 16, 10:33 PM
arichardson created D24093: Fix linking OCTEON1 kernel with LLD.
Mon, Mar 16, 10:30 PM
arichardson created D24092: Fix build of XLP MIPS kernel with clang.
Mon, Mar 16, 10:29 PM
arichardson created D24091: Fix misleading indentation warning in OCTEON1 kernel.
Mon, Mar 16, 10:25 PM

Tue, Mar 10

arichardson added a comment to D23204: Use Clang and LLD as the default toolchain for MIPS.

I'm currently on holiday but will update this once I'm back on Monday.

Tue, Mar 10, 3:45 PM

Tue, Mar 3

arichardson added a comment to D17002: Fix compilation with upstream clang builtin headers.
In D17002#526349, @dim wrote:

Ping? Can we merge this or do I have to convince upstream LLVM to add checks for the FreeBSD _FOO_DECLARED macros to their stddef.h/stdarg.h? I'm not sure how willing they would be to make that change though.

This should be solved upstream, once and for all. There is a reason we don't install those headers, the port shouldn't install them either.

I think they should be installed. It allows e.g. building binaries for a bare metal target. Fixing it in upstream llvm would be ideal but we could also change the FreeBSD headers to check for the llvm macros?

Tue, Mar 3, 7:26 PM

Sat, Feb 29

arichardson added inline comments to D23661: Implement a translation from FreeBSD atomic API to gcc intrinsics.
Sat, Feb 29, 4:12 PM
arichardson added a comment to D23869: amd64 atomic.h: minor codegen optimization in flag access.

How does this compare to using the __atomic compiler builtins?

Sat, Feb 29, 3:07 PM

Feb 6 2020

arichardson added a comment to D23534: ln: add -r option, fix certctl DESTDIR support and the caroot post-install script.

For crossbuilding: It seems like macos ln doesn't support ln -r so we should avoid making future changes that use ln -r in build scripts. I guess otherwise we could bootstrap ln on macos, which should also work.

Hmm...certctl may be ran as a standard part of mergemaster/etcupdate. Do we assume these have a chance of working on, e.g., MacOS?

Feb 6 2020, 12:49 PM
arichardson added a comment to D23534: ln: add -r option, fix certctl DESTDIR support and the caroot post-install script.

Change looks fine to me.

Feb 6 2020, 8:01 AM

Feb 4 2020

arichardson committed rS357480: Set the LMA of the riscv kernel to the OpenSBI jump target by default.
Set the LMA of the riscv kernel to the OpenSBI jump target by default
Feb 4 2020, 12:06 AM
arichardson closed D23436: Set the LMA of the riscv kernel to the OpenSBI jump target by default.
Feb 4 2020, 12:06 AM

Feb 3 2020

br awarded D23436: Set the LMA of the riscv kernel to the OpenSBI jump target by default a Like token.
Feb 3 2020, 1:49 PM
arichardson retitled D23436: Set the LMA of the riscv kernel to the OpenSBI jump target by default from Set the LMA of the riscv kernel to the OpenSBI jump target to Set the LMA of the riscv kernel to the OpenSBI jump target by default.
Feb 3 2020, 12:45 PM
arichardson updated the diff for D23436: Set the LMA of the riscv kernel to the OpenSBI jump target by default.

Allow overriding the LMA as may be required for some targets (requested by @jrtc27)

Feb 3 2020, 12:45 PM

Jan 31 2020

arichardson created D23436: Set the LMA of the riscv kernel to the OpenSBI jump target by default.
Jan 31 2020, 12:23 PM

Jan 29 2020

arichardson added a comment to D23204: Use Clang and LLD as the default toolchain for MIPS.

I can commit this now if we are okay with octeon kernels being broken until llvm 10 lands?

Jan 29 2020, 9:55 PM

Jan 27 2020

arichardson closed D23229: Build hard-float lib32 for mips64hf/mips64elhf.
Jan 27 2020, 12:03 PM
arichardson committed rS357170: Build hard-float lib32 for mips64hf/mips64elhf.
Build hard-float lib32 for mips64hf/mips64elhf
Jan 27 2020, 12:03 PM
arichardson committed rS357169: Allow bootstrapping makefs on older FreeBSD hosts and Linux/macOS.
Allow bootstrapping makefs on older FreeBSD hosts and Linux/macOS
Jan 27 2020, 12:03 PM
arichardson closed D23201: Allow bootstrapping makefs on older FreeBSD hosts and Linux/mac.
Jan 27 2020, 12:03 PM

Jan 25 2020

arichardson accepted D23362: Compile hack.c with normal CFLAGS + -shared -nostdlib..

Yes I agree, removing the LTO option is not necessary.
I think in https://github.com/CTSRD-CHERI/cheribsd/commit/8041a7e459d1d6e453d082ff57db2f3f94ca1a3c I just copied from the genassym.o line.

Jan 25 2020, 11:27 AM

Jan 17 2020

arichardson added a comment to D23229: Build hard-float lib32 for mips64hf/mips64elhf.
In D23229#509463, @jhb wrote:

Yes, I was testing this locally, though without the :=, just a plain =. I was testing it as part of a make tinderbox run though that is only on amd64 and hasn't gotten to mips, so hadn't seen breakage that would require :=.

Jan 17 2020, 8:56 PM
arichardson added a comment to D23204: Use Clang and LLD as the default toolchain for MIPS.
In D23204#509367, @jhb wrote:

mips64hf is currently broken because libc_nossp is built as soft-float (I think this is the lib32 version only since the error happens when building rtld-elf32):

ld: error: /home/alr48/obj/build/freebsd-universe-build/exports/users/alr48/sources/freebsd-universe/mips.mips64hf/libexec/rtld-elf32/rtld_libc.a(lstat.nossppico): floating point ABI '-msoft-float' is incompatible with target floa
ting point ABI '-mdouble-float'

I almost fixed this when fixing the mips64el case. Probably what we should do is set the 32-bit MACHINE_ARCH to MACHINE_ARCH:s/64// or some such to preserve el and hf suffixes.
However, note that part of the real problem here is that rtld-elf32 is somewhat broken in that it lets CFLAGS from the non-compat MACHINE_ARCH "leak" through. This doesn't
happen for the lib32 stage which is why the lib32 stage was building as soft-float since the MACHINE was "mips" but does happen for rtld-elf32. That's probably a bug in the bsd.compat.mk thing that @brooks might want to look at.

Jan 17 2020, 7:21 PM
arichardson accepted D23174: Add qsort_s(3).
Jan 17 2020, 2:50 PM
arichardson added inline comments to D23174: Add qsort_s(3).
Jan 17 2020, 12:31 PM
arichardson added a comment to D23204: Use Clang and LLD as the default toolchain for MIPS.

I also tried building n32 but that fails when linking the syscall objects. My guess is that SYS.h is missing the PIC n32 case and always generates position dependent assembly.

ld: error: can't create dynamic relocation R_MIPS_HI16 against symbol: __cerror in readonly segment; recompile object files with -fPIC or pass '-Wl,-z,notext' to allow text relocations in the output
>>> defined in cerror.pico
>>> referenced by shm_rename.S:4
>>>               shm_rename.pico:(__sys_shm_rename)
Jan 17 2020, 11:38 AM
arichardson created D23229: Build hard-float lib32 for mips64hf/mips64elhf.
Jan 17 2020, 11:11 AM
arichardson added a comment to D23204: Use Clang and LLD as the default toolchain for MIPS.

I also tried building n32 but that fails when linking the syscall objects. My guess is that SYS.h is missing the PIC n32 case and always generates position dependent assembly.

Jan 17 2020, 10:47 AM
arichardson planned changes to D23204: Use Clang and LLD as the default toolchain for MIPS.

mips64hf is currently broken because libc_nossp is built as soft-float (I think this is the lib32 version only since the error happens when building rtld-elf32):

Jan 17 2020, 10:46 AM
arichardson added inline comments to D23174: Add qsort_s(3).
Jan 17 2020, 10:40 AM
arichardson requested changes to D23174: Add qsort_s(3).
Jan 17 2020, 10:39 AM

Jan 16 2020

arichardson accepted D23174: Add qsort_s(3).

Looks fine to me but someone else should give the final approval.

Jan 16 2020, 11:09 PM
arichardson committed rS356791: Allow building bin/cat on non-FreeBSD systems.
Allow building bin/cat on non-FreeBSD systems
Jan 16 2020, 2:15 PM
arichardson closed D13939: Allow building bin/cat on non-FreeBSD systems.
Jan 16 2020, 2:15 PM
arichardson closed D23202: Allow bootstrapping mkimg on macOS/Linux.
Jan 16 2020, 2:15 PM
arichardson committed rS356790: Allow bootstrapping mkimg on macOS/Linux.
Allow bootstrapping mkimg on macOS/Linux
Jan 16 2020, 2:15 PM
arichardson committed rS356789: Merge commit 894f742acb from llvm git (by me):.
Merge commit 894f742acb from llvm git (by me):
Jan 16 2020, 2:15 PM
arichardson closed D23203: Merge commit 894f742acb from llvm git (by me):.
Jan 16 2020, 2:15 PM
arichardson added a comment to D23204: Use Clang and LLD as the default toolchain for MIPS.

I guess I could try to build and boot a n32 world, but I'm not sure which kernel I should be using to test it.

Jan 16 2020, 2:07 PM
arichardson planned changes to D14245: crossbuild: disable MK_* options that won't work on non-FreeBSD systems.

No longer accurate, I have changes to allow bootstrapping localedef and CDDL code.

Jan 16 2020, 12:48 PM
arichardson created D23204: Use Clang and LLD as the default toolchain for MIPS.
Jan 16 2020, 11:48 AM
arichardson added inline comments to D23201: Allow bootstrapping makefs on older FreeBSD hosts and Linux/mac.
Jan 16 2020, 11:02 AM
arichardson added a comment to D23203: Merge commit 894f742acb from llvm git (by me):.

I am not sure what the correct process is to merge upstream LLVM changes. Is it fine to just commit this diff or are any other steps required?

Jan 16 2020, 10:40 AM
arichardson created D23203: Merge commit 894f742acb from llvm git (by me):.
Jan 16 2020, 10:39 AM
arichardson created D23202: Allow bootstrapping mkimg on macOS/Linux.
Jan 16 2020, 10:20 AM
arichardson created D23201: Allow bootstrapping makefs on older FreeBSD hosts and Linux/mac.
Jan 16 2020, 10:19 AM
arichardson created D23200: makefs (msdosfs): Use fprintf instead of debug print for errors.
Jan 16 2020, 10:10 AM

Jan 15 2020

arichardson added inline comments to D23174: Add qsort_s(3).
Jan 15 2020, 10:04 AM

Jan 10 2020

arichardson added a comment to D17002: Fix compilation with upstream clang builtin headers.

Ping? Can we merge this or do I have to convince upstream LLVM to add checks for the FreeBSD _FOO_DECLARED macros to their stddef.h/stdarg.h? I'm not sure how willing they would be to make that change though.

Jan 10 2020, 2:54 PM
arichardson planned changes to D13939: Allow building bin/cat on non-FreeBSD systems.
Jan 10 2020, 2:50 PM
arichardson added a comment to D13939: Allow building bin/cat on non-FreeBSD systems.

I agree that a small separate tool would be nicer. I don't really have time to write one right now though. I'll wait before committing this until it's the last blocker for cross-building. Maybe by then I'll find some time to add a write_locked (or whatever name we want to choose) bootstrap tool.

Jan 10 2020, 2:50 PM

Jan 5 2020

arichardson added a comment to D13939: Allow building bin/cat on non-FreeBSD systems.

Ping?

Jan 5 2020, 4:51 PM

Jan 2 2020

arichardson accepted D21697: Fix MIPS CSU compilation w/ LLVM.

Looks good. Compiles for me with latest LLVM.

Jan 2 2020, 2:49 PM

Dec 10 2019

arichardson added a comment to D22630: Include <sys/cdefs.h> in execinfo.h.
In D22630#497926, @cem wrote:

This is for cross-building?
FreeBSD's stddef.h includes sys/cdefs.h. If you aren't finding FreeBSD's stddef.h in a cross build, why would you expect to find FreeBSD's sys/cdefs.h?
I guess glibc's sys/cdefs.h includes __BEGIN_DECLS, etc, but I don't know how portable that assumption is (no idea what MacOS has, and I don't know if windows environments like mingw64 have a sys/cdefs.h).
I'd prefer a more holistic approach — use the src tree FreeBSD's headers when we're cross-compiling, rather than the host's.

Dec 10 2019, 9:19 PM
arichardson committed rS355582: Use ${.ALLSRC:Ninstalldirs-*} instead of assuming order of .ALLSRC.
Use ${.ALLSRC:Ninstalldirs-*} instead of assuming order of .ALLSRC
Dec 10 2019, 12:13 PM

Dec 2 2019

arichardson created D22630: Include <sys/cdefs.h> in execinfo.h.
Dec 2 2019, 9:39 AM

Nov 21 2019

arichardson added a comment to D22464: Makefile.inc1: push /usr/libexec into the BPATH/TMPPATH .

LGTM. Only concern might be that adding /usr/libexec to PATH adds too much stuff.
Hopefully I can get the strict tmppath usable by default soon so it shouldn't matter anymore then.

Yeah, so what I really wanted here with flua was some way to indicate that flua can/should be symlinked in from the host (preferably to the same location that I've added to BPATH) on the versions it's *not* being bootstrapped (__FreeBSD_version after I added it) to simplify this, since I don't really want to add /usr/libexec. Any advice on making that happen (or just getting flua into one of the standard BPATH/XPATH paths while leaving it installing to /usr/libexec) is quite welcome. =)

It should be possible to modify tools/build/Makefile and change the host-symlinks target to add a flua symlink if it exists on the host.
Something like (untested):

.if exists(/usr/libexec/flua)
    mkdir -p ${DESTDIR}/usr/libexec
    ln -sf /usr/libexec/flua ${DESTDIR}/usr/libexec/flua
.endif

Yeah, I like that, thanks! I think the mkdir -p can safely be omitted -- we create it in the installdirs target now in case it's bootstrapped, which should always be run prior to host-symlinks if I understand correctly. If we later determine flua needs to be bootstrapped, that just gets built+installed over the symlink, right?

Nov 21 2019, 7:54 AM

Nov 20 2019

arichardson added a comment to D22464: Makefile.inc1: push /usr/libexec into the BPATH/TMPPATH .

LGTM. Only concern might be that adding /usr/libexec to PATH adds too much stuff.
Hopefully I can get the strict tmppath usable by default soon so it shouldn't matter anymore then.

Yeah, so what I really wanted here with flua was some way to indicate that flua can/should be symlinked in from the host (preferably to the same location that I've added to BPATH) on the versions it's *not* being bootstrapped (__FreeBSD_version after I added it) to simplify this, since I don't really want to add /usr/libexec. Any advice on making that happen (or just getting flua into one of the standard BPATH/XPATH paths while leaving it installing to /usr/libexec) is quite welcome. =)

Nov 20 2019, 10:50 PM
arichardson accepted D22464: Makefile.inc1: push /usr/libexec into the BPATH/TMPPATH .

LGTM. Only concern might be that adding /usr/libexec to PATH adds too much stuff.

Nov 20 2019, 9:32 PM
arichardson committed rS354901: Allow boostrapping xinstall on Linux.
Allow boostrapping xinstall on Linux
Nov 20 2019, 5:25 PM
arichardson closed D22446: Allow boostrapping xinstall on Linux.
Nov 20 2019, 5:25 PM

Nov 19 2019

arichardson updated subscribers of D22446: Allow boostrapping xinstall on Linux.
Nov 19 2019, 11:19 PM
arichardson created D22446: Allow boostrapping xinstall on Linux.
Nov 19 2019, 5:58 PM

Nov 17 2019

arichardson committed rS354796: Fix error found by new clang operator precendence warning.
Fix error found by new clang operator precendence warning
Nov 17 2019, 7:04 PM
arichardson closed D22433: Fix error found by new clang operator precendence warning.
Nov 17 2019, 7:04 PM
arichardson created D22433: Fix error found by new clang operator precendence warning.
Nov 17 2019, 5:27 PM

Nov 15 2019

arichardson added a comment to D17002: Fix compilation with upstream clang builtin headers.
In D17002#489675, @jhb wrote:

Does this work with GCC? Seems no:

> mips-unknown-freebsd12.1-gcc -print-resource-dir
mips-unknown-freebsd12.1-gcc: error: unrecognized command line option '-print-resource-dir'; did you mean '-print-search-dirs'?
mips-unknown-freebsd12.1-gcc: fatal error: no input files
compilation terminated.
Nov 15 2019, 9:53 PM
arichardson added a comment to D17002: Fix compilation with upstream clang builtin headers.

This change is required to build with an unmodified upstream LLVM since the default upstream clang builtin headers are incompatible with the ones in /usr/bin/include (see my earlier comments in this review).

Nov 15 2019, 8:29 PM
arichardson committed rS354740: Fix build race in bsd.files.mk.
Fix build race in bsd.files.mk
Nov 15 2019, 6:34 PM
arichardson closed D22382: Fix build race in bsd.files.mk.
Nov 15 2019, 6:34 PM
arichardson closed D22386: makefs: Also set UFS di_birthtime when building on Linux.
Nov 15 2019, 6:34 PM
arichardson committed rS354739: makefs: Also set UFS di_birthtime when building on Linux.
makefs: Also set UFS di_birthtime when building on Linux
Nov 15 2019, 6:34 PM
arichardson closed D22387: Fix contents= being ignored in msdosfs makefs mtree.
Nov 15 2019, 6:34 PM
arichardson committed rS354738: Fix contents= being ignored in msdosfs makefs mtree.
Fix contents= being ignored in msdosfs makefs mtree
Nov 15 2019, 6:34 PM
arichardson added a comment to D17002: Fix compilation with upstream clang builtin headers.

ping

Nov 15 2019, 5:43 PM
arichardson created D22387: Fix contents= being ignored in msdosfs makefs mtree.
Nov 15 2019, 5:38 PM
arichardson created D22386: makefs: Also set UFS di_birthtime when building on Linux.
Nov 15 2019, 5:36 PM
arichardson committed rS354736: Use __ as the separator for the exported vars in bsd.compiler/linker.mk.
Use __ as the separator for the exported vars in bsd.compiler/linker.mk
Nov 15 2019, 4:43 PM
arichardson closed D22381: Use __ as the separator for the exported vars in bsd.compiler/linker.mk.
Nov 15 2019, 4:43 PM
arichardson updated the summary of D13939: Allow building bin/cat on non-FreeBSD systems.
Nov 15 2019, 3:54 PM
arichardson updated the diff for D13939: Allow building bin/cat on non-FreeBSD systems.

Disable all flags except -l/-u when bootstrapping

Nov 15 2019, 3:52 PM