summaryrefslogtreecommitdiffstats
path: root/sys/sys/linker.h
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>2003-05-01 03:31:18 +0000
committerpeter <peter@FreeBSD.org>2003-05-01 03:31:18 +0000
commit6a018fff12bc83ff6175afcdf5ed208e5adff19c (patch)
treee229c267604dafc1a440e03a9b12e56b9ffaa331 /sys/sys/linker.h
parentc2343f725ba4bf59ee03f1d8475c57c5c693d0da (diff)
downloadFreeBSD-src-6a018fff12bc83ff6175afcdf5ed208e5adff19c.zip
FreeBSD-src-6a018fff12bc83ff6175afcdf5ed208e5adff19c.tar.gz
Slight reorg and added AMD64 support. A couple of the MODINFOMD_* values
that were added to sparc64 and later powerpc, really should have been in the MI area. But changing that now with insufficient preperation will just cause too much pain. Move MD_FETCH() to the MI sys/linker.h file to avoid another two copies of it.
Diffstat (limited to 'sys/sys/linker.h')
-rw-r--r--sys/sys/linker.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/sys/sys/linker.h b/sys/sys/linker.h
index a601e3a..3ea5718 100644
--- a/sys/sys/linker.h
+++ b/sys/sys/linker.h
@@ -191,10 +191,24 @@ int linker_ddb_symbol_values(c_linker_sym_t _sym, linker_symval_t *_symval);
#define MODINFOMD_SSYM 0x0003 /* start of symbols */
#define MODINFOMD_ESYM 0x0004 /* end of symbols */
#define MODINFOMD_DYNAMIC 0x0005 /* _DYNAMIC pointer */
+/* These values are MD on these two platforms */
+#if !defined(__sparc64__) && !defined(__powerpc__)
+#define MODINFOMD_ENVP 0x0006 /* envp[] */
+#define MODINFOMD_HOWTO 0x0007 /* boothowto */
+#define MODINFOMD_KERNEND 0x0008 /* kernend */
+#endif
#define MODINFOMD_NOCOPY 0x8000 /* don't copy this metadata to the kernel */
#define MODINFOMD_DEPLIST (0x4001 | MODINFOMD_NOCOPY) /* depends on */
+#ifdef _KERNEL
+#define MD_FETCH(mdp, info, type) ({ \
+ type *__p; \
+ __p = (type *)preload_search_info((mdp), MODINFO_METADATA | (info)); \
+ __p ? *__p : 0; \
+})
+#endif
+
#define LINKER_HINTS_VERSION 1 /* linker.hints file version */
#ifdef _KERNEL
OpenPOWER on IntegriCloud