2583c3374d
Some time after r338418, I believe with -Os/-Oz -ffunction-sections -fdata-sections, the bootprog_interp variable that held our "$Interpreter:" marker started getting strip from all loaders, with exception to userboot since it used bootprog_interp to determine what flavor of userboot it was. At some point, it had been brought to my attention that this was no longer working and I had worked up some potential solutions to use the variable that involved printing it out. My vague recollection is that this was rejected, and I forgot to explore the alternatives; I cannot find records of this discussion anymore. Fast forward to present day, Andrew reported that it was non-functional and offered (effectively) this patch (sans comment) to stop the compiler from optimizing it out by assigning it to a volatile variable. This removes concerns about user-facing change while retaining the interpreter marker. Furthermore, it could certainly be uglier. Reported and tested by: Andrew Gierth <andrew_tao173.riddles.org.uk> MFC after: 3 days |
||
---|---|---|
.. | ||
bcache.c | ||
boot.c | ||
bootstrap.h | ||
commands.c | ||
console.c | ||
dev_net.c | ||
dev_net.h | ||
devopen.c | ||
disk.c | ||
disk.h | ||
help.common | ||
install.c | ||
interp_backslash.c | ||
interp_forth.c | ||
interp_lua.c | ||
interp_parse.c | ||
interp_simple.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 | ||
ls.c | ||
Makefile.depend | ||
md.c | ||
merge_help.awk | ||
metadata.c | ||
misc.c | ||
module.c | ||
newvers.sh | ||
part.c | ||
part.h | ||
paths.h | ||
pnp.c | ||
rbx.h | ||
readin.h | ||
reloc_elf32.c | ||
reloc_elf64.c | ||
reloc_elf.c | ||
self_reloc.c | ||
vdisk.c | ||
zfs_cmd.c |