Page MenuHomeFreeBSD

brooks (Brooks Davis)
User

Projects

User Details

User Since
Jul 1 2014, 6:02 PM (596 w, 1 d)

Recent Activity

Yesterday

brooks added inline comments to D53946: libcasper: fix warnings when _ALIGN preserves types.
Wed, Dec 3, 3:25 PM

Mon, Dec 1

brooks added inline comments to D54009: sys/_types.h: avoid use of __has_feature().
Mon, Dec 1, 11:02 AM
brooks added a reverting change for rG19728f31ae42: sys/_types.h: Unbreak gcc build: D54009: sys/_types.h: avoid use of __has_feature().
Mon, Dec 1, 11:00 AM
brooks requested review of D54009: sys/_types.h: avoid use of __has_feature().
Mon, Dec 1, 10:59 AM
brooks added a reverting change for D53986: sys/_types.h: Actually unbreak gcc build: D54009: sys/_types.h: avoid use of __has_feature().
Mon, Dec 1, 10:59 AM
brooks added a reverting change for D53980: sys/_types.h: Unbreak gcc build: D54009: sys/_types.h: avoid use of __has_feature().
Mon, Dec 1, 10:59 AM
brooks added a reverting change for rG029a09f18032: sys/_types.h: Actually unbreak gcc build: D54009: sys/_types.h: avoid use of __has_feature().
Mon, Dec 1, 10:59 AM
brooks updated the diff for D53947: Add sys/_align.h replacing machine/_align.h.

Clarify why _ALIGN* are obsolete and what should be used instead.

Mon, Dec 1, 9:58 AM
brooks added inline comments to D53946: libcasper: fix warnings when _ALIGN preserves types.
Mon, Dec 1, 9:53 AM

Fri, Nov 28

brooks updated the diff for D53947: Add sys/_align.h replacing machine/_align.h.
  • Attempt to clarity _ALIGN's questionable interface
  • Use __align_up (just wraps the builtin which has is supported on all compilers that support typeof() by a fallback).
Fri, Nov 28, 2:37 PM
brooks updated the summary of D53945: get*ent: be consistant about _ALIGN(p) - p.
Fri, Nov 28, 2:35 PM
brooks updated the diff for D53945: get*ent: be consistant about _ALIGN(p) - p.

Add an inline function to compute the misalignment. To it in nscache.h
rather than libc_private.h as that's also a private header and I don't
want this sort of thing to spread.

Fri, Nov 28, 2:34 PM
brooks added inline comments to D53946: libcasper: fix warnings when _ALIGN preserves types.
Fri, Nov 28, 10:10 AM

Thu, Nov 27

brooks requested review of D53947: Add sys/_align.h replacing machine/_align.h.
Thu, Nov 27, 3:34 PM
brooks requested review of D53946: libcasper: fix warnings when _ALIGN preserves types.
Thu, Nov 27, 3:34 PM
brooks requested review of D53945: get*ent: be consistant about _ALIGN(p) - p.
Thu, Nov 27, 3:33 PM
brooks committed rG4e22cd3bf0b4: add types: (u)int64ptr_t (authored by brooks).
add types: (u)int64ptr_t
Thu, Nov 27, 2:58 PM
brooks closed D53823: add types: (u)int64ptr_t.
Thu, Nov 27, 2:58 PM
brooks committed rG6ebbfe723bd2: sys/_types.h: add __intptr_t to __mbstate_t (authored by brooks).
sys/_types.h: add __intptr_t to __mbstate_t
Thu, Nov 27, 2:57 PM
brooks closed D53822: sys/_types.h: add __intptr_t to __mbstate_t.
Thu, Nov 27, 2:57 PM
brooks committed rG528e70a12ca6: sys/_types.h: add void * to __max_align_t (authored by brooks).
sys/_types.h: add void * to __max_align_t
Thu, Nov 27, 2:57 PM
brooks closed D53821: sys/_types.h: add void * to __max_align_t.
Thu, Nov 27, 2:57 PM
brooks closed D53820: sys/_types.h: define fallback __(u)intcap_t.
Thu, Nov 27, 2:57 PM
brooks closed D53819: sys/_types.h: define __(u)int(f)ptr_t for CHERI.
Thu, Nov 27, 2:57 PM
brooks committed rG85ab981a8e4e: sys/_types.h: define fallback __(u)intcap_t (authored by brooks).
sys/_types.h: define fallback __(u)intcap_t
Thu, Nov 27, 2:57 PM
brooks committed rG96e05e2d1dfc: sys/_types.h: define __(u)int(f)ptr_t for CHERI (authored by brooks).
sys/_types.h: define __(u)int(f)ptr_t for CHERI
Thu, Nov 27, 2:57 PM
brooks closed D53818: sys/_types.h: centralize __vm_offset_t and __vm_size_t definitions.
Thu, Nov 27, 2:57 PM
brooks committed rG6aaba753830e: sys/_types.h: centralize __vm_offset_t and __vm_size_t definitions (authored by brooks).
sys/_types.h: centralize __vm_offset_t and __vm_size_t definitions
Thu, Nov 27, 2:57 PM
brooks closed D53817: new type: ptraddr_t.
Thu, Nov 27, 2:56 PM
brooks committed rGdca634d1544b: new type: ptraddr_t (authored by brooks).
new type: ptraddr_t
Thu, Nov 27, 2:56 PM

Wed, Nov 26

brooks updated subscribers of D53857: 15.0R/relnotes: Add notes on reproducible builds and NO_ROOT builds.
Wed, Nov 26, 4:25 PM · docs
brooks added inline comments to D53857: 15.0R/relnotes: Add notes on reproducible builds and NO_ROOT builds.
Wed, Nov 26, 4:10 PM · docs

Fri, Nov 21

brooks accepted D53791: Use ZFSTOP more broadly.

Seems good to me.

Fri, Nov 21, 12:30 PM
brooks committed rG747e8427e997: sys/syscallsubr.h: fix some whitespace (authored by brooks).
sys/syscallsubr.h: fix some whitespace
Fri, Nov 21, 12:14 PM
brooks committed rG5b3368322b0e: sys/extaddr.h: don't declare struct iovec (authored by brooks).
sys/extaddr.h: don't declare struct iovec
Fri, Nov 21, 12:14 PM

Thu, Nov 20

brooks committed R11:e8e86edcef65: devel/llvm-devel: fix a plist bug (authored by brooks).
devel/llvm-devel: fix a plist bug
Thu, Nov 20, 1:52 PM
brooks updated the diff for D53823: add types: (u)int64ptr_t.

Spelling

Thu, Nov 20, 10:42 AM
brooks updated the diff for D53823: add types: (u)int64ptr_t.

Describe the types

Thu, Nov 20, 10:41 AM
brooks updated the diff for D53838: .github: support all stable branches.

Actually switch to a pattern

Thu, Nov 20, 10:27 AM
brooks updated the diff for D53838: .github: support all stable branches.

Switch to a pattern

Thu, Nov 20, 10:26 AM
brooks retitled D53838: .github: support all stable branches from .github: build on push to stable/15 to .github: support all stable branches.
Thu, Nov 20, 10:25 AM
brooks updated the diff for D53820: sys/_types.h: define fallback __(u)intcap_t.

Add some advice about (not) using __intcap_t

Thu, Nov 20, 10:14 AM
brooks added a comment to D53819: sys/_types.h: define __(u)int(f)ptr_t for CHERI.
In D53819#1229955, @kib wrote:

And where is __intcap_t defined? Is it provided by some MD include, like machine/_types.h?

I do not remember seeing this MD define in the review series. If true, then should __intcap_t added before the use?

Thu, Nov 20, 10:06 AM
brooks requested review of D53838: .github: support all stable branches.
Thu, Nov 20, 9:59 AM
brooks added a comment to D53830: sys/stdint.h: add C23 _WIDTH macros.

I don't feel super strongly about this, but I'm not entirely convinced we should be defining these from first principles. I believe that compilers we care about define __*_WIDTH__ macros we could use instead and things are likely to go very badly wrong if there's disagreement.

Thu, Nov 20, 9:14 AM

Wed, Nov 19

brooks updated subscribers of D53817: new type: ptraddr_t.

How should ptraddr_t and vm_offset_t coexist? Are they semantically different, or should we gradually replace uses of vm_offset_t with ptraddr_t, or?

Wed, Nov 19, 2:25 PM
brooks added inline comments to D53821: sys/_types.h: add void * to __max_align_t.
Wed, Nov 19, 2:09 PM
brooks added a comment to D53817: new type: ptraddr_t.
In D53817#1229542, @kib wrote:

So may be do not expose ptraddr_t yet, until it is finalized? If they choose (slightly) different semantic, we would have a huge problem.

Wed, Nov 19, 1:49 PM
brooks committed R11:b1916a4d5f2d: devel/llvm-devel: new snapshot (authored by brooks).
devel/llvm-devel: new snapshot
Wed, Nov 19, 12:00 PM
brooks committed R11:bfb451c53aab: devel/llvm21: 21.1.6 Release (authored by brooks).
devel/llvm21: 21.1.6 Release
Wed, Nov 19, 12:00 PM
brooks added a comment to D53820: sys/_types.h: define fallback __(u)intcap_t.

On CheriBSD we also include intcap_t and uintcap_t to be friendly, but we're trying to discourage the hybrid programming model so I'd like to stick with __ variants in FreeBSD.

Wed, Nov 19, 11:23 AM
brooks added inline comments to D53823: add types: (u)int64ptr_t.
Wed, Nov 19, 11:22 AM
brooks requested review of D53823: add types: (u)int64ptr_t.
Wed, Nov 19, 11:19 AM
brooks requested review of D53822: sys/_types.h: add __intptr_t to __mbstate_t.
Wed, Nov 19, 11:18 AM
brooks requested review of D53821: sys/_types.h: add void * to __max_align_t.
Wed, Nov 19, 11:18 AM
brooks requested review of D53820: sys/_types.h: define fallback __(u)intcap_t.
Wed, Nov 19, 11:18 AM
brooks requested review of D53819: sys/_types.h: define __(u)int(f)ptr_t for CHERI.
Wed, Nov 19, 11:18 AM
brooks requested review of D53818: sys/_types.h: centralize __vm_offset_t and __vm_size_t definitions.
Wed, Nov 19, 11:16 AM
brooks requested review of D53817: new type: ptraddr_t.
Wed, Nov 19, 11:15 AM
brooks added a comment to D53801: rtld-elf and libsys: remove old forward-compat code for powerpc auxv renumbering.
In D53801#1229342, @kib wrote:

After thinking about this code some more, I realized that it probably should be removed altogether. Basically, it is there to allow to run newer binaries (rtld/libsys) on older (pre-AT_ renumbering) kernels. This was done in ~2019, and arguably outlived even the limited usefulness it had at the time of the commit.

Wed, Nov 19, 9:39 AM

Tue, Nov 18

brooks accepted D53756: setcred: Move initial copyin of struct setcred out to per-ABI syscall.
Tue, Nov 18, 9:36 AM
brooks accepted D53755: MAC: Use the current thread's user ABI to determine the layout of struct mac.

Please add Effort: CHERI upstreaming to the commit message so we count this as part of that effort.

Tue, Nov 18, 9:22 AM
brooks added a comment to D53755: MAC: Use the current thread's user ABI to determine the layout of struct mac.

I'd probably have a slightly different take here, but that doesn't matter much anyway since I think we can have the best of both worlds (keep the real type, but enforce the pointer is not dereferenced), which I'll try to hack as soon as I have more time. It certainly can wait though if you think this is going to interfere badly with Cheri upstreaming.

Tue, Nov 18, 9:20 AM

Mon, Nov 17

brooks accepted D53757: freebsd32_setcred: Copy all of the setcred fields individually.
Mon, Nov 17, 10:08 AM

Thu, Nov 6

brooks committed R11:9974da3354da: devel/llvm21: 21.1.5 release (authored by brooks).
devel/llvm21: 21.1.5 release
Thu, Nov 6, 12:51 AM
brooks committed R11:7779a1b1cb26: devel/llvm11: deprecate (authored by brooks).
devel/llvm11: deprecate
Thu, Nov 6, 12:51 AM

Oct 24 2025

brooks added a reviewer for D53295: xilinx pcib fixes: alfredo.mazzinghi_cl.cam.ac.uk.
Oct 24 2025, 8:05 AM

Oct 23 2025

brooks added a reviewer for D53296: nvme host buffer (HMB): alignment quirck for Crucial NVME: imp.
Oct 23 2025, 10:54 AM

Oct 21 2025

brooks committed R11:1b6eada032c7: devel/llvm21: 21.1.4 release (authored by brooks).
devel/llvm21: 21.1.4 release
Oct 21 2025, 12:01 PM

Oct 20 2025

brooks committed R11:8974264838cc: devel/llvm-devel: fix plist without LLDB (authored by brooks).
devel/llvm-devel: fix plist without LLDB
Oct 20 2025, 10:34 AM

Oct 15 2025

brooks committed R11:756e905f9403: devel/llvm21: 21.1.3 release (authored by brooks).
devel/llvm21: 21.1.3 release
Oct 15 2025, 2:50 PM
brooks committed R11:9d7696fe8449: devel/llvm-devel: new snapshot (authored by brooks).
devel/llvm-devel: new snapshot
Oct 15 2025, 2:50 PM

Oct 8 2025

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?

Oct 8 2025, 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.

Oct 8 2025, 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.

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

@cperciva committed the same thing in 0a3792d5c5764945259333db4c66774385f01ba7

Oct 8 2025, 8:02 AM

Oct 7 2025

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

Drop riscv_clen and add CHERI__

Oct 7 2025, 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.

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

Corrections and suggestions from @jhb

Oct 7 2025, 9:39 AM

Oct 3 2025

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

Add (planned) to CHERI architectures

Oct 3 2025, 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

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

Address suggestions from markj and kib

Oct 3 2025, 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.

Oct 3 2025, 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.

Oct 3 2025, 7:59 AM

Oct 2 2025

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

Revise wording around ptrdiff_t, etc use.

Oct 2 2025, 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.

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

Oct 1 2025

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

Oct 1 2025, 4:23 PM
brooks requested review of D52833: bsd.cpu.mk: Fix whitespace appending to MACHINE_ABI.
Oct 1 2025, 3:55 PM