summaryrefslogtreecommitdiffstats
path: root/sys/boot/common/load_elf32_obj.c
diff options
context:
space:
mode:
authoriedowse <iedowse@FreeBSD.org>2004-08-29 00:48:42 +0000
committeriedowse <iedowse@FreeBSD.org>2004-08-29 00:48:42 +0000
commit0d52a8d8ca171566ed4578aaf8dd3343be846472 (patch)
treed04731906dfe0de532e3945f9198eb4997fa6836 /sys/boot/common/load_elf32_obj.c
parent95dd728f5ca86b8ad7346a25bb7375eac27169e9 (diff)
downloadFreeBSD-src-0d52a8d8ca171566ed4578aaf8dd3343be846472.zip
FreeBSD-src-0d52a8d8ca171566ed4578aaf8dd3343be846472.tar.gz
Add the loader side of support for preloading ELF relocatable object
format modules, which are currently only used on the amd64 platform. This initial implementation just parses enough of the module to allow it to extract dependencies and load all the bits into the right place in memory, so the kernel must still do the full relocation and linking. The details of the loaded sections are passed to the kernel by supplying a copy of the ELF section header table as module metadata with the MODINFOMD_SHDR tag.
Diffstat (limited to 'sys/boot/common/load_elf32_obj.c')
-rw-r--r--sys/boot/common/load_elf32_obj.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/boot/common/load_elf32_obj.c b/sys/boot/common/load_elf32_obj.c
new file mode 100644
index 0000000..fed25ef
--- /dev/null
+++ b/sys/boot/common/load_elf32_obj.c
@@ -0,0 +1,6 @@
+#include <sys/cdefs.h>
+__FBSDID("$FreeBSD$");
+
+#define __ELF_WORD_SIZE 32
+
+#include "load_elf_obj.c"
OpenPOWER on IntegriCloud