Page MenuHomeFreeBSD

arichardson (Alexander Richardson)
User

Projects

User Details

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

Recent Activity

Today

arichardson closed D27102: bsd.lib.mk: Work around build system raciness.
Thu, Nov 26, 5:37 PM
arichardson closed D27177: Add .cfi_{start,end}proc for RISC-V assembly functions.
Thu, Nov 26, 5:37 PM
arichardson committed rS368071: bsd.lib.mk: Work around build system raciness.
bsd.lib.mk: Work around build system raciness
Thu, Nov 26, 5:37 PM
arichardson committed rS368070: Add .cfi_{start,end}proc for RISC-V assembly functions.
Add .cfi_{start,end}proc for RISC-V assembly functions
Thu, Nov 26, 5:37 PM
arichardson closed D26473: Significantly speed up libthr/mutex_test and make more reliable.
Thu, Nov 26, 1:32 PM
arichardson committed rS368055: Significantly speed up libthr/mutex_test and make more reliable.
Significantly speed up libthr/mutex_test and make more reliable
Thu, Nov 26, 1:32 PM
arichardson added a comment to D26473: Significantly speed up libthr/mutex_test and make more reliable.
In D26473#608811, @ngie wrote:

Non-blocking thought: can this use sem_post/sem_(timed)?wait instead of spinning in busy-loops waiting for threads to start?

Thu, Nov 26, 12:10 PM
arichardson added inline comments to D26473: Significantly speed up libthr/mutex_test and make more reliable.
Thu, Nov 26, 11:50 AM
arichardson added a comment to D27359: Avoid use of inline assembly to read initial PC in unwinders..
Thu, Nov 26, 11:49 AM
arichardson added a comment to D27359: Avoid use of inline assembly to read initial PC in unwinders..

It seems like GCC needs a valid goto *addrof_label in order to take the address of a label inside the function rather that at the start. Not sure if that really matters though:

Thu, Nov 26, 11:41 AM
arichardson accepted D27363: Various fixes for the MIPS DDB stack unwinder..
Thu, Nov 26, 10:25 AM
arichardson added inline comments to D19237: Fix TARGET_TRIPLE assembly and retrieve OS version automatically.
Thu, Nov 26, 9:52 AM · PowerPC

Yesterday

arichardson added a comment to D27290: Switch to environment files for Github actions.
In D27290#611349, @uqs wrote:
In D27290#610937, @uqs wrote:

https://github.com/uqs/freebsd/actions/runs/381511283

Also, why do we still have -fformat-extensions in our Makefiles? Am I wrong or is there no compiler out there that still knows about this flag, yes?

Looks like using the pre-installed system packages still takes 22s instead of 40ish? But if it works with system-provided packages that's probably better than installing a specific version.

Speaking of which. debian/ubuntu has a bmake package, it would be great if we could use that. homebrew has a bmake package as well.

We could also use a cache and store the bmake artifacts in between runs, but I haven't fully wrapped my head around caching in Travis or Github yet.

Last time I tried the Ubuntu bmake package it did not work, but that may have improved since. However, I think there is also value in checking the bmake version bundled in the source tree works.

Wed, Nov 25, 2:18 PM

Tue, Nov 24

arichardson added a comment to D27290: Switch to environment files for Github actions.
In D27290#610937, @uqs wrote:

Microsoft's money isn't my concern here, but rather the FreeBSD developer time, so this stuff should be as fast as possible.

Here's what I had in mind, I tried to get gcc to play ball, but gave up on that. It would be worthwhile for a buildworld, I'd say.

https://github.com/uqs/freebsd/actions/runs/381511283

Also, why do we still have -fformat-extensions in our Makefiles? Am I wrong or is there no compiler out there that still knows about this flag, yes?

Tue, Nov 24, 8:13 PM

Fri, Nov 20

arichardson added a comment to D27299: legacy: Use -isystem for system header overrides..

I guess the problem is that -isystem now moves ${WORLDTMP}/legacy/usr/include after all other -I includes:

Fri, Nov 20, 9:23 PM
arichardson added inline comments to D27290: Switch to environment files for Github actions.
Fri, Nov 20, 6:21 PM

Thu, Nov 19

arichardson accepted D27290: Switch to environment files for Github actions.

LGTM, but not sure if this will break SVN->git conversion again.

Thu, Nov 19, 11:57 PM

Tue, Nov 17

arichardson added a comment to D27234: Attempt to unbreak bmake bootstrap on Linux.

The failures can almost be worked around by using --with-defshell=/bin/bash, so another option would be to configure with bash as the default shell on ubuntu and relax the vardebug test:

