I had SIRS/sepsis once and it really is a harrowing experience. It really changed me forever and as a bonus, if not to add insult to injury, my hair now falls out and barely grows. Wouldn't wish it on my worst enemy.
216 karma · joined August 13, 2013
I had SIRS/sepsis once and it really is a harrowing experience. It really changed me forever and as a bonus, if not to add insult to injury, my hair now falls out and barely grows. Wouldn't wish it on my worst enemy.
It's kind of sadly become necessary after having some traumatic brain injury, since I wasn't quite like this a decade ago.
It really depends on what you're doing and what dynamics the task at hand requires.
I'm not sure if Alphas are even being made anymore, even 15-20 years ago.
Take, for example, an 8-bit/byte store. Without BWX the sequence would be something like:
bic a0, #3, t1
and a0, #3, t4
ldl t2, (t1)
insbl a1, t4, t3
mskbl t2, t4, t2
bis t2, t3, t2
stl t2, (t1)
ret zero, (ra)
But with BWX, it becomes: stb a1, 0(a0)
ret zero, (ra)It was so wrong that I wonder what version of the C standard it was even hallucinating.
It’s been really mentally liberating.
It usually occurs due to intestinal blockage or fistulae.
It got called "medically unnecessary" because apparently the person processing the claim couldn't read the fact that the organ was already dead and stopped at the line "stomach pain".
I had SIRS/sepsis right after that, it was fun.
It's a full time job on its own to fix all of the compilation errors. Could probably fix it with coccinelle scripts to make some parts easier, but still, validating the codebase with different compilers to make sure there's no resulting subtle breakage either still requires a lot of effort.
The thought of people being replaced wholesale though…
Here's some declarations from an ancient UNIX (remember, UNIX(R) is a registered trademark of "The Open Group") ctags file to help show how that type of scheme works:
ISDOT rm.c /^#define ISDOT(a) ((a)[0] == '.' && (!(a)[1] || (a)/
Mrm rm.c /^main(argc, argv)$/
PASS rm.c /^#define PASS(byte) { \\$/
check rm.c /^check(path, name, sp)$/
checkdot rm.c /^checkdot(argv)$/
rm_file rm.c /^rm_file(argv)$/
rm_overwrite rm.c /^rm_overwrite(file, sbp)$/
rm_tree rm.c /^rm_tree(argv)$/
usage rm.c /^usage()$/
Side note: https://unix.org/trademark.htmlIn BSD of yore and modern contemporaries, one could often perform `grep '^function'` and end up finding the source file quite easily. I think it also makes using ctags(1) a bit easier too, but not entirely sure on that bit.
I basically did the following on trunk:
$ CPP=/usr/bin/clang MAKEOBJDIRPREFIX=/private/var/tmp/obj ./tools/build/make.py TARGET=arm64 TARGET_ARCH=aarch64 --host-compiler-type clang --debug -j17 --clean buildworld
You probably can follow build(5) from FreeBSD hosts instead.NetBSD is similar, but you need to edit `tools/llvm/Makefile` and make sure that you use the following target for `support-modules` instead:
support-modules: module-test.cpp Makefile
- if ${HOST_CXX} -stdlib=libc++ -c -fmodules -fcxx-modules -fmodules-cache-path=./module.cache \
- ${.CURDIR}/module-test.cpp 3> /dev/null 2>&1; then \
- echo HOST_SUPPORTS_MODULES=yes > ${.TARGET}; \
- else \
- echo HOST_SUPPORTS_MODULES=no > ${.TARGET}; \
- fi
+ # Just don't use modules pre for C++20 targets. Some compilers cannot support them.
+ echo HOST_SUPPORTS_MODULES=no > ${.TARGET};
You can further speed up NetBSD builds by editing `share/mk/bsd.sys.mk` and removing the workaround for SunPro's cc. The repeated invocation of /bin/mv for each object file really does add up.I have not tried cross builds of OpenBSD from other operating systems.
No idea about power consumptions.
It still scares me.
I don’t recall what the exact title or link to the article was though.