mirror of
https://github.com/opnsense/src.git
synced 2026-02-22 01:11:30 -05:00
simplifying the module linking process and eliminating the risks
associated with doubly-defined variables.
Cases where commons were legitimately used (detection of
compiled-in subsystems) have been converted to use sysinits, and
any new code should use this or an equivalent practice as a
matter of course.
Modules can override this behaviour by substituting -fno-common
out of ${CFLAGS} in cases where commons are necessary
(eg. third-party object modules). Commons will be resolved and
allocated space when the kld is linked as part of the module
build process, so they will not pose a risk to the kernel or
other modules.
Provide a mechanism for controlling the export of symbols from
the module namespace. The EXPORT_SYMS variable may be set in the
Makefile to NO (export no symbols), a list of symbols to export,
or the name of a file containing a newline-seperated list of
symbols to be exported. Non-exported symbols are converted to
local symbols. If EXPORT_SYMS is not set, all global symbols are
currently exported. This behaviour is expected to change (to
exporting no symbols) once modules have been converted.
Reviewed by: peter (in principle)
Obtained from: green (kmod_syms.awk)
|
||
|---|---|---|
| .. | ||
| defines | ||
| files | ||
| files.alpha | ||
| files.i386 | ||
| files.ia64 | ||
| files.pc98 | ||
| files.powerpc | ||
| files.sparc64 | ||
| kern.mk | ||
| kern.post.mk | ||
| kern.pre.mk | ||
| kmod.mk | ||
| kmod_syms.awk | ||
| ldscript.alpha | ||
| ldscript.amd64 | ||
| ldscript.i386 | ||
| ldscript.ia64 | ||
| ldscript.powerpc | ||
| ldscript.sparc64 | ||
| majors | ||
| Makefile.alpha | ||
| Makefile.i386 | ||
| Makefile.ia64 | ||
| Makefile.pc98 | ||
| Makefile.powerpc | ||
| Makefile.sparc64 | ||
| newvers.sh | ||
| NOTES | ||
| options | ||
| options.alpha | ||
| options.i386 | ||
| options.ia64 | ||
| options.pc98 | ||
| options.powerpc | ||
| options.sparc64 | ||
| systags.sh | ||