Page MenuHomeFreeBSD

jrtc27 (Jessica Clarke)
User

Projects

User Details

User Since
Jul 4 2018, 7:23 PM (144 w, 6 d)

Recent Activity

Fri, Apr 9

jrtc27 added inline comments to D29680: bsd.compiler.mk: detect Apple Clang for cross-builds.
Fri, Apr 9, 5:10 PM
jrtc27 retitled D29680: bsd.compiler.mk: detect Apple Clang for cross-builds from [UPSTREAM] bsd.compiler.mk: detect Apple Clang for cross-builds to bsd.compiler.mk: detect Apple Clang for cross-builds.
Fri, Apr 9, 5:01 PM
jrtc27 added inline comments to D29680: bsd.compiler.mk: detect Apple Clang for cross-builds.
Fri, Apr 9, 5:01 PM

Sat, Apr 3

jrtc27 committed R10:7f8acc8d3d3a: zfs: Cherry-pick upstream commit ef977fce6636 to fix macOS/arm64 bootstrap (authored by jrtc27).
zfs: Cherry-pick upstream commit ef977fce6636 to fix macOS/arm64 bootstrap
Sat, Apr 3, 11:30 AM

Thu, Apr 1

jrtc27 added a comment to D29536: libc/string/memset.c: Use unsigned long for stores.

Would (u)intptr_t make more sense so it's faster on CHERI? Doesn't make a difference upstream but does to us.

I thought about that, but that would require additional changes to create an all-ones capability register.

Thu, Apr 1, 2:43 PM
jrtc27 added inline comments to D29535: libc/string/bcopy.c: Use intptr_t as the copy type.
Thu, Apr 1, 2:41 PM
jrtc27 added a comment to D29535: libc/string/bcopy.c: Use intptr_t as the copy type.

intptr_t isn't sufficient for hybrid CHERI though, so we'd still need the diff to make it intcap_t downstream...

Thu, Apr 1, 2:41 PM
jrtc27 added a comment to D29536: libc/string/memset.c: Use unsigned long for stores.

Would (u)intptr_t make more sense so it's faster on CHERI? Doesn't make a difference upstream but does to us.

Thu, Apr 1, 2:39 PM

Tue, Mar 30

jrtc27 added inline comments to D29495: sys/linker_set.h: Add SET_DECLARE_WEAK().
Tue, Mar 30, 2:03 PM
jrtc27 added inline comments to D29495: sys/linker_set.h: Add SET_DECLARE_WEAK().
Tue, Mar 30, 2:00 PM

Sat, Mar 27

jrtc27 committed R10:3a314eb5bb44: zfs: Cherry-pick upstream commit ef977fce6636 to fix macOS/arm64 bootstrap (authored by jrtc27).
zfs: Cherry-pick upstream commit ef977fce6636 to fix macOS/arm64 bootstrap
Sat, Mar 27, 2:25 AM
jrtc27 committed R10:a20427cc0391: elftoolchain: Support building on Arm-based Macs (authored by jrtc27).
elftoolchain: Support building on Arm-based Macs
Sat, Mar 27, 2:11 AM
jrtc27 committed R10:5a9fe096f14c: tools/build: Improve host-symlinks failure mode (authored by jrtc27).
tools/build: Improve host-symlinks failure mode
Sat, Mar 27, 2:11 AM

Mon, Mar 22

jrtc27 added a comment to D29363: libc: Fix longjmp/_longjmp(buf, 0) for AArch64, MIPS and RISC-V.
In D29363#657983, @jhb wrote:

Are the in-kernel impls also broken?

Mon, Mar 22, 7:14 PM

Sun, Mar 21

jrtc27 updated the summary of D29363: libc: Fix longjmp/_longjmp(buf, 0) for AArch64, MIPS and RISC-V.
Sun, Mar 21, 6:26 PM
jrtc27 added a comment to D29363: libc: Fix longjmp/_longjmp(buf, 0) for AArch64, MIPS and RISC-V.

NB: Tests submitted upstream at https://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=56066

