]> git.donarmstrong.com Git - lilypond.git/commitdiff
* Fix noopt support to use --disable-optimising as ./configure does crazy things.
authorDon Armstrong <don@donarmstrong.com>
Fri, 28 Dec 2012 19:24:26 +0000 (11:24 -0800)
committerDon Armstrong <don@donarmstrong.com>
Fri, 28 Dec 2012 19:24:26 +0000 (11:24 -0800)
* Make sure that the guile garbage collection does not collect s in
  font-metric.cc when it gets optimized away (closes: #684817)

debian/changelog
debian/rules
lily/font-metric.cc

index 0679e99c705e2ff57697ed5a6a82b805fec75ac4..c094903d76de4328acc01e77de4badebf4d962e8 100644 (file)
@@ -3,9 +3,12 @@ lilypond (2.14.2-4) unstable; urgency=low
   * Fix "warnings from install-info" by splitting the direntry sections
     across the texinfo files (Closes: #648689). Thanks to Julian Gilbey
     for the patch.
+  * Fix noopt support to use --disable-optimising as ./configure does
+    crazy things.
+  * Make sure that the guile garbage collection does not collect s in
+    font-metric.cc when it gets optimized away (closes: #684817)
 
-
- --
+ -- Don Armstrong <don@donarmstrong.com>  Sun, 23 Dec 2012 13:25:44 -0800
 
 lilypond (2.14.2-3) unstable; urgency=low
 
index 3e87307aed5482ca5eed04b58dbb9af3af33300b..0d23ea49dc2b5d45d02f51dacf548adcdfe3888e 100755 (executable)
@@ -55,9 +55,13 @@ ifneq (,$(filter $(DEB_HOST_ARCH), i386 kfreebsd-i386))
   config_opt = --disable-optimising
   CFLAGS := $(filter-out -O%, $(CFLAGS))
   CXXFLAGS := $(filter-out -O%, $(CXXFLAGS))
+else
+ifneq (,$(filter $(DEB_BUILD_OPTIONS),noopt))
+  config_opt = --disable-optimising
 else
   config_opt = --enable-optimising
 endif
+endif
 
 
 build: build-stamp
index 458528dd2e4dce9a6994a6975c2f0a86ae570ebf..4b4c2f802db26a0c8dc715d3153edca660c75398 100644 (file)
@@ -106,6 +106,9 @@ Font_metric::mark_smob (SCM s)
 {
   Font_metric *m = (Font_metric *) SCM_CELL_WORD_1 (s);
   m->derived_mark ();
+  // we must do this to avoid s being optimized out and garbage
+  // collected; leading to a segfault above.
+  scm_remember_upto_here_1(s);
   return m->description_;
 }