1*0696600cSBjoern A. Zeeb#!/bin/sh 2*0696600cSBjoern A. Zeeb# 3*0696600cSBjoern A. Zeeb# $FreeBSD$ 4*0696600cSBjoern A. Zeeb# 5*0696600cSBjoern A. Zeeb 6*0696600cSBjoern A. Zeeb# PROVIDE: kldxref 7*0696600cSBjoern A. Zeeb# REQUIRE: FILESYSTEMS 8*0696600cSBjoern A. Zeeb# BEFORE: netif 9*0696600cSBjoern A. Zeeb# KEYWORD: nojail 10*0696600cSBjoern A. Zeeb 11*0696600cSBjoern A. Zeeb. /etc/rc.subr 12*0696600cSBjoern A. Zeeb 13*0696600cSBjoern A. Zeebrcvar="kldxref_enable" 14*0696600cSBjoern A. Zeebname="kldxref" 15*0696600cSBjoern A. Zeebdesc="Generate hints for the kernel loader" 16*0696600cSBjoern A. Zeebstop_cmd=":" 17*0696600cSBjoern A. Zeebstart_cmd="kldxref_start" 18*0696600cSBjoern A. Zeeb 19*0696600cSBjoern A. Zeebkldxref_start() { 20*0696600cSBjoern A. Zeeb if [ -n "$kldxref_module_path" ]; then 21*0696600cSBjoern A. Zeeb MODULE_PATHS="$kldxref_module_path" 22*0696600cSBjoern A. Zeeb else 23*0696600cSBjoern A. Zeeb MODULE_PATHS=`sysctl -n kern.module_path` 24*0696600cSBjoern A. Zeeb fi 25*0696600cSBjoern A. Zeeb IFS=';' 26*0696600cSBjoern A. Zeeb for MODULE_DIR in $MODULE_PATHS; do 27*0696600cSBjoern A. Zeeb if checkyesno kldxref_clobber || 28*0696600cSBjoern A. Zeeb [ ! -f "$MODULE_DIR/linker.hints" ] && 29*0696600cSBjoern A. Zeeb [ `echo ${MODULE_DIR}/*.ko` != "${MODULE_DIR}/*.ko" ]; then 30*0696600cSBjoern A. Zeeb echo "Building $MODULE_DIR/linker.hints" 31*0696600cSBjoern A. Zeeb kldxref "$MODULE_DIR" 32*0696600cSBjoern A. Zeeb fi 33*0696600cSBjoern A. Zeeb done 34*0696600cSBjoern A. Zeeb} 35*0696600cSBjoern A. Zeeb 36*0696600cSBjoern A. Zeebload_rc_config $name 37*0696600cSBjoern A. Zeebrun_rc_command "$1" 38