Eliminate blacklist of modules w/o init
This commit is contained in:
parent
ebe841ad55
commit
285505d3fc
3 changed files with 17 additions and 9 deletions
|
@ -84,11 +84,11 @@ endif
|
||||||
|
|
||||||
|
|
||||||
grub_emu_init.h: genemuinitheader.sh
|
grub_emu_init.h: genemuinitheader.sh
|
||||||
rm -f $@; echo $(pkglib_MODULES) |sh $(srcdir)/genemuinitheader.sh > $@
|
rm -f $@; echo $(pkglib_MODULES) | sh $(srcdir)/genemuinitheader.sh $(NM) > $@
|
||||||
DISTCLEANFILES += grub_emu_init.h
|
DISTCLEANFILES += grub_emu_init.h
|
||||||
|
|
||||||
grub_emu_init.c: genemuinit.sh
|
grub_emu_init.c: genemuinit.sh $(pkglib_MODULES)
|
||||||
rm -f $@; echo $(pkglib_MODULES) |sed 's,elf.mod,,;s,extcmd.mod,,;s,gzio.mod,,;s,fshelp.mod,,;s,bufio.mod,,;s,setjmp.mod,,;s,crypto.mod,,;s,pbkdf2.mod,,;s,trig.mod,,;s,bitmap_scale.mod,,;s,charset.mod,,;'|sh $(srcdir)/genemuinit.sh > $@
|
rm -f $@; echo $(pkglib_MODULES) | sh $(srcdir)/genemuinit.sh $(NM) > $@
|
||||||
DISTCLEANFILES += grub_emu_init.c
|
DISTCLEANFILES += grub_emu_init.c
|
||||||
|
|
||||||
include $(srcdir)/conf/common.mk
|
include $(srcdir)/conf/common.mk
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
# PARTICULAR PURPOSE.
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
lst="$1"
|
nm="$1"
|
||||||
shift
|
shift
|
||||||
|
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
|
@ -46,7 +46,9 @@ EOF
|
||||||
|
|
||||||
read mods
|
read mods
|
||||||
for line in $mods; do
|
for line in $mods; do
|
||||||
echo "grub_${line}_init ();" | sed 's,\.mod,,g;'
|
if ${nm} --defined-only -P -p ${line} | grep grub_mod_init > /dev/null; then
|
||||||
|
echo "grub_${line}_init ();" | sed 's,\.mod,,g;'
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
|
@ -60,7 +62,9 @@ grub_fini_all (void)
|
||||||
EOF
|
EOF
|
||||||
|
|
||||||
for line in $mods; do
|
for line in $mods; do
|
||||||
echo "grub_${line}_fini ();" | sed 's,\.mod,,g;'
|
if ${nm} --defined-only -P -p ${line} | grep grub_mod_fini > /dev/null; then
|
||||||
|
echo "grub_${line}_fini ();" | sed 's,\.mod,,g;'
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
|
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||||
# PARTICULAR PURPOSE.
|
# PARTICULAR PURPOSE.
|
||||||
|
|
||||||
lst="$1"
|
nm="$1"
|
||||||
shift
|
shift
|
||||||
|
|
||||||
cat <<EOF
|
cat <<EOF
|
||||||
|
@ -43,6 +43,10 @@ EOF
|
||||||
|
|
||||||
read mods
|
read mods
|
||||||
for line in $mods; do
|
for line in $mods; do
|
||||||
echo "void grub_${line}_init (void);" | sed 's,\.mod,,g;'
|
if ${nm} --defined-only -P -p ${line} | grep grub_mod_init > /dev/null; then
|
||||||
echo "void grub_${line}_fini (void);" | sed 's,\.mod,,g;'
|
echo "void grub_${line}_init (void);" | sed 's,\.mod,,g;'
|
||||||
|
fi
|
||||||
|
if ${nm} --defined-only -P -p ${line} | grep grub_mod_fini > /dev/null; then
|
||||||
|
echo "void grub_${line}_fini (void);" | sed 's,\.mod,,g;'
|
||||||
|
fi
|
||||||
done
|
done
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue