]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix --enable-profiling bug introduced by 2013-02-25 change.
authorPaul Eggert <eggert@cs.ucla.edu>
Sun, 7 Apr 2013 06:21:40 +0000 (23:21 -0700)
committerPaul Eggert <eggert@cs.ucla.edu>
Sun, 7 Apr 2013 06:21:40 +0000 (23:21 -0700)
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
ChangeLog
configure.ac
lib/Makefile.am
src/ChangeLog
src/Makefile.in

index 9d4f0c8259233353d8d32f6ccc304f9281f58a1c..2dd796962d7a4348f5ffe53f081f1471a4f886a0 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -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>
 
        Merge from gnulib, incorporating:
index 0cff34b8a16669c70ccbaf4273fb802768188003..2d8c4c3473d65168f11ea95d510301d863f0d04b 100644 (file)
@@ -4185,6 +4185,13 @@ case "$opsys" in
   *) LD_SWITCH_SYSTEM_TEMACS= ;;
 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)
 
 ## Common for all window systems
index a341609e895b34121d0601cb8ae5a999c684da06..d8979a1cf744b61300b354ecdfef77a0bb302bea 100644 (file)
@@ -4,7 +4,7 @@ MOSTLYCLEANDIRS =
 MOSTLYCLEANFILES =
 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
 
 include gnulib.mk
index e39a104e1350e876dfff6f01b2a31b8a8dc4861f..75a7388f2c49525f84091e48f1c71e4b12ca1208 100644 (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>
 
        Get rid of some platform-specific functions examining window
index 31de9714c65e90145bddb49f510d51c116dafd18..c6a067a1ade8bf8004bc12374dd7f6ec15899a3c 100644 (file)
@@ -317,7 +317,7 @@ ALL_CFLAGS=-Demacs $(MYCPPFLAGS) -I. -I$(srcdir) \
   $(GNUSTEP_CFLAGS) $(CFLAGS_SOUND) $(RSVG_CFLAGS) $(IMAGEMAGICK_CFLAGS) \
   $(LIBXML2_CFLAGS) $(DBUS_CFLAGS) \
   $(SETTINGS_CFLAGS) $(FREETYPE_CFLAGS) $(FONTCONFIG_CFLAGS) \
-  $(LIBOTF_CFLAGS) $(M17N_FLT_CFLAGS) $(DEPFLAGS) $(PROFILING_CFLAGS) \
+  $(LIBOTF_CFLAGS) $(M17N_FLT_CFLAGS) $(DEPFLAGS) \
   $(LIBGNUTLS_CFLAGS) \
   $(WARN_CFLAGS) $(WERROR_CFLAGS) $(CFLAGS)
 ALL_OBJC_CFLAGS=$(ALL_CFLAGS) $(GNU_OBJC_CFLAGS)
@@ -325,10 +325,10 @@ ALL_OBJC_CFLAGS=$(ALL_CFLAGS) $(GNU_OBJC_CFLAGS)
 .SUFFIXES: .m
 .c.o:
        @$(MKDEPDIR)
-       $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $<
+       $(CC) -c $(CPPFLAGS) $(ALL_CFLAGS) $(PROFILING_CFLAGS) $<
 .m.o:
        @$(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
 ## be dumped as pure by dump-emacs.