mirror of
https://github.com/opnsense/src.git
synced 2026-03-14 22:53:16 -04:00
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.c | ||
| interp_backslash.c | ||
| interp_forth.c | ||
| interp_lua.c | ||
| interp_parse.c | ||
| interp_simple.c | ||
| isapnp.c | ||
| isapnp.h | ||
| load_elf.c | ||
| load_elf32.c | ||
| load_elf32_obj.c | ||
| load_elf64.c | ||
| load_elf64_obj.c | ||
| load_elf_obj.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_elf.c | ||
| reloc_elf32.c | ||
| reloc_elf64.c | ||
| self_reloc.c | ||
| vdisk.c | ||
| zfs_cmd.c | ||