d2387926ba
This involves: 1. Have the loader pass the start and size of the .ctors section to the kernel in 2 new metadata elements. 2. Have the linker backends look for and record the start and size of the .ctors section in dynamically loaded modules. 3. Have the linker backends call the constructors as part of the final work of initializing preloaded or dynamically loaded modules. Note that LLVM appends the priority of the constructors to the name of the .ctors section. Not so when compiling with GCC. The code currently works for GCC and not for LLVM. Submitted by: Dmitry Mikulin <dmitrym@juniper.net> Obtained from: Juniper Networks, Inc. |
||
---|---|---|
.. | ||
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 | ||
install.c | ||
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 | ||
part.c | ||
part.h | ||
pnp.c | ||
reloc_elf32.c | ||
reloc_elf64.c | ||
reloc_elf.c | ||
ufsread.c | ||
util.c | ||
util.h | ||
zfsloader.8 |