grub/grub-core/gensyminfo.sh.in
Vladimir 'phcoder' Serbinenko fc97214f7e * INSTALL: Document cross-compilation.
* 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.
2013-08-22 01:56:28 +02:00

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"