Page MenuHomeFreeBSD

brooks (Brooks Davis)
User

Projects

User Details

User Since
Jul 1 2014, 6:02 PM (589 w, 5 h)

Recent Activity

Wed, Oct 8

brooks added a comment to D52933: cross-build: Define __GNUC_PREREQ__ in cdefs.h.

I'm also a little confused as to where __GNUC_PREREQ__ came from when all the references I can find online are to __GNUC_PREREQ (no trailing __).

Are you sure that's not __GNU_PREREQ?

Wed, Oct 8, 3:53 PM
brooks added a comment to D52933: cross-build: Define __GNUC_PREREQ__ in cdefs.h.

That would probably work too, assuming that all the versions of clang we care about have __has_builtin as well. At a glance that seems to be the case.

Wed, Oct 8, 3:30 PM
brooks added a comment to D52933: cross-build: Define __GNUC_PREREQ__ in cdefs.h.

Could we not just swap the order of the checks in stdckdint.h so clang never evaluates __GNUC_PREREQ__? We're already requiring at least an always-false __has_builtin in the next section in cdefs.h.

Wed, Oct 8, 1:34 PM
brooks committed rGfd895b4f0423: arch.7: Add CHERI architectures (authored by jhb).
arch.7: Add CHERI architectures
Wed, Oct 8, 9:35 AM
brooks committed rG2fe28202aaac: arch.7: decouple long and pointer sizes (authored by jhb).
arch.7: decouple long and pointer sizes
Wed, Oct 8, 9:35 AM
brooks committed rG9e7eb261e6f9: arch.7: deprecate __ILP32__ and __LP64__ macros (authored by brooks).
arch.7: deprecate __ILP32__ and __LP64__ macros
Wed, Oct 8, 9:34 AM
brooks closed D52822: arch.7: Add CHERI architectures.
Wed, Oct 8, 9:34 AM
brooks closed D52821: arch.7: decouple long and pointer sizes.
Wed, Oct 8, 9:34 AM
brooks closed D52820: arch.7: deprecate __ILP32__ and __LP64__ macros.
Wed, Oct 8, 9:34 AM
brooks abandoned D49322: release/vm: don't run newaliases in VM root.

@cperciva committed the same thing in 0a3792d5c5764945259333db4c66774385f01ba7

Wed, Oct 8, 8:02 AM

Tue, Oct 7

brooks updated the diff for D52822: arch.7: Add CHERI architectures.

Drop riscv_clen and add CHERI__

Tue, Oct 7, 1:31 PM
brooks updated the diff for D52822: arch.7: Add CHERI architectures.

Mention __riscv_clen. It definitly exists in CHERI LLVM, I didn't have
an easy way to check RV64Y so go with this for now.

Tue, Oct 7, 9:40 AM
brooks updated the diff for D52820: arch.7: deprecate __ILP32__ and __LP64__ macros.

Corrections and suggestions from @jhb

Tue, Oct 7, 9:39 AM

Fri, Oct 3

brooks updated the diff for D52822: arch.7: Add CHERI architectures.

Add (planned) to CHERI architectures

Fri, Oct 3, 3:30 PM
brooks updated the diff for D52820: arch.7: deprecate __ILP32__ and __LP64__ macros.

Actully add previous change I guess I hadn't rebased

Fri, Oct 3, 3:27 PM
brooks updated the diff for D52822: arch.7: Add CHERI architectures.

Address suggestions from markj and kib

Fri, Oct 3, 8:09 AM
brooks added a comment to D52820: arch.7: deprecate __ILP32__ and __LP64__ macros.

FWIW, we do currently add __LP64__ to CFLAGS in bsd.cpu.mk has a hack because there's a lot of code of the form:

#ifdef __LP64__
// 64-bit stuff
#else 
// 32-bit stuff
#endif

and we haven't cleaned it all up yet. The goal here is to get people stop adding more. It is usually less wrong to write:

#ifdef __ILP32__
// 32-bit stuff
#else 
// 64-bit stuff
#endif

since much of the time a the 64-bit stuff isn't about pointer size.

