fc97214f7e
* acinclude.m4: Determine whether nm support -P and --defined-only. * configure.ac: Add TARGET_ to all variables pertaining to target that don't have it yet. * gentpl.py: Likewise. * grub-core/Makefile.am: Likewise. * grub-core/genmod.sh.in: Likewise. * grub-core/gensyminfo.sh.in: Handle OpenBSD and other non-GNU nm as well.
34 lines
1 KiB
Bash
34 lines
1 KiB
Bash
#! /bin/sh
|
|
set -e
|
|
|
|
# Copyright (C) 2010 Free Software Foundation, Inc.
|
|
#
|
|
# This gensymlist.sh is free software; the author
|
|
# gives unlimited permission to copy and/or distribute it,
|
|
# with or without modifications, as long as this notice is preserved.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
|
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
|
# PARTICULAR PURPOSE.
|
|
|
|
#
|
|
# Example:
|
|
#
|
|
# gensyms.sh normal.module
|
|
#
|
|
|
|
module=$1
|
|
modname=`echo $module | sed -e 's@\.module.*$@@'`
|
|
|
|
# Print all symbols defined by module
|
|
if test x"@TARGET_NMFLAGS_DEFINED_ONLY@" = x; then
|
|
@TARGET_NM@ -g @TARGET_NMFLAGS_MINUS_P@ -p $module | \
|
|
sed -n "s@^\([0-9a-fA-F]*\) *[TBRDS] *\([^ ]*\).*@defined $modname \2@p"
|
|
else
|
|
@TARGET_NM@ -g --defined-only @TARGET_NMFLAGS_MINUS_P@ -p $module | \
|
|
sed "s@^\([^ ]*\).*@defined $modname \1@g"
|
|
fi
|
|
|
|
# Print all undefined symbols used by module
|
|
@TARGET_NM@ -u @TARGET_NMFLAGS_MINUS_P@ -p $module | sed "s@^\([^ ]*\).*@undefined $modname \1@g"
|