#!/bin/sh
SYMLIST=`nm $1/$3 | fgrep "U " | cut -b 12-`
for SYM in $SYMLIST
do
	PAT=" ${SYM}$"
	SYM2=`cat /proc/ksyms| egrep "${PAT}"|cut -b 10- | sed -e s/[[:blank:]].*$//`
	if [ ${#SYM2} -eq 0 ]; then 
		PAT=" ${SYM}_R"
		SYM2=`cat /proc/ksyms| fgrep "${PAT}"|cut -b 10- | sed -e s/[[:blank:]].*$//`
		if [ ${#SYM2} -eq 0 ]; then 
			PAT=`echo "${SYM}" | sed -e s/_R.*$/_R/`
			if test "$PAT" != "$SYM"; then
				SYM2=`cat /proc/ksyms| fgrep " ${PAT}"|cut -b 10- | sed -e s/[[:blank:]].*$//`
			fi
		fi
		if [ ${#SYM2} -ne 0 ]; then 
			if [ "${SYM}" != "${SYM2}" ]; then
				SYMLIST2="${SYMLIST2} --redefine-sym=${SYM}=${SYM2}"
			fi
		fi
	fi
done
#echo "objcopy ${SYMLIST2} --strip-symbol=kernel_version $1/$3 $2/__$3"
objcopy ${SYMLIST2} --strip-symbol=kernel_version $1/$3 $2/__$3
echo "char kernel_version[] = \"`uname -r`\";" > $2/__version.c
gcc -o $2/__version.o -c $2/__version.c
ld -r -o $2/$3 $2/__$3 $2/__version.o
rm -f $2/__$3 $2/__version.o $2/__version.c 