--- /local/scratch/alr48/tmp/bmake/unit-tests/vardebug.exp	2020-10-31 22:57:02.000000000 +0000
+++ vardebug.out	2020-11-17 11:19:20.201759664 +0000
@@ -77,7 +77,7 @@
 Var_Parse: ${UNDEFINED} with VARE_UNDEFERR|VARE_WANTRES
 make: "vardebug.mk" line 53: Malformed conditional (${UNDEFINED})
 Global:delete .SHELL (not found)
-Command:.SHELL = /bin/sh
+Command:.SHELL = /bin/bash
 Command:.SHELL = overwritten ignored (read-only)
 Global:.MAKEFLAGS =  -r -k -d v -d
 Global:.MAKEFLAGS =  -r -k -d v -d 0
Failed tests: vardebug
*** Error code 1
Tue, Nov 17, 11:20 AM
arichardson added a comment to D27234: Attempt to unbreak bmake bootstrap on Linux.

Also would it be possible to include the missing/sys/cdefs.h file in the next import so that it can build on Linux? This would allow me to remove some hacks from the bootstrap make.py script.

Tue, Nov 17, 11:15 AM
arichardson added a comment to D27234: Attempt to unbreak bmake bootstrap on Linux.
In D27234#608288, @sjg wrote:

The ksh issue is already fixed in bmake-20201114
can you try http://www.crufty.net:/ftp/pub/sjg/beta/bmake-20201114.tar.gz to confirm the other issue is also fixed

Tue, Nov 17, 11:11 AM

Mon, Nov 16

arichardson committed rS367720: Revert "When building on Ubuntu bootstrap bmake with bash as the default shell".
Revert "When building on Ubuntu bootstrap bmake with bash as the default shell"
Mon, Nov 16, 11:39 AM
arichardson added a comment to D27234: Attempt to unbreak bmake bootstrap on Linux.

GitHub's CI shows me that this has been broken since https://github.com/freebsd/freebsd/commit/75b18a5d5f4a8355e59917a640f80db350e178d3

Mon, Nov 16, 11:34 AM
arichardson requested review of D27234: Attempt to unbreak bmake bootstrap on Linux.
Mon, Nov 16, 11:33 AM

Fri, Nov 13

arichardson accepted D27211: Add a guard for broken SUBDIR.${MK_FOO} use.

git blame points at https://github.com/CTSRD-CHERI/cheribsd/commit/4d2d3d6dc7e7e38ce6403654f0f998e79ca4e0c4

Fri, Nov 13, 11:17 PM
arichardson added a comment to D27200: Add lists for customizing legacy and bootstrap-tools..

Looks good to me.

Fri, Nov 13, 3:39 PM
arichardson added inline comments to D25992: Add necessary Makefile.inc1 infrastructure for building on non-FreeBSD.
Fri, Nov 13, 3:34 PM
arichardson committed rS367636: Makefile.inc1: remove no-longer required variable.
Makefile.inc1: remove no-longer required variable
Fri, Nov 13, 1:19 PM

Thu, Nov 12

arichardson added inline comments to D25992: Add necessary Makefile.inc1 infrastructure for building on non-FreeBSD.
Thu, Nov 12, 9:25 PM

Wed, Nov 11

arichardson requested review of D27177: Add .cfi_{start,end}proc for RISC-V assembly functions.
Wed, Nov 11, 12:33 PM
arichardson requested review of D27175: Fix -Wpointer-sign warnings in makefs and mkimg.
Wed, Nov 11, 10:19 AM

Tue, Nov 10

arichardson added a comment to D27153: Don't include libarchive fuzz tests by default.

I think this is fine in principle, but ideally would be a run-time instead of build-time check.

We should also find a way to ensure we add good fuzz testing via CI at some point (i.e., don't just commit this and never revisit).

There is a SKIP_TEST_FUZZ variable that could be set in functional_test.sh: https://github.com/freebsd/freebsd/blob/4e9412c9eec32da012f06fd9553b1d14232227ae/contrib/libarchive/libarchive/test/test_fuzz.c#L63

I just thought we might as well skip listing those test if we aren't going to run them.

I also think this is fine. There are some buzz tests in libarchive weren't stable, for example, https://bugs.freebsd.org/241662 (They recently become more stable in both ci.freebsd.org and upstream.)

The only comment from me is we're using LIBARCHIVE_INCLUDE_TEST_FUZZ vaiable here, and for GoogleTest we use a toggle with another naming scheme. Is there a way to easily build, install and default to run all the tests in the code base? Say, all can be enabled by a toggle like WITH_EXTRA_TESTS that will be useful to check all the available test codes in the tree, and do improvement and categorizing, for the purpose that we want to create lists of tests with different purposes.

Tue, Nov 10, 9:03 AM

Mon, Nov 9

arichardson added a comment to D27153: Don't include libarchive fuzz tests by default.

I think this is fine in principle, but ideally would be a run-time instead of build-time check.

We should also find a way to ensure we add good fuzz testing via CI at some point (i.e., don't just commit this and never revisit).

Mon, Nov 9, 8:04 PM
arichardson requested review of D27153: Don't include libarchive fuzz tests by default.
Mon, Nov 9, 7:27 PM
arichardson requested review of D27151: qeueue.h: Add {SLIST,STAILQ,LIST,TAILQ}_END().
Mon, Nov 9, 6:12 PM
arichardson added a comment to D26473: Significantly speed up libthr/mutex_test and make more reliable.

ping @ngie ?

Mon, Nov 9, 4:47 PM

Thu, Nov 5

arichardson added inline comments to D27102: bsd.lib.mk: Work around build system raciness.
Thu, Nov 5, 1:39 PM
arichardson updated the summary of D27102: bsd.lib.mk: Work around build system raciness.
Thu, Nov 5, 10:11 AM
arichardson requested review of D27102: bsd.lib.mk: Work around build system raciness.
Thu, Nov 5, 10:10 AM

Wed, Nov 4

arichardson added a comment to D27088: Add .cfi_{start,end}proc annotations for MIPS assembly.

This may help clang: https://reviews.llvm.org/D80392

Wed, Nov 4, 8:31 PM
arichardson added a comment to D27088: Add .cfi_{start,end}proc annotations for MIPS assembly.

Hm, wanna see if it compiles using gcc-6 instead? mips32 SHOULD compile now, as long as you disable ZFS.

(I'm still working on the GCC build fixes.)

Or if you want until the weekend, I can test this out in my local mips32 + gcc6 setup for you.

Did you want to poke this upstream to llvm and find out what we're doing wrong or if it's a toolchain bug?

Wed, Nov 4, 8:19 PM
arichardson added a comment to D27088: Add .cfi_{start,end}proc annotations for MIPS assembly.

MALTA currently fails with

ld: error: /tmp/inckern-c4cc73.o:(.eh_frame): PC offset is too large: 0xfffffffeff7eae24

I guess I'll just not remove the .cfi annotations for that function. Although I don't quite understand why I'm getting that error.

Wed, Nov 4, 7:30 PM
arichardson planned changes to D27088: Add .cfi_{start,end}proc annotations for MIPS assembly.

MALTA currently fails with

ld: error: /tmp/inckern-c4cc73.o:(.eh_frame): PC offset is too large: 0xfffffffeff7eae24

I guess I'll just not remove the .cfi annotations for that function. Although I don't quite understand why I'm getting that error.

Wed, Nov 4, 7:24 PM
arichardson added a comment to D27088: Add .cfi_{start,end}proc annotations for MIPS assembly.

Hm, how's this work on mips32? Has anyone spun this up in qemu on malta+mips32?

I've not tried building MIPS32 but I don't see why it would be any different from MIPS64. It just tells the compiler to place some extra data in .eh_frame.

Wed, Nov 4, 7:18 PM
arichardson added a comment to D27088: Add .cfi_{start,end}proc annotations for MIPS assembly.

Hm, how's this work on mips32? Has anyone spun this up in qemu on malta+mips32?

Wed, Nov 4, 7:18 PM
arichardson updated the diff for D27088: Add .cfi_{start,end}proc annotations for MIPS assembly.

Drop unnecessary change

Wed, Nov 4, 2:52 PM
arichardson requested review of D27088: Add .cfi_{start,end}proc annotations for MIPS assembly.
Wed, Nov 4, 2:49 PM
arichardson closed D26885: Fix bad libbxo format strings in jls.
Wed, Nov 4, 2:32 PM
arichardson committed rS367331: Fix bad libbxo format strings in jls.
Fix bad libbxo format strings in jls
Wed, Nov 4, 2:32 PM

Wed, Oct 28

arichardson closed D26747: Speed up Cirrus CI by using CROSS_TOOLCHAIN.
Wed, Oct 28, 11:54 AM
arichardson committed rS367102: Speed up Cirrus CI by using CROSS_TOOLCHAIN.
Speed up Cirrus CI by using CROSS_TOOLCHAIN
Wed, Oct 28, 11:54 AM
arichardson closed D26751: Significantly reduce compile time for googletest internal tests.
Wed, Oct 28, 11:54 AM
arichardson closed D26978: clang-format: Avoid breaking after the opening paren of function definitions.
Wed, Oct 28, 11:54 AM
arichardson committed rS367101: Significantly reduce compile time for googletest internal tests.
Significantly reduce compile time for googletest internal tests
Wed, Oct 28, 11:54 AM
arichardson committed rS367100: clang-format: Avoid breaking after the opening paren of function definitions.
clang-format: Avoid breaking after the opening paren of function definitions
Wed, Oct 28, 11:54 AM
arichardson closed D26979: clang-format: place sys/systm.h immediately after sys/param.h.
Wed, Oct 28, 11:54 AM
arichardson committed rS367099: clang-format: place sys/systm.h immediately after sys/param.h.
clang-format: place sys/systm.h immediately after sys/param.h
Wed, Oct 28, 11:54 AM

Oct 27 2020

arichardson added a comment to D26978: clang-format: Avoid breaking after the opening paren of function definitions.
In D26978#601758, @cem wrote:

LGTM. You could go ahead and commit the changes that work with current clang-format separately, if you're waiting on upstream for the AllowAllArgumentsOnNextLine.

Do you know if there is a mechanism to get the type and qualifiers on an independent line before the function name? That jumps out as a missing piece in both examples. Thanks!

Oct 27 2020, 5:00 PM
arichardson updated the summary of D26978: clang-format: Avoid breaking after the opening paren of function definitions.
Oct 27 2020, 4:59 PM
arichardson requested review of D26979: clang-format: place sys/systm.h immediately after sys/param.h.
Oct 27 2020, 4:52 PM
arichardson requested review of D26978: clang-format: Avoid breaking after the opening paren of function definitions.
Oct 27 2020, 4:39 PM
arichardson added a comment to D26747: Speed up Cirrus CI by using CROSS_TOOLCHAIN.

ping?

Oct 27 2020, 11:43 AM
arichardson added a comment to D26885: Fix bad libbxo format strings in jls.

ping?

Oct 27 2020, 11:43 AM

Oct 26 2020

arichardson added a comment to D26928: Add atf-lua, a lua analog to atf-sh(1) and atf-sh(3).

Thanks for working on this! Hopefully this means fewer atf-sh tests in the future. Tests written in shell are unnecessarily slow and massively increase CI time on emulated platforms such as QEMU (and even more so on CHERI QEMU since we have to emulate tagged memory).

Oct 26 2020, 10:45 AM

Oct 25 2020

arichardson added inline comments to D26953: riscv: add support for SBI legacy replacement functions.
Oct 25 2020, 10:49 PM

Oct 21 2020

arichardson updated the diff for D26885: Fix bad libbxo format strings in jls.

Fix json output

Oct 21 2020, 11:23 AM
arichardson abandoned D26886: [UPSTREAM] Fix bad libbxo format strings in jls.

Accidental duplicate

Oct 21 2020, 11:22 AM
arichardson requested review of D26886: [UPSTREAM] Fix bad libbxo format strings in jls.
Oct 21 2020, 11:22 AM
arichardson requested review of D26885: Fix bad libbxo format strings in jls.
Oct 21 2020, 11:18 AM

Oct 20 2020

arichardson added inline comments to D26751: Significantly reduce compile time for googletest internal tests.
Oct 20 2020, 9:32 PM
arichardson updated the summary of D26751: Significantly reduce compile time for googletest internal tests.
Oct 20 2020, 8:04 AM
arichardson updated the diff for D26751: Significantly reduce compile time for googletest internal tests.

Use -O0 instead and update comment

Oct 20 2020, 8:04 AM
arichardson added a comment to D26751: Significantly reduce compile time for googletest internal tests.
In D26751#599214, @ngie wrote:
In D26751#599033, @dim wrote:

Might as well go full -O0. :)

Running the tests at -O2 in QEMU amd64 took:
44.52 real 27.28 user 13.96 sys
Changing it to -O1 makes it
91.80 real 73.32 user 14.28 sys
and -O0 results in
109.46 real 90.08 user 14.38 sys

So we might as well use -O0 since it doesn't seem to make much of a run time difference but has a big impact on compile time :)

What is the disk space size like in each case?

Oct 20 2020, 7:58 AM

Oct 19 2020

arichardson updated the summary of D26067: Don't build googletest internal tests by default.
Oct 19 2020, 10:38 PM
arichardson updated the diff for D26067: Don't build googletest internal tests by default.

update

Oct 19 2020, 10:36 PM
arichardson closed D26748: Major improvement to build parallelism for googletest internal tests.
Oct 19 2020, 7:51 PM
arichardson closed D26760: Enable SUBDIR_PARALLEL for lib/googletest.
Oct 19 2020, 7:51 PM
arichardson committed rS366850: Major improvement to build parallelism for googletest internal tests.
Major improvement to build parallelism for googletest internal tests
Oct 19 2020, 7:51 PM
arichardson committed rS366851: Enable SUBDIR_PARALLEL for lib/googletest.
Enable SUBDIR_PARALLEL for lib/googletest
Oct 19 2020, 7:51 PM
arichardson added a comment to D26751: Significantly reduce compile time for googletest internal tests.
In D26751#599033, @dim wrote:

Might as well go full -O0. :)

Oct 19 2020, 7:44 PM
arichardson added a reviewer for D26751: Significantly reduce compile time for googletest internal tests: dim.
Oct 19 2020, 5:17 PM
arichardson added a comment to D26473: Significantly speed up libthr/mutex_test and make more reliable.

ping?

Oct 19 2020, 10:30 AM

Oct 18 2020

arichardson closed D26796: Significantly speed up mkimg_test.
Oct 18 2020, 6:35 PM
arichardson committed rS366815: Significantly speed up mkimg_test.
Significantly speed up mkimg_test
Oct 18 2020, 6:35 PM

Oct 15 2020

arichardson requested review of D26796: Significantly speed up mkimg_test.
Oct 15 2020, 3:12 PM
arichardson added a comment to D26067: Don't build googletest internal tests by default.

I think this option should be set to on in the default ci.freebsd environment, but most users probably don't need to run these tests.

Oct 15 2020, 9:34 AM
arichardson added inline comments to D26067: Don't build googletest internal tests by default.
Oct 15 2020, 9:32 AM
arichardson added a comment to D26776: Skip make includes for (most) directories without includes.

Please don't. This is such a huge niche micro optimization. -j1 isn't normal and I don't see this being worth the maintenance cost.

Plus it breaks downstream builds and probably ports.

Stop hardcoding stuff that is harder to maintain!

Oct 15 2020, 8:18 AM

Oct 14 2020

arichardson closed D26779: Rewrite pfctl_test in C to reduce testsuite run time.
Oct 14 2020, 5:40 PM
arichardson committed rS366708: Rewrite pfctl_test in C to reduce testsuite run time.
Rewrite pfctl_test in C to reduce testsuite run time
Oct 14 2020, 5:40 PM
arichardson updated the diff for D26779: Rewrite pfctl_test in C to reduce testsuite run time.
  • fix typo in filename
Oct 14 2020, 5:33 PM
arichardson added inline comments to D26776: Skip make includes for (most) directories without includes.
Oct 14 2020, 5:24 PM
arichardson added a comment to D26779: Rewrite pfctl_test in C to reduce testsuite run time.
In D26779#597081, @kp wrote:

Simple /usr/tests/sbin/pfctl % sudo kyua test (So I start kyua in the /usr/tests/sbin/pfctl directory)

Oct 14 2020, 4:40 PM
arichardson updated the diff for D26779: Rewrite pfctl_test in C to reduce testsuite run time.
  • set errno to zero before read() loop
Oct 14 2020, 4:39 PM
arichardson added a comment to D26779: Rewrite pfctl_test in C to reduce testsuite run time.
In D26779#597070, @kp wrote:

I've not yet looked into the why, but this seems to fail for me:

pfctl_test:pf0001 -> failed: /usr/src/sbin/pfctl/tests/pfctl_test.c:100: Expected errno 0, got 2, in count == 0 && "Should have reached EOF" [0.007s]

Oct 14 2020, 4:28 PM
arichardson updated the diff for D26779: Rewrite pfctl_test in C to reduce testsuite run time.
  • fix license header
Oct 14 2020, 3:47 PM
arichardson updated the diff for D26779: Rewrite pfctl_test in C to reduce testsuite run time.

remove another unused file

Oct 14 2020, 2:09 PM
arichardson requested review of D26779: Rewrite pfctl_test in C to reduce testsuite run time.
Oct 14 2020, 2:08 PM
arichardson committed rS366699: Fix more -Wundef warnings during bootstrap.
Fix more -Wundef warnings during bootstrap
Oct 14 2020, 12:29 PM
arichardson committed rS366698: Don't build the malo module with clang 10.
Don't build the malo module with clang 10
Oct 14 2020, 12:29 PM
arichardson closed D26041: install(1): Avoid unncessary fstatfs() calls and use mmap() based on size.
Oct 14 2020, 12:29 PM