#!/usr/bin/env bash
[ -n "$CROSS" ] || {
	echo "The variable CROSS must be set to point to the cross-compiler prefix"
	exit 1
}

MODULE="$1"

[ "$#" -ne 1 ] && {
	echo "Usage: $0 <module>"
	exit 1
}

ARGS=
if [ -n "$KEEP_SYMBOLS" ]; then
	ARGS="-X --strip-debug"
else
	ARGS="-x -G __this_module --strip-unneeded"
fi

${CROSS}objcopy \
	-R .comment \
	-R .pdr \
	-R .mdebug.abi32 \
	-R .note.gnu.build-id \
	-R .gnu.attributes \
	-R .reginfo \
	$ARGS \
	"$MODULE" "$MODULE.tmp"

[ -n "$NO_RENAME" ] && {
	mv "${MODULE}.tmp" "$MODULE"
	exit 0
}

${CROSS}nm "$MODULE.tmp" | awk '
BEGIN {
	n = 0
}

$3 && $2 ~ /[brtd]/ && $3 !~ /\$LC/ && !def[$3] {
	print "--redefine-sym "$3"=_"n;
	n = n + 1
	def[$3] = 1
}
' > "$MODULE.tmp1"

${CROSS}objcopy `cat ${MODULE}.tmp1` ${MODULE}.tmp ${MODULE}.out
mv "${MODULE}.out" "${MODULE}"
rm -f "${MODULE}".t*
upstream/'>openwrt/upstream</a></td><td class='form'><form method='get'>
<input type='hidden' name='id' value='c37970cd5cfd05d61838e9f0470fa9165d8b5e10'/><select name='h' onchange='this.form.submit();'>
<option value='attitude_adjustment'>attitude_adjustment</option>
<option value='barrier_breaker'>barrier_breaker</option>
<option value='chaos_calmer'>chaos_calmer</option>
<option value='lede-17.01'>lede-17.01</option>
<option value='less-old-master'>less-old-master</option>
<option value='master' selected='selected'>master</option>
<option value='old-master'>old-master</option>
<option value='openwrt-18.06'>openwrt-18.06</option>
<option value='openwrt-19.07'>openwrt-19.07</option>
<option value='upstream'>upstream</option>
</select> <input type='submit' value='switch'/></form></td></tr>
<tr><td class='sub'>upstream openwrt</td><td class='sub right'>James</td></tr></table>
<table class='tabs'><tr><td>
<a href='/cgit.cgi/openwrt/upstream/about/'>about</a><a href='/cgit.cgi/openwrt/upstream/'>summary</a><a href='/cgit.cgi/openwrt/upstream/refs/?id=c37970cd5cfd05d61838e9f0470fa9165d8b5e10'>refs</a><a href='/cgit.cgi/openwrt/upstream/log/package/mac80211/patches/010-disable_rfkill.patch'>log</a><a class='active' href='/cgit.cgi/openwrt/upstream/tree/package/mac80211/patches/010-disable_rfkill.patch?id=c37970cd5cfd05d61838e9f0470fa9165d8b5e10'>tree</a><a href='/cgit.cgi/openwrt/upstream/commit/package/mac80211/patches/010-disable_rfkill.patch?id=c37970cd5cfd05d61838e9f0470fa9165d8b5e10'>commit</a><a href='/cgit.cgi/openwrt/upstream/diff/package/mac80211/patches/010-disable_rfkill.patch?id=c37970cd5cfd05d61838e9f0470fa9165d8b5e10'>diff</a><a href='/cgit.cgi/openwrt/upstream/stats/package/mac80211/patches/010-disable_rfkill.patch'>stats</a></td><td class='form'><form class='right' method='get' action='/cgit.cgi/openwrt/upstream/log/package/mac80211/patches/010-disable_rfkill.patch'>
<input type='hidden' name='id' value='c37970cd5cfd05d61838e9f0470fa9165d8b5e10'/><select name='qt'>
<option value='grep'>log msg</option>
<option value='author'>author</option>
<option value='committer'>committer</option>
<option value='range'>range</option>
</select>
<input class='txt' type='search' size='10' name='q' value=''/>
<input type='submit' value='search'/>
</form>
</td></tr></table>
<div class='path'>path: <a href='/cgit.cgi/openwrt/upstream/tree/?id=c37970cd5cfd05d61838e9f0470fa9165d8b5e10'>root</a>/<a href='/cgit.cgi/openwrt/upstream/tree/package?id=c37970cd5cfd05d61838e9f0470fa9165d8b5e10'>package</a>/<a href='/cgit.cgi/openwrt/upstream/tree/package/mac80211?id=c37970cd5cfd05d61838e9f0470fa9165d8b5e10'>mac80211</a>/<a href='/cgit.cgi/openwrt/upstream/tree/package/mac80211/patches?id=c37970cd5cfd05d61838e9f0470fa9165d8b5e10'>patches</a>/<a href='/cgit.cgi/openwrt/upstream/tree/package/mac80211/patches/010-disable_rfkill.patch?id=c37970cd5cfd05d61838e9f0470fa9165d8b5e10'>010-disable_rfkill.patch</a></div><div class='content'>blob: c5a92d6b482744b78892ab8f6082d25e0c39ea7b (<a href='/cgit.cgi/openwrt/upstream/plain/package/mac80211/patches/010-disable_rfkill.patch?id=c37970cd5cfd05d61838e9f0470fa9165d8b5e10'>plain</a>)
<table summary='blob content' class='blob'>
<tr><td class='linenumbers'><pre><a id='n1' href='#n1'>1</a>
<a id='n2' href='#n2'>2</a>
<a id='n3' href='#n3'>3</a>
<a id='n4' href='#n4'>4</a>
<a id='n5' href='#n5'>5</a>
<a id='n6' href='#n6'>6</a>
<a id='n7' href='#n7'>7</a>
<a id='n8' href='#n8'>8</a>
<a id='n9' href='#n9'>9</a>
<a id='n10' href='#n10'>10</a>
<a id='n11' href='#n11'>11</a>
<a id='n12' href='#n12'>12</a>
<a id='n13' href='#n13'>13</a>
</pre></td>
<td class='lines'><pre><code>