fd70297a1d
bogusly casts its contents around causing alignment faults on sparc64 and most likely also on at least powerpc. Fix this by copying the contents bytewise instead as partly already done here. Solving this the right way costs some space, i.e. 148 bytes with GCC and 16 bytes with clang on x86 there are still some bytes left there though, and an acceptable hack which tricks the compiler into only using a 2-byte alignment instead of the native one when accessing the contents turned out to even take up more space that. |
||
---|---|---|
.. | ||
bcache.c | ||
boot.c | ||
bootstrap.h | ||
commands.c | ||
console.c | ||
crc32.c | ||
crc32.h | ||
dev_net.c | ||
dev_net.h | ||
devopen.c | ||
disk.c | ||
disk.h | ||
gpt.c | ||
gpt.h | ||
help.common | ||
interp_backslash.c | ||
interp_forth.c | ||
interp_parse.c | ||
interp.c | ||
isapnp.c | ||
isapnp.h | ||
load_elf32_obj.c | ||
load_elf32.c | ||
load_elf64_obj.c | ||
load_elf64.c | ||
load_elf_obj.c | ||
load_elf.c | ||
loader.8 | ||
ls.c | ||
Makefile.inc | ||
md.c | ||
merge_help.awk | ||
misc.c | ||
module.c | ||
newvers.sh | ||
panic.c | ||
pnp.c | ||
reloc_elf32.c | ||
reloc_elf64.c | ||
reloc_elf.c | ||
ufsread.c | ||
util.c | ||
util.h |