Fix --enable-profiling bug introduced by 2013-02-25 change.

This bug was introduced by my 2013-02-25 change that simplified
data_start configuration.  Without this change, on GNU/Linux
an Emacs configured with --enable-profiling fails immediately
due to a profiler signal.
* configure.ac (LD_SWITCH_SYSTEM_TEMACS): Append -pg if profiling
and if not on GNU/Linux or FreeBSD.
* lib/Makefile.am (AM_CFLAGS): Add $(PROFILING_CFLAGS), so that
lib/*.o is profiled too.
* src/Makefile.in: Compile with $(PROFILING_CFLAGS), but do not link
with these flags.  On platforms where special flags are needed
when linking temacs, the flags are now in LD_SWITCH_SYSTEM_TEMACS.
(ALL_CFLAGS): Remove $(PROFILING_CFLAGS).
(.c.o, .m.o): Compile with $(PROFILING_CFLAGS).

Fixes: debbugs:13783
This commit is contained in:
Paul Eggert 2013-04-06 23:21:40 -07:00
parent 7452b7bd70
commit 876da980f8
5 changed files with 32 additions and 4 deletions

View file

@ -1,3 +1,11 @@
2013-04-07 Paul Eggert <eggert@cs.ucla.edu>
Fix --enable-profiling bug introduced by 2013-02-25 change (Bug#13783).
* configure.ac (LD_SWITCH_SYSTEM_TEMACS): Append -pg if profiling
and if not on GNU/Linux or FreeBSD.
* lib/Makefile.am (AM_CFLAGS): Add $(PROFILING_CFLAGS), so that
lib/*.o is profiled too.
2013-03-30 Paul Eggert <eggert@cs.ucla.edu> 2013-03-30 Paul Eggert <eggert@cs.ucla.edu>
Merge from gnulib, incorporating: Merge from gnulib, incorporating:

View file

@ -4185,6 +4185,13 @@ case "$opsys" in
*) LD_SWITCH_SYSTEM_TEMACS= ;; *) LD_SWITCH_SYSTEM_TEMACS= ;;
esac esac
if test x$ac_enable_profiling != x ; then
case $opsys in
*freebsd | gnu-linux) ;;
*) LD_SWITCH_SYSTEM_TEMACS="$LD_SWITCH_SYSTEM_TEMACS -pg" ;;
esac
fi
AC_SUBST(LD_SWITCH_SYSTEM_TEMACS) AC_SUBST(LD_SWITCH_SYSTEM_TEMACS)
## Common for all window systems ## Common for all window systems

View file

@ -4,7 +4,7 @@ MOSTLYCLEANDIRS =
MOSTLYCLEANFILES = MOSTLYCLEANFILES =
noinst_LIBRARIES = noinst_LIBRARIES =
AM_CFLAGS = $(GNULIB_WARN_CFLAGS) $(WERROR_CFLAGS) AM_CFLAGS = $(PROFILING_CFLAGS) $(GNULIB_WARN_CFLAGS) $(WERROR_CFLAGS)
DEFAULT_INCLUDES = -I. -I$(top_srcdir)/lib -I../src -I$(top_srcdir)/src DEFAULT_INCLUDES = -I. -I$(top_srcdir)/lib -I../src -I$(top_srcdir)/src
include gnulib.mk include gnulib.mk

View file

@ -1,3 +1,16 @@
2013-04-07 Paul Eggert <eggert@cs.ucla.edu>
Fix --enable-profiling bug introduced by 2013-02-25 change (Bug#13783).
This bug was introduced by my 2013-02-25 change that simplified
data_start configuration. Without this change, on GNU/Linux
an Emacs configured with --enable-profiling fails immediately
due to a profiler signal.
* Makefile.in: Compile with $(PROFILING_CFLAGS), but do not link
with these flags. On platforms where special flags are needed
when linking temacs, the flags are now in LD_SWITCH_SYSTEM_TEMACS.
(ALL_CFLAGS): Remove $(PROFILING_CFLAGS).
(.c.o, .m.o): Compile with $(PROFILING_CFLAGS).
2013-04-07 Dmitry Antipov <dmantipov@yandex.ru> 2013-04-07 Dmitry Antipov <dmantipov@yandex.ru>
Get rid of some platform-specific functions examining window Get rid of some platform-specific functions examining window

View file

@ -317,7 +317,7 @@ ALL_CFLAGS=-Demacs $(MYCPPFLAGS) -I. -I$(srcdir) \
$(GNUSTEP_CFLAGS) $(CFLAGS_SOUND) $(RSVG_CFLAGS) $(IMAGEMAGICK_CFLAGS) \ $(GNUSTEP_CFLAGS) $(CFLAGS_SOUND) $(RSVG_CFLAGS) $(IMAGEMAGICK_CFLAGS) \
$(LIBXML2_CFLAGS) $(DBUS_CFLAGS) \ $(LIBXML2_CFLAGS) $(DBUS_CFLAGS) \
$(SETTINGS_CFLAGS) $(FREETYPE_CFLAGS) $(FONTCONFIG_CFLAGS) \ $(SETTINGS_CFLAGS) $(FREETYPE_CFLAGS) $(FONTCONFIG_CFLAGS) \
$(LIBOTF_CFLAGS) $(M17N_FLT_CFLAGS) $(DEPFLAGS) $(PROFILING_CFLAGS) \ $(LIBOTF_CFLAGS) $(M17N_FLT_CFLAGS) $(DEPFLAGS) \
$(LIBGNUTLS_CFLAGS) \ $(LIBGNUTLS_CFLAGS) \
$(WARN_CFLAGS) $(WERROR_CFLAGS) $(CFLAGS) $(WARN_CFLAGS) $(WERROR_CFLAGS) $(CFLAGS)
ALL_OBJC_CFLAGS=$(ALL_CFLAGS) $(GNU_OBJC_CFLAGS) ALL_OBJC_CFLAGS=$(ALL_CFLAGS) $(GNU_OBJC_CFLAGS)
@ -325,10 +325,10 @@ ALL_OBJC_CFLAGS=$(ALL_CFLAGS) $(GNU_OBJC_CFLAGS)
.SUFFIXES: .m .SUFFIXES: .m
.c.o: .c.o:
@$(MKDEPDIR) @$(MKDEPDIR)
$(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $< $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $(PROFILING_CFLAGS) $<
.m.o: .m.o:
@$(MKDEPDIR) @$(MKDEPDIR)
$(CC) -c $(CPPFLAGS) $(ALL_OBJC_CFLAGS) $< $(CC) -c $(CPPFLAGS) $(ALL_OBJC_CFLAGS) $(PROFILING_CFLAGS) $<
## lastfile must follow all files whose initialized data areas should ## lastfile must follow all files whose initialized data areas should
## be dumped as pure by dump-emacs. ## be dumped as pure by dump-emacs.