User Details
- User Since
- Jul 1 2014, 6:02 PM (589 w, 5 h)
Wed, Oct 8
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.
@cperciva committed the same thing in 0a3792d5c5764945259333db4c66774385f01ba7
Tue, Oct 7
Drop riscv_clen and add CHERI__
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.
Corrections and suggestions from @jhb
Fri, Oct 3
Add (planned) to CHERI architectures
Actully add previous change I guess I hadn't rebased
Address suggestions from markj and kib
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.
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.
Thu, Oct 2
Revise wording around ptrdiff_t, etc use.
Attempt to approve wording around continued use of ILP32 and LP64.
Wed, Oct 1
- Restore CHERI bits from D52821
- Add some words about intptr_t being a capability type
- Remove stray CHERI bits. Will reappear in D52822
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.
Thu, Sep 25
Wed, Sep 24
Mon, Sep 15
Sep 11 2025
Sep 3 2025
Sep 2 2025
Remove stray downstream bits
Aug 28 2025
I wonder if there is somewhere we should be being shouty about the time needing to be correct?
Aug 27 2025
Aug 26 2025
One comment, but looks good from a syscall perspective.
Aug 20 2025
Aug 12 2025
Aug 11 2025
Abandon in favor of dropping the default version in D51858
- Fix base flags
- Retain P_OSREL_MAP_GUARD definition
Aug 10 2025
LGTM. This is about what I was going to do, except I couldn't figure out which gssapi.h to not install.
Aug 8 2025
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 7 2025
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 6 2025
- Make SYS_exit definition a config option rather than a special case in the script
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.