198184Sgordon#!/bin/sh 298184Sgordon# 398184Sgordon# $FreeBSD$ 498184Sgordon# 598184Sgordon 698184Sgordon# PROVIDE: abi 7155838Sdougb# REQUIRE: archdep 8136224Smtm# KEYWORD: nojail 998184Sgordon 1098184Sgordon. /etc/rc.subr 1198184Sgordon 12153537Sdougbname="abi" 13298514Slmedesc="Enable foreign ABIs" 14165378Syarstart_cmd="${name}_start" 15165378Syarstop_cmd=":" 1698184Sgordon 1798184Sgordonsysv_start() 1898184Sgordon{ 1998184Sgordon echo -n ' sysvipc' 20159830Syar load_kld sysvmsg 21159830Syar load_kld sysvsem 22159830Syar load_kld sysvshm 2398184Sgordon} 2498184Sgordon 2598184Sgordonlinux_start() 2698184Sgordon{ 27165664Syar local _tmpdir 28165664Syar 2998184Sgordon echo -n ' linux' 30159830Syar load_kld -e 'linux(aout|elf)' linux 31296542Sdchagin case `sysctl -n hw.machine_arch` in 32296542Sdchagin amd64) 33296542Sdchagin load_kld -e 'linux64elf' linux64 34296542Sdchagin ;; 35296542Sdchagin esac 36154787Snetchild if [ -x /compat/linux/sbin/ldconfigDisabled ]; then 37154236Sbrooks _tmpdir=`mktemp -d -t linux-ldconfig` 38154236Sbrooks /compat/linux/sbin/ldconfig -C ${_tmpdir}/ld.so.cache 39154236Sbrooks if ! cmp -s ${_tmpdir}/ld.so.cache /compat/linux/etc/ld.so.cache; then 40154236Sbrooks cat ${_tmpdir}/ld.so.cache > /compat/linux/etc/ld.so.cache 41154236Sbrooks fi 42154236Sbrooks rm -rf ${_tmpdir} 4398184Sgordon fi 4498184Sgordon} 4598184Sgordon 46153537Sdougbsvr4_start() 47153537Sdougb{ 48153537Sdougb echo -n ' svr4' 49159830Syar load_kld -m svr4elf svr4 50153537Sdougb} 5198184Sgordon 52165378Syarabi_start() 53153537Sdougb{ 54179930Smtm local _echostop 55153537Sdougb 56179930Smtm _echostop= 57179930Smtm if checkyesno sysvipc_enable || checkyesno linux_enable || checkyesno svr4_enable; then 58179930Smtm echo -n 'Additional ABI support:' 59179930Smtm _echostop=yes 60179930Smtm fi 61179930Smtm 62153537Sdougb checkyesno sysvipc_enable && sysv_start 63153537Sdougb checkyesno linux_enable && linux_start 64153537Sdougb checkyesno svr4_enable && svr4_start 65153537Sdougb 66179930Smtm [ -n "${_echostop}" ] && echo '.' 67153537Sdougb} 68153537Sdougb 6998184Sgordonload_rc_config $name 7098184Sgordonrun_rc_command "$1" 71