5 MODULE_SYMVERS=$RPM_BUILD_ROOT/Module.symvers
7 for module in $(grep -E '/lib/modules/.+\.ko(\.gz|\.bz2|\.xz)?$'); do
9 if [ "x${module%.ko}" = "x${module}" ]; then
10 tmpfile=$(mktemp -t ${0##*/}.XXXXXX.ko)
12 case "${module##*.}" in
24 [ -n "$proc_bin" ] || continue
26 "$proc_bin" -d -c - < "$module" > "$tmpfile" || continue
30 if [[ -f $MODULE_SYMVERS ]] ; then
31 # all symbols prefixed with __rcr_ where the symbol is:
32 # A - symbol is an absolute value
33 # D,d - symbol is in the initialized data section
34 # R,r - symbol is in the read-only data section
35 # T,t - symbol is in the text (code) section
36 for sym in $(nm $module | sed -r -ne 's:^0*([0-9a-f]+) [ADdRr] __crc_(.+):\2:p'); do
37 grep -w $sym $MODULE_SYMVERS | awk '{printf("ksym(%s) = %08s\n", $2, $1)}'
41 >&2 echo "Module.symvers required for provides."
43 [ -z "$tmpfile" ] || rm -f -- "$tmpfile"