Fri, Oct 3, 8:05 AM
brooks updated the diff for D52820: arch.7: deprecate __ILP32__ and __LP64__ macros.

Be explicit that the compiler does not define LP64 on CHERI
architectures. Don't bother mentioning ILP32 as FreeBSD will never
support 32-bit CHERI.

Fri, Oct 3, 7:59 AM

Thu, Oct 2

brooks updated the diff for D52822: arch.7: Add CHERI architectures.

Revise wording around ptrdiff_t, etc use.

Thu, Oct 2, 9:54 AM
brooks updated the diff for D52820: arch.7: deprecate __ILP32__ and __LP64__ macros.

Attempt to approve wording around continued use of ILP32 and LP64.

Thu, Oct 2, 9:53 AM
brooks committed rGf7b6ea699b23: arch.7: correct claim about ILP32 alignment (authored by brooks).
arch.7: correct claim about ILP32 alignment
Thu, Oct 2, 9:29 AM
brooks committed rG0a551f8a7d68: arch.7: Remove mention of PDP11_ENDIAN (authored by brooks).
arch.7: Remove mention of PDP11_ENDIAN
Thu, Oct 2, 9:29 AM
brooks committed rG90d2aedbb964: bsd.cpu.mk: Fix whitespace appending to MACHINE_ABI (authored by brooks).
bsd.cpu.mk: Fix whitespace appending to MACHINE_ABI
Thu, Oct 2, 9:29 AM
brooks closed D52818: arch.7: correct claim about ILP32 alignment.
Thu, Oct 2, 9:29 AM
brooks closed D52817: arch.7: Remove mention of PDP11_ENDIAN.
Thu, Oct 2, 9:29 AM
brooks closed D52833: bsd.cpu.mk: Fix whitespace appending to MACHINE_ABI.
Thu, Oct 2, 9:29 AM

Wed, Oct 1

brooks added a comment to D52833: bsd.cpu.mk: Fix whitespace appending to MACHINE_ABI.
In D52833#1207103, @imp wrote:

Fun. Commit message could be better at explaining why this happens with the old code

Wed, Oct 1, 4:23 PM
brooks requested review of D52833: bsd.cpu.mk: Fix whitespace appending to MACHINE_ABI.
Wed, Oct 1, 3:55 PM
brooks updated the diff for D52822: arch.7: Add CHERI architectures.
  • Restore CHERI bits from D52821
  • Add some words about intptr_t being a capability type
Wed, Oct 1, 10:22 AM
brooks updated the diff for D52821: arch.7: decouple long and pointer sizes.
  • Remove stray CHERI bits. Will reappear in D52822
Wed, Oct 1, 10:21 AM
brooks added a comment to D52818: arch.7: correct claim about ILP32 alignment.

I guess there's also 32-bit MIPS in 13 still, and this doc claims to apply to 13.0 and later unless otherwise noted. But it doesn't matter as MIPS has already been removed from all of the individual tables.

Wed, Oct 1, 10:11 AM
brooks added a comment to D52818: arch.7: correct claim about ILP32 alignment.

Is this true for 32-bit powerpc as well?

Wed, Oct 1, 9:46 AM
brooks updated subscribers of D52822: arch.7: Add CHERI architectures.

This and the commits before it in the stack are intended to start documenting CHERI as it impacts the ABI. I'll probably MFC at least the _ILP32__/__LP64__ one.

Wed, Oct 1, 9:42 AM
brooks requested review of D52822: arch.7: Add CHERI architectures.
Wed, Oct 1, 9:40 AM
brooks requested review of D52821: arch.7: decouple long and pointer sizes.
Wed, Oct 1, 9:40 AM
brooks requested review of D52820: arch.7: deprecate __ILP32__ and __LP64__ macros.
Wed, Oct 1, 9:40 AM
brooks requested review of D52818: arch.7: correct claim about ILP32 alignment.
Wed, Oct 1, 9:27 AM
brooks requested review of D52817: arch.7: Remove mention of PDP11_ENDIAN.
Wed, Oct 1, 9:26 AM

