1112354Scjc#!/bin/sh
2112354Scjc#
3112354Scjc# $FreeBSD: releng/11.0/etc/rc.d/kldxref 298514 2016-04-23 16:10:54Z lme $
4112354Scjc#
5112354Scjc
6112354Scjc# PROVIDE: kldxref
7168531Sdes# REQUIRE: FILESYSTEMS
8113676Smtm# BEFORE:  netif
9136224Smtm# KEYWORD: nojail
10112354Scjc
11112354Scjc. /etc/rc.subr
12112354Scjc
13112354Scjcrcvar="kldxref_enable"
14112354Scjcname="kldxref"
15298514Slmedesc="Generate hints for the kernel loader"
16112354Scjcstop_cmd=":"
17112354Scjcstart_cmd="kldxref_start"
18112354Scjc
19238416Skevlokldxref_start() {
20112354Scjc	if [ -n "$kldxref_module_path" ]; then
21112354Scjc		MODULE_PATHS="$kldxref_module_path"
22112354Scjc	else
23112354Scjc		MODULE_PATHS=`sysctl -n kern.module_path`
24112354Scjc	fi
25112354Scjc	IFS=';'
26112354Scjc	for MODULE_DIR in $MODULE_PATHS; do
27112354Scjc		if [ ! -f "$MODULE_DIR/linker.hints" ] ||
28112354Scjc		    checkyesno kldxref_clobber; then
29112354Scjc			echo "Building $MODULE_DIR/linker.hints"
30112354Scjc			kldxref "$MODULE_DIR"
31112354Scjc		fi
32112354Scjc	done
33112354Scjc}
34112354Scjc
35112354Scjcload_rc_config $name
36112354Scjcrun_rc_command "$1"
37