User Details
- User Since
- Jul 4 2018, 7:23 PM (360 w, 1 d)
Yesterday
Wed, May 28
Extend existing comment to note different implementation to NetBSD
I've gone digging and this looks like confusion importing NetBSD's code. This was applying https://github.com/NetBSD/src/commit/cc08a85a2529815b95799c6500b40a2c596c0c93 to our tree, just as 91880e07f605edb90339685bc934699a4344de3b was https://github.com/NetBSD/src/commit/3caa8dc7351c8383b2c3832b2610624b347e9065. The key point is that FreeBSD's tlsoffset is always relative to the TCB, whereas for Variant I TLS on NetBSD it's relative to the end of the TCB. So the original code was wrong for NetBSD but right for FreeBSD, and the updated code fixed it for NetBSD but broke FreeBSD by importing it. Will update the commit message with a properly-written summary tomorrow.
NB: I do intend to do that cleanup, just not tonight
Thu, May 22
macOS's /bin/sh is governed by /private/var/select/sh. On my system it's /bin/bash and supposedly new macOS installs will default it to /bin/sh (at least according to tools/build/Makefile, which links /bin/bash into the tmp path as sh). Is there a reason to use the pipe though; would it not be even faster, and sidestep the issue entirely, if we just used bsdtar's -J flag? (You can set xz:compression-level and xz:threads on the command line)
Unhook from build and clean up
Oh right yes these are actually-installed files (even more ugh), not something in tools/, so need to be unhooked from the build too. One moment...
Hm, is this because of rtld using the nossppico files from libc? I see several problems:
- The nossppico files really shouldn't have the syscall bodies either
- On CheriBSD we don't have nossppico for CHERI, since we don't have/need SSP, so rtld pulls from the regular pico files
Obligatory style review:
- I see commented out code; either delete it or use #if(def) to gate it with an internal debug define
- FreeBSD uses /* C-style comments */ not // C++-style comments but I see a few instances of the latter
- Continuation lines aren't being consistently indented (I'm struggling to figure out what rule you've followed, even); they should be indented by four spaces relative to the block-level indent
- For combinations of bitwise operations etc where the operator precedence can be unintuitive we generally include redundant parentheses to avoid the need to think about whether it's correct without them (both for reading and writing)
Wed, May 21
What shell are we using here, the default system sh? dash doesn't support pipefail, so I'm concerned this will break on Linux.
Sat, May 17
Or, like WITNESS or MALLOC_PRODUCTION, on in HEAD and off in stable branches?
Sun, May 11
Seems sensible to me
Sat, May 10
Thu, May 8
Hm, binutils should still be defaulting to -znostart-stop-gc even today in their master branch. So this really should be a no-op, this shouldn't be the cause of any issues. (Unless sjg is building with some modified environment that overrides that default, I suppose, but that's shooting oneself in the foot...)
Wed, May 7
Only include libc changes