diff --git a/gdb/Makefile.in b/gdb/Makefile.in index 0043f7deb7..00cd7260fc 100644 --- a/gdb/Makefile.in +++ b/gdb/Makefile.in @@ -125,8 +125,8 @@ TERMCAP = -ltermcap # Libraries and corresponding dependencies for compiling gdb. # {X,T}M_CLIBS, defined in *config files, have host- and target-dependent libs. -# TERMCAP comes last, since readline depends on it. -CLIBS = $(XM_CLIBS) ${TM_CLIBS} ${BFD_LIB} ${LIBIBERTY} ${RL_LIB} ${TERMCAP} +# TERMCAP comes after readline, since readline depends on it. +CLIBS = ${BFD_LIB} ${LIBIBERTY} ${RL_LIB} ${TERMCAP} ${XM_CLIBS} ${TM_CLIBS} CDEPS = ${XM_CDEPS} ${TM_CDEPS} ${BFD_LIB} ${LIBIBERTY} ${RL_LIB} ADD_FILES = ${REGEX} ${ALLOCA} ${GNU_MALLOC} ${XM_ADD_FILES} ${TM_ADD_FILES} @@ -316,7 +316,7 @@ gdb1: gdb # remote support. rapp: $(RAPP_OBS) rm -f rapp_init.c - ${srcdir}/munch ${RAPP_OBS} > rapp_init.c + ${srcdir}/munch ${MUNCH_DEFINE} ${RAPP_OBS} > rapp_init.c ${CC-LD} $(LDFLAGS) -o $@ rapp_init.c $(RAPP_OBS) # Support for building Makefile out of configured pieces, automatically diff --git a/gdb/munch b/gdb/munch index 92929eada1..6bffb88fa0 100755 --- a/gdb/munch +++ b/gdb/munch @@ -7,12 +7,15 @@ echo 'void initialize_all_files () {' NMOPT="" case $1 in --*) NMOPT=$1; shift ;; +MUNCH_NM=*) + MUNCH_NM=`echo $1 | sed 's/MUNCH_NM=//'`; shift ;; +-*) + NMOPT=$1; shift ;; esac # make it easy to use a different nm, e.g. for cross-developing -MUNCH_NM="nm $NMOPT" +MUNCH_NM="${MUNCH_NM-nm} $NMOPT" if test "`$MUNCH_NM main.o | egrep 'T _?main$'`" = "" ; then # System V style nm shift; @@ -20,8 +23,9 @@ if test "`$MUNCH_NM main.o | egrep 'T _?main$'`" = "" ; then sed -e 's/^.*\(_initialize_[a-zA-Z0-9_]*\)[^a-zA-Z0-9_].*$/ {extern void \1 (); \1 ();}/' else # BSD style nm - $MUNCH_NM -p $* | egrep 'T *_?_initialize_' | \ - sed -e 's/^.*T *_*\(.*\)/ {extern void _\1 (); _\1 ();}/' + # We now accept either text or data symbols, since the RT/PC uses data. + $MUNCH_NM -p $* | egrep '[TD] *_?_initialize_' | \ + sed -e 's/^.*[TD] *_*\(.*\)/ {extern void _\1 (); _\1 ();}/' fi echo '}'