Thu, Sep 25

brooks removed a member for MIPS: brooks.
Thu, Sep 25, 11:18 AM

Wed, Sep 24

brooks committed R11:7eac8b14b701: devel/llvm21: 21.1.2 release (authored by brooks).
devel/llvm21: 21.1.2 release
Wed, Sep 24, 3:39 PM

Mon, Sep 15

brooks committed R11:10737ac0e43a: devel/llvm-cheriot: New LLVM 21 based snapshot (authored by brooks).
devel/llvm-cheriot: New LLVM 21 based snapshot
Mon, Sep 15, 1:08 PM

Sep 11 2025

brooks committed R11:ca6ea7057ff8: devel/llvm21: 21.1.1 release (authored by brooks).
devel/llvm21: 21.1.1 release
Sep 11 2025, 12:51 PM
brooks committed R11:2362e4989238: devel/llvm-{cheri,morello}: new snapshots (authored by brooks).
devel/llvm-{cheri,morello}: new snapshots
Sep 11 2025, 9:41 AM
brooks committed R11:aa7a44ca22e0: devel/llvm-devel: new snapshot (authored by brooks).
devel/llvm-devel: new snapshot
Sep 11 2025, 9:41 AM

Sep 3 2025

brooks committed rG4b8eebe9754a: tcpdump: don't create unused version.c (authored by brooks).
tcpdump: don't create unused version.c
Sep 3 2025, 12:13 PM
brooks committed rGd376524a5d31: tcpdump: get BINDIR from usr.sbin/Makefile.inc [NFC] (authored by brooks).
tcpdump: get BINDIR from usr.sbin/Makefile.inc [NFC]
Sep 3 2025, 12:13 PM
brooks committed rG9f670001410d: tcpdump: drop no-op LBL_ALIGN macro (authored by brooks).
tcpdump: drop no-op LBL_ALIGN macro
Sep 3 2025, 12:13 PM
brooks closed D52334: tcpdump: don't create unused version.c.
Sep 3 2025, 12:13 PM
brooks closed D52333: tcpdump: drop no-op LBL_ALIGN macro.
Sep 3 2025, 12:13 PM
brooks closed D52332: tcpdump: get BINDIR from usr.sbin/Makefile.inc [NFC].
Sep 3 2025, 12:13 PM

Sep 2 2025

brooks added a comment to D52334: tcpdump: don't create unused version.c.
In D52334#1194932, @jrm wrote:

What am I missing?

jrm@asn /usr/src/usr.sbin/tcpdump [arcpatch-D52334_1|✔] % sudo make clean
===> libnetdissect (clean)
cd: /usr/src/usr.sbin/tcpdump/libnetdissect: No such file or directory
*** Error code 2

Stop.
make: stopped making "clean" in /usr/src/usr.sbin/tcpdump
Sep 2 2025, 1:21 PM
brooks updated the diff for D52334: tcpdump: don't create unused version.c.

Remove stray downstream bits

Sep 2 2025, 1:20 PM
brooks requested review of D52334: tcpdump: don't create unused version.c.
Sep 2 2025, 8:50 AM
brooks requested review of D52333: tcpdump: drop no-op LBL_ALIGN macro.
Sep 2 2025, 8:50 AM
brooks requested review of D52332: tcpdump: get BINDIR from usr.sbin/Makefile.inc [NFC].
Sep 2 2025, 8:50 AM

Aug 28 2025

brooks accepted D52196: bsdinstall, release: Set time and time zone earlier and use for live system.

I wonder if there is somewhere we should be being shouty about the time needing to be correct?

Aug 28 2025, 8:07 AM

Aug 27 2025

brooks requested review of D52179: stdio.h: GC an obsolete comment.
Aug 27 2025, 1:18 PM
brooks committed R11:7fd53002788e: devel/llvm21: 21.1.0 Release (authored by brooks).
devel/llvm21: 21.1.0 Release
Aug 27 2025, 10:24 AM

Aug 26 2025

brooks added a comment to D51619: kern: Introduce kexec system feature (MI).

One comment, but looks good from a syscall perspective.

Aug 26 2025, 8:23 AM

Aug 20 2025

brooks accepted D52032: imgact_elf: Add helper macros for name of the ELF ABI (elf32 vs elf64).
Aug 20 2025, 5:17 PM

Aug 12 2025

brooks committed R11:361e2d8f23ad: devel/llvm21: 21.1.0-rc3 (authored by brooks).
devel/llvm21: 21.1.0-rc3
Aug 12 2025, 10:42 AM
brooks added inline comments to D51619: kern: Introduce kexec system feature (MI).
Aug 12 2025, 8:54 AM

Aug 11 2025

brooks committed rG0f434b2b5060: rtld: require MAP_GUARD support (authored by brooks).
rtld: require MAP_GUARD support
Aug 11 2025, 11:20 AM
brooks closed D50731: rtld: require MAP_GUARD support.
Aug 11 2025, 11:19 AM
brooks abandoned D50054: armv7: drop alloca from libc.

Abandon in favor of dropping the default version in D51858

Aug 11 2025, 11:08 AM
brooks requested review of D51858: libc/armv7: remove default verison of alloca.
Aug 11 2025, 11:07 AM
brooks updated the diff for D50731: rtld: require MAP_GUARD support.
  • Fix base flags
  • Retain P_OSREL_MAP_GUARD definition
Aug 11 2025, 10:37 AM
brooks accepted D51848: [RFC] build: introduce the notion of a build epoch.
Aug 11 2025, 8:33 AM

Aug 10 2025

brooks accepted D51840: krb5: Don't install gssapi.h twice.

LGTM. This is about what I was going to do, except I couldn't figure out which gssapi.h to not install.

Aug 10 2025, 11:19 AM
brooks added a comment to D5650: libc: add per-arch backwards compatability symbol control.
In D5650#1184327, @imp wrote:

This probably shouldn't land in quite this shape, but I'd really like avoid shipping FreeBSD/RISC-V+CHERI with never support symbols. There's always libc.so.16, but that might be too exciting and someone would have to organize the purge...

So the question is: is this review close enough to a good solution to keep open? Or should you steal the idea, with credit, and get on with it?

Aug 10 2025, 11:17 AM · srcmgr

Aug 8 2025

brooks added a comment to D5650: libc: add per-arch backwards compatability symbol control.

This probably shouldn't land in quite this shape, but I'd really like avoid shipping FreeBSD/RISC-V+CHERI with never support symbols. There's always libc.so.16, but that might be too exciting and someone would have to organize the purge...

Aug 8 2025, 6:27 PM · srcmgr
brooks committed R11:5d2face39913: devel/llvm-devel: new snapshot (authored by brooks).
devel/llvm-devel: new snapshot
Aug 8 2025, 5:31 PM
brooks committed rG8d26a9da0c94: amd64: assume the kernel supports RDFSBASE and RDGSBASE (authored by brooks).
amd64: assume the kernel supports RDFSBASE and RDGSBASE
Aug 8 2025, 5:18 PM
brooks closed D50732: amd64: assume the kernel supports RDFSBASE and RDGSBASE.
Aug 8 2025, 5:18 PM
brooks committed rG7988e7e1675d: sysent: regen to mark _exit _Noreturn (authored by brooks).
sysent: regen to mark _exit _Noreturn
Aug 8 2025, 9:39 AM
brooks committed rG202ac0975edc: sysent: add a new NORETURN type flag (authored by brooks).
sysent: add a new NORETURN type flag
Aug 8 2025, 9:39 AM
brooks committed rG2a2556879b4f: syscalls.master: mark _exit as not returning (authored by brooks).
syscalls.master: mark _exit as not returning
Aug 8 2025, 9:39 AM
brooks committed rG8433f8cd064a: sysent: regen for _exit(2) normalization (authored by brooks).
sysent: regen for _exit(2) normalization
Aug 8 2025, 9:39 AM
brooks committed rGe7e964cb2ebd: syscalls: normalize _exit(2) declerations (authored by brooks).
syscalls: normalize _exit(2) declerations
Aug 8 2025, 9:39 AM
brooks committed rGfd4cdc438b77: rtld: fix dependencies for rtld-libc (authored by brooks).
rtld: fix dependencies for rtld-libc
Aug 8 2025, 9:39 AM
brooks closed D51674: syscalls.master: mark _exit as not returning.
Aug 8 2025, 9:39 AM
brooks closed D51673: sysent: add a new NORETURN type flag.
Aug 8 2025, 9:39 AM
brooks closed D51672: syscalls: normalize _exit(2) declerations.
Aug 8 2025, 9:39 AM
brooks closed D51790: rtld: fix dependencies for rtld-libc.
Aug 8 2025, 9:39 AM
brooks updated the summary of D51790: rtld: fix dependencies for rtld-libc.
Aug 8 2025, 9:27 AM

Aug 7 2025

brooks updated the summary of D51790: rtld: fix dependencies for rtld-libc.
Aug 7 2025, 2:08 PM
brooks added a comment to D51790: rtld: fix dependencies for rtld-libc.

Without this change, touching libsys_pic.a in the object tree had no effect. This in turn was causing bootstrap problems when the contents of _exit.pico changed in libsys.

Aug 7 2025, 1:20 PM
brooks requested review of D51790: rtld: fix dependencies for rtld-libc.
Aug 7 2025, 12:38 PM

Aug 6 2025

brooks added inline comments to D51619: kern: Introduce kexec system feature (MI).
Aug 6 2025, 4:44 PM
brooks updated the diff for D51672: syscalls: normalize _exit(2) declerations.
  • Make SYS_exit definition a config option rather than a special case in the script
Aug 6 2025, 1:04 PM
brooks committed rG40a4508c4f90: libthr: GC unused _sigsuspend() (authored by brooks).
libthr: GC unused _sigsuspend()
Aug 6 2025, 12:52 PM
brooks committed rG401d39e38937: libsys: add a dependency for syscall stubs (authored by brooks).
libsys: add a dependency for syscall stubs
Aug 6 2025, 12:52 PM
brooks committed rGb59aecef032e: libc: stop trying to create __<syscall> symbols (authored by brooks).
libc: stop trying to create __<syscall> symbols
Aug 6 2025, 12:52 PM
brooks closed D51670: libthr: GC unused _sigsuspend().
Aug 6 2025, 12:52 PM
brooks closed D51668: libc: stop trying to create __<syscall> symbols.
Aug 6 2025, 12:52 PM
brooks closed D51671: libsys: add a dependency for syscall stubs.
Aug 6 2025, 12:52 PM
brooks added a comment to D50952: kerberos5: Avoid embedding full paths in generated files.

I fear the underlying code code isn't safe. The problem is that each of the value of GEN_* is a target on its own. As a demonstrator I created a trivial makefile:

GEN=a b c d
${GEN}:
        touch ${GEN}

I you ask it to make multiple targets in parallel with something like make -j40 a b c d the generator runs more than once:

--- a ---
--- b ---
--- c ---
--- d ---
--- a ---
touch a b c d
--- b ---
touch a b c d
--- c ---
touch a b c d
--- d ---
touch a b c d

It probably works out ok in practice because it just recreates the files with the same contents, but I'm afraid adding the sed will introduce more races. I'm not sure what the correct solution is. Make doesn't really deal well with multiple outputs.

Aug 6 2025, 9:39 AM

Aug 4 2025

brooks committed rGeb9c541a7389: src.conf.5: regen with WITHOUT_MITKRB5 docs (authored by brooks).
src.conf.5: regen with WITHOUT_MITKRB5 docs
Aug 4 2025, 12:59 PM
brooks committed rGd5cbb15f9eda: src.conf.5: add docs for WITHOUT_MITKRB5 (authored by brooks).
src.conf.5: add docs for WITHOUT_MITKRB5
Aug 4 2025, 12:59 PM
brooks committed rGc791ea80b5f7: kadm5srv: get common headers from kadm5clnt (authored by brooks).
kadm5srv: get common headers from kadm5clnt
Aug 4 2025, 12:59 PM