Sun, Mar 21, 4:23 PM
jrtc27 added inline comments to D29363: libc: Fix longjmp/_longjmp(buf, 0) for AArch64, MIPS and RISC-V.
Sun, Mar 21, 4:03 PM
jrtc27 requested review of D29363: libc: Fix longjmp/_longjmp(buf, 0) for AArch64, MIPS and RISC-V.
Sun, Mar 21, 4:01 PM

Sat, Mar 20

jrtc27 committed R10:839fdcfc0c1d: elftoolchain: Support building on Arm-based Macs (authored by jrtc27).
elftoolchain: Support building on Arm-based Macs
Sat, Mar 20, 5:58 PM
jrtc27 closed D29352: elftoolchain: Support building on Arm-based Macs.
Sat, Mar 20, 5:58 PM
jrtc27 requested review of D29352: elftoolchain: Support building on Arm-based Macs.
Sat, Mar 20, 4:52 PM
jrtc27 committed R10:8c9e45503fe4: tools/build: Improve host-symlinks failure mode (authored by jrtc27).
tools/build: Improve host-symlinks failure mode
Sat, Mar 20, 1:03 PM

Fri, Mar 19

jrtc27 accepted D29235: Don't add -Winline for WARNS=6.
Fri, Mar 19, 6:39 PM

Mar 14 2021

jrtc27 added inline comments to D29235: Don't add -Winline for WARNS=6.
Mar 14 2021, 3:54 PM

Mar 12 2021

jrtc27 added a comment to D29235: Don't add -Winline for WARNS=6.

This warning very rarely useful (it's a hint and not mandatory) and it

Mar 12 2021, 7:36 PM
jrtc27 added inline comments to D29235: Don't add -Winline for WARNS=6.
Mar 12 2021, 7:04 PM

Mar 8 2021

jrtc27 committed R10:a239b47cc966: if_vtbe: Add missing includes to fix build (authored by jrtc27).
if_vtbe: Add missing includes to fix build
Mar 8 2021, 9:36 PM
jrtc27 committed R10:e3394851b5da: if_vtbe: Add missing includes to fix build (authored by jrtc27).
if_vtbe: Add missing includes to fix build
Mar 8 2021, 9:05 PM
jrtc27 committed R10:f2f8405cf6b5: if_vtbe: Add missing includes to fix build (authored by jrtc27).
if_vtbe: Add missing includes to fix build
Mar 8 2021, 8:53 PM

Mar 4 2021

jrtc27 added a comment to D29064: riscv: fix errors in some atomic type aliases.

Couldn't see anything else in this file, but maybe other architectures are affected? I'd really like it if we could have a single atomic.h that uses compiler intrinsics so there's only one file to scan for typos.

The need for libatomic on some architectures in some cases is the only thing getting in the way of that (which might just be sub-word atomics for RISC-V when using GCC?) :(

Though if our compiler-rt provides them (for userspace consumers that haven't discovered C11) and we add the necessary implementations to the kernel for the affected architectures, perhaps that's fine? Yeah, you'll pay the cost of a function call, but if you want to avoid that then go get a better compiler (or fix the one you're using to not suck).

I think last time I checked, GCC generated the code inline for MIPS/PPC/ARM/AARCH64, but was missing support for RISC-V. I guess we could keep the sub-word inline asm for !defined(clang)?

That'd just be asking for it to bit-rot, but should improve performance slightly when building with Clang so maybe worth it. If it's just RISC-V/GCC that's the issue I have no qualms about adding the necessary assembly to support.S or similar and taking a slight performance hit for already-slow operations that you probably shouldn't be doing in a hot path anyway. There are various related issues with GCC's half-baked implementation tracked in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86005 (which I believe don't affect LLVM unless you mix non-RVA code with RVA code).

Can someone provide a summary of the issues surrounding GCC and libatomic? I'm having a hard time following this discussion.

Is there a reason that we don't/shouldn't ship libatomic with the devel/freebsd-gcc* toolchain ports?

Mar 4 2021, 9:16 PM
jrtc27 added a comment to D29064: riscv: fix errors in some atomic type aliases.

Couldn't see anything else in this file, but maybe other architectures are affected? I'd really like it if we could have a single atomic.h that uses compiler intrinsics so there's only one file to scan for typos.

The need for libatomic on some architectures in some cases is the only thing getting in the way of that (which might just be sub-word atomics for RISC-V when using GCC?) :(

Though if our compiler-rt provides them (for userspace consumers that haven't discovered C11) and we add the necessary implementations to the kernel for the affected architectures, perhaps that's fine? Yeah, you'll pay the cost of a function call, but if you want to avoid that then go get a better compiler (or fix the one you're using to not suck).

I think last time I checked, GCC generated the code inline for MIPS/PPC/ARM/AARCH64, but was missing support for RISC-V. I guess we could keep the sub-word inline asm for !defined(clang)?

Mar 4 2021, 7:49 PM
jrtc27 added a comment to D29064: riscv: fix errors in some atomic type aliases.

Couldn't see anything else in this file, but maybe other architectures are affected? I'd really like it if we could have a single atomic.h that uses compiler intrinsics so there's only one file to scan for typos.

Mar 4 2021, 7:39 PM

Mar 1 2021

jrtc27 committed R10:066dab17e7a4: riscv: Fix whitespace issues in fabs added in 524b018d2004 (authored by jrtc27).
riscv: Fix whitespace issues in fabs added in 524b018d2004
Mar 1 2021, 3:20 PM

Feb 23 2021

jrtc27 added inline comments to D27636: truss: split counting of syscalls and syscall calling convention.
Feb 23 2021, 5:18 PM

Feb 22 2021

jrtc27 committed R10:963cf6cb0fd7: uefi: Add riscv to historical details (authored by jrtc27).
uefi: Add riscv to historical details
Feb 22 2021, 10:28 PM

Feb 20 2021

jrtc27 created P485 (An Untitled Masterwork).
Feb 20 2021, 2:04 AM

Feb 17 2021

jrtc27 added a comment to D28723: Reimplement dtrace_gethrtime() on arm64 to use the cycle counter..
In D28723#643374, @imp wrote:

Seems legit, so long as freq is returned in GHz

Feb 17 2021, 6:49 PM

Feb 16 2021

jrtc27 added a comment to D28712: riscv: Don't set __NO_TLS to disable some uses of TLS..

MIPS should work fine too, and PowerPC64 ELFv1 really needs a comment saying why TLS is broken (and what it would take to remove this hack), though I'm unconvinced it is given that e.g. jemalloc doesn't die a horrible death.

Feb 16 2021, 7:23 PM

Feb 10 2021

jrtc27 added a comment to D28577: While building libm, turn off any math-related compiler builtins.

Doing so for tests makes sense, but why libm itself?

This is because libm has many functions which are implemented in terms of other math functions. For instance, many functions which handle complex arguments are implemented in terms of calling the non-complex variants. E.g. csinh() calls sinh(), cosh(), sin() and cos(). In all these cases, unexpected outcomes could occur if the compiler deciders to shortcut the logic by inserting its own builtins at those call sites.

Feb 10 2021, 8:54 PM
jrtc27 added a comment to D28577: While building libm, turn off any math-related compiler builtins.

Doing so for tests makes sense, but why libm itself?

Feb 10 2021, 7:33 PM
jrtc27 added a comment to D28576: Silence warnings about no-op alignment operations.

If these are preprocessor-time constants you could do #if MTHCA_ICM_PAGE_SIZE < PAGE_SIZE instead.

Feb 10 2021, 6:11 PM
jrtc27 accepted D28323: tools/build/make.py: drop workaround for cc --version not being parsed.

Needs a proper commit message but this should be fine to land now?

Feb 10 2021, 5:22 PM
jrtc27 committed R10:01d07b03ef2b: localedef: Fix bootstrapping on Ubuntu 16.04 (authored by jrtc27).
localedef: Fix bootstrapping on Ubuntu 16.04
Feb 10 2021, 4:42 PM
jrtc27 closed D28317: localedef: Fix bootstrapping on Ubuntu 16.04.
Feb 10 2021, 4:42 PM

Feb 9 2021

jrtc27 committed R10:9c6954329a92: bsd.compiler.mk: Detect distribution-provided GCC when executed as cc (authored by jrtc27).
bsd.compiler.mk: Detect distribution-provided GCC when executed as cc
Feb 9 2021, 9:42 PM
jrtc27 closed D28315: bsd.compiler.mk: Detect distribution-provided GCC when executed as cc.
Feb 9 2021, 9:42 PM

Feb 8 2021

jrtc27 added a comment to D28531: libthr: Avoid TSan false-positives due to internal malloc.
In D28531#638750, @kib wrote:

Are you sure that it is enough to put plain calls to the weak symbols? Usually you have to check them for NULL and avoid calls if they are.

Feb 8 2021, 1:49 PM
jrtc27 added a comment to D28531: libthr: Avoid TSan false-positives due to internal malloc.

I feel like these shouldn't be compiled in by default, as 99.9999% of the time you're not running with TSan and it will just hurt performance.

Yeah the other option would be to use memset/memcpy that is not interposed by TSan/MSan/ASan/etc, but right now I don't see libc exporting an alias that is not interposed. See also D28536

readelf --dyn-symbols /lib/libc.so.7 | grep memcpy
  1750: 00000000001ba060   604 FUNC    GLOBAL DEFAULT    12 memcpy@@FBSD_1.0
  2559: 00000000000dec00    14 FUNC    GLOBAL DEFAULT    12 wmemcpy@@FBSD_1.0
Feb 8 2021, 1:03 PM
jrtc27 added a comment to D28536: libthr: Avoid interposable calls to memcpy/memset/memmove.

memcpy is signal safe since POSIX.1-2016, so that is a bug in TSan.

That's not the problem, the problem is that TSan intercepts memcpy and doesn't know that it's being called from the libthr signal handler wrapper.

Feb 8 2021, 12:58 PM
jrtc27 added a comment to D28531: libthr: Avoid TSan false-positives due to internal malloc.

I feel like these shouldn't be compiled in by default, as 99.9999% of the time you're not running with TSan and it will just hurt performance.

Feb 8 2021, 12:56 PM
jrtc27 added a comment to D28536: libthr: Avoid interposable calls to memcpy/memset/memmove.

memcpy is signal safe since POSIX.1-2016, so that is a bug in TSan.

Feb 8 2021, 12:53 PM

Feb 5 2021

jrtc27 added a comment to D27625: truss: improved support for decoding compat32 arguments.

Hm. Perhaps this should be word_size (or similar) and __SIZEOF_LONG__ rather than pointer_size and __SIZEOF_POINTER__ so there's less churn for CHERI?

Feb 5 2021, 6:20 PM

Feb 1 2021

jrtc27 committed R10:05985a7f805f: arm64: Improve DDB backtrace support (authored by jrtc27).
arm64: Improve DDB backtrace support
Feb 1 2021, 2:18 PM
jrtc27 closed D28026: arm64: Improve DDB backtrace support.
Feb 1 2021, 2:17 PM
jrtc27 added a comment to D28026: arm64: Improve DDB backtrace support.

Is the plan to get this into 13.0?

Yes, once @gnn gets round to reviewing (or resigning from the revision).

He updated the herald rule for DTrace reviews to not add a blocking review (https://reviews.freebsd.org/H36), but I guess that doesn't apply retroactively. I think you should go ahead and commit without waiting.

Feb 1 2021, 2:16 PM
jrtc27 removed 1 blocking reviewer(s) for D28026: arm64: Improve DDB backtrace support: gnn.
Feb 1 2021, 2:15 PM
jrtc27 added a comment to D28026: arm64: Improve DDB backtrace support.

Is the plan to get this into 13.0?

Feb 1 2021, 3:10 AM

Jan 30 2021

jrtc27 committed R10:bb8fa72dae42: libllvmminimal: Add missing Support/ABIBreak.cpp (authored by jrtc27).
libllvmminimal: Add missing Support/ABIBreak.cpp
Jan 30 2021, 2:25 PM

Jan 28 2021

jrtc27 added inline comments to D27636: truss: split counting of syscalls and syscall calling convention.
Jan 28 2021, 7:25 PM

Jan 27 2021

jrtc27 added reviewers for D28317: localedef: Fix bootstrapping on Ubuntu 16.04: emaste, imp.
Jan 27 2021, 9:06 PM
jrtc27 committed R10:48397f6c7d2d: libllvmminimal: Add missing Support/ABIBreak.cpp (authored by jrtc27).
libllvmminimal: Add missing Support/ABIBreak.cpp
Jan 27 2021, 7:20 PM
jrtc27 closed D28367: libllvmminimal: Add missing Support/ABIBreak.cpp.
Jan 27 2021, 7:19 PM

Jan 26 2021

jrtc27 closed D28264: Fix issues in past and present CheriBSD quarterly reports.
Jan 26 2021, 11:21 PM
jrtc27 committed R9:95f17be14bfc: Fix issues in past and present CheriBSD quarterly reports (authored by jrtc27).
Fix issues in past and present CheriBSD quarterly reports
Jan 26 2021, 11:21 PM
jrtc27 requested review of D28367: libllvmminimal: Add missing Support/ABIBreak.cpp.
Jan 26 2021, 11:19 PM
jrtc27 added a comment to D28315: bsd.compiler.mk: Detect distribution-provided GCC when executed as cc.

This is fine with me.

Perhaps we can simplify it to always use ${${cc}:N${CCACHE_BIN}} -v (instead of --version). We'd have to make sure all existing cases still work though.

Jan 26 2021, 4:44 PM
jrtc27 updated the diff for D28264: Fix issues in past and present CheriBSD quarterly reports.

Manually pasted reduced-context diff to work around Phabricator's UTF-8-centric views

Jan 26 2021, 1:02 AM
jrtc27 added a comment to D28264: Fix issues in past and present CheriBSD quarterly reports.

Hmph. Phabricator does not support ISO-8859-1 (their docs say so explicitly) so it balks on these files and treats them as binary. That's going to be fun.

Jan 26 2021, 12:51 AM
jrtc27 updated the diff for D28264: Fix issues in past and present CheriBSD quarterly reports.

Rebase against shiny new repo

Jan 26 2021, 12:46 AM

Jan 25 2021

jrtc27 edited reviewers for D28267: Create symlinks to host tools on non-FreeBSD hosts, added: freebsdphab-AX9_cmx.ietfng.org; removed: nwf20_cl.cam.ac.uk.
Jan 25 2021, 2:31 PM
jrtc27 accepted D28267: Create symlinks to host tools on non-FreeBSD hosts.
Jan 25 2021, 2:13 PM

Jan 24 2021

jrtc27 added inline comments to D27803: Add a code example to cpuset(2) showing how to modify the affinity of the current process. Improve cross referencing..
Jan 24 2021, 12:18 AM

Jan 23 2021

jrtc27 requested review of D28317: localedef: Fix bootstrapping on Ubuntu 16.04.
Jan 23 2021, 10:57 PM
jrtc27 updated the summary of D28315: bsd.compiler.mk: Detect distribution-provided GCC when executed as cc.
Jan 23 2021, 9:08 PM
jrtc27 requested review of D28315: bsd.compiler.mk: Detect distribution-provided GCC when executed as cc.
Jan 23 2021, 9:07 PM
jrtc27 committed R10:d6327ae8c11b: Fix cross-build support for Ubuntu 16.04 (authored by jrtc27).
Fix cross-build support for Ubuntu 16.04
Jan 23 2021, 9:00 PM

Jan 22 2021

jrtc27 added inline comments to D28212: linux: implement PTRACE_GET_SYSCALL_INFO.
Jan 22 2021, 6:21 PM
jrtc27 added inline comments to D27988: Reserve gaps in syscall numbers for local use.
Jan 22 2021, 6:10 PM
jrtc27 added a comment to D28267: Create symlinks to host tools on non-FreeBSD hosts.

"freezes when building failures on macOS" in the commit message needs fixing

Jan 22 2021, 4:29 PM
jrtc27 added inline comments to D28233: Fix a few UBSan errors in bootstrap-tools.
Jan 22 2021, 3:34 PM
jrtc27 added inline comments to D28233: Fix a few UBSan errors in bootstrap-tools.
Jan 22 2021, 3:12 PM
jrtc27 retitled D28233: Fix a few UBSan errors in bootstrap-tools from Fix a few UBSan errors in boostrap-tools to Fix a few UBSan errors in bootstrap-tools.
Jan 22 2021, 3:02 PM
jrtc27 added a comment to D28264: Fix issues in past and present CheriBSD quarterly reports.

Ah, I hadn't twigged that it was going read-only so far in advance of the migration. The error message is technically correct I guess, needs a doceng approval, and this kind of thing is a bit of a special case.

Yeah, it looks like doceng@ approval is required, because gjb@ just made a commit and that went through.

Will you be applying for approval for this, or should I?

Or are you just going to wait past the conversion and redo it, or should I?

Jan 22 2021, 2:49 AM

Jan 21 2021

jrtc27 added inline comments to D28233: Fix a few UBSan errors in bootstrap-tools.
Jan 21 2021, 3:04 PM
jrtc27 added inline comments to D28226: riscv: add SBI system reset extension.
Jan 21 2021, 3:01 PM
jrtc27 added inline comments to D28026: arm64: Improve DDB backtrace support.
Jan 21 2021, 1:04 PM
jrtc27 updated the diff for D28026: arm64: Improve DDB backtrace support.

Rebase and address review comments

Jan 21 2021, 1:04 PM
jrtc27 added a comment to D28264: Fix issues in past and present CheriBSD quarterly reports.

Don't know if I'm supposed to be able to push with a Reviewed by: + Approved by: debdrup, or if something just hates me, but I get "FATAL: VREF/APPROVERS-CHECK/doc: helper program exit status 65280", so could you please commit this for me?

This puzzled me, too, until I realized that it's past 02:00 UTC, which means the doc repo is read-only in preparation for the move to Hugo/AsciiDoctor, in accordance with Message-ID: <CAFwocyM9gA1iO2isXcDZTKRssF7xCbr=-iT8fPOsP_3Ctvf6tQ@mail.gmail.com>.

Admittedly, the error message is less than perfect.

Jan 21 2021, 12:52 PM
jrtc27 added a comment to D28264: Fix issues in past and present CheriBSD quarterly reports.

Don't know if I'm supposed to be able to push with a Reviewed by: + Approved by: debdrup, or if something just hates me, but I get "FATAL: VREF/APPROVERS-CHECK/doc: helper program exit status 65280", so could you please commit this for me?

Jan 21 2021, 3:19 AM
jrtc27 added inline comments to D27856: virtio: Add VirtIO PCI modern (V1) support.
Jan 21 2021, 3:10 AM
jrtc27 updated the diff for D28264: Fix issues in past and present CheriBSD quarterly reports.

Fix unintended whitespace diff

Jan 21 2021, 2:57 AM
jrtc27 requested review of D28264: Fix issues in past and present CheriBSD quarterly reports.
Jan 21 2021, 2:36 AM
jrtc27 committed R10:85ad7f8da19f: virtio_mmio: Delete a stale #if 0'ed debug print (authored by jrtc27).
virtio_mmio: Delete a stale #if 0'ed debug print
Jan 21 2021, 2:20 AM
jrtc27 added inline comments to D27856: virtio: Add VirtIO PCI modern (V1) support.
Jan 21 2021, 2:12 AM
jrtc27 added inline comments to D27856: virtio: Add VirtIO PCI modern (V1) support.
Jan 21 2021, 2:10 AM
jrtc27 added a comment to D28221: rtld: change a few const char* variables to bool.

The documentation for these says "When set to a nonempty string", and the GNU world does the same (e.g. see LD_TRACE_LOADED_OBJECTS=1 /bin/echo on a GNU/Linux system), so the strcmp shouldn't be added.

Jan 21 2021, 2:05 AM
jrtc27 committed R10:513c5cd8276c: linux64: Don't pass unnecessary -S and -g to objcopy (authored by jrtc27).
linux64: Don't pass unnecessary -S and -g to objcopy
Jan 21 2021, 1:57 AM
jrtc27 committed R10:5faeda903753: Rename i386's Linux ELF to Linux ELF32 (authored by jrtc27).
Rename i386's Linux ELF to Linux ELF32
Jan 21 2021, 1:57 AM
jrtc27 closed D27740: linux64: Don't pass unnecessary -S and -g to objcopy.
Jan 21 2021, 1:57 AM
jrtc27 closed D27647: Rename i386's Linux ELF to Linux ELF32.
Jan 21 2021, 1:57 AM