diff options
Diffstat (limited to 'libexec/rc/rc.d/kldxref')
-rwxr-xr-x | libexec/rc/rc.d/kldxref | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/libexec/rc/rc.d/kldxref b/libexec/rc/rc.d/kldxref new file mode 100755 index 000000000000..d6aa02d778d9 --- /dev/null +++ b/libexec/rc/rc.d/kldxref @@ -0,0 +1,40 @@ +#!/bin/sh +# +# + +# PROVIDE: kldxref +# REQUIRE: mountcritlocal +# BEFORE: netif +# KEYWORD: nojail + +. /etc/rc.subr + +rcvar="kldxref_enable" +name="kldxref" +desc="Generate hints for the kernel loader" +stop_cmd=":" +start_cmd="kldxref_start" + +kldxref_start() { + if [ -n "$kldxref_module_path" ]; then + MODULE_PATHS="$kldxref_module_path" + else + MODULE_PATHS=`sysctl -n kern.module_path` + fi + IFS=';' + for MODULE_DIR in $MODULE_PATHS; do + if checkyesno kldxref_clobber || + [ ! -f "$MODULE_DIR/linker.hints" ] && + [ `echo ${MODULE_DIR}/*.ko` != "${MODULE_DIR}/*.ko" ]; then + echo "Building $MODULE_DIR/linker.hints" + kldxref "$MODULE_DIR" + fi + done +} + +load_rc_config $name + +# doesn't make sense to run in a svcj +kldxref_svcj="NO" + +run_rc_command "$1" |