aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac2
-rw-r--r--src/alloc.c22
-rw-r--r--src/emacs.c10
-rw-r--r--src/image.c3
-rw-r--r--src/lastfile.c4
-rw-r--r--test/Makefile.in7
6 files changed, 35 insertions, 13 deletions
diff --git a/configure.ac b/configure.ac
index c9759e18a02..2d116de3b6b 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1366,6 +1366,7 @@ case "$opsys" in
1366 UNEXEC_OBJ=unexsol.o 1366 UNEXEC_OBJ=unexsol.o
1367 ;; 1367 ;;
1368esac 1368esac
1369test "$CANNOT_DUMP" = "yes" && UNEXEC_OBJ=
1369 1370
1370LD_SWITCH_SYSTEM= 1371LD_SWITCH_SYSTEM=
1371case "$opsys" in 1372case "$opsys" in
@@ -2154,6 +2155,7 @@ doug_lea_malloc=$emacs_cv_var_doug_lea_malloc
2154hybrid_malloc= 2155hybrid_malloc=
2155system_malloc=yes 2156system_malloc=yes
2156 2157
2158test "$CANNOT_DUMP" = yes ||
2157case "$opsys" in 2159case "$opsys" in
2158 ## darwin ld insists on the use of malloc routines in the System framework. 2160 ## darwin ld insists on the use of malloc routines in the System framework.
2159 darwin | mingw32 | nacl | sol2-10) ;; 2161 darwin | mingw32 | nacl | sol2-10) ;;
diff --git a/src/alloc.c b/src/alloc.c
index 90c6f9441fa..175dcab2487 100644
--- a/src/alloc.c
+++ b/src/alloc.c
@@ -173,31 +173,34 @@ voidfuncptr __MALLOC_HOOK_VOLATILE __malloc_initialize_hook EXTERNALLY_VISIBLE
173 173
174#endif 174#endif
175 175
176#if defined DOUG_LEA_MALLOC || !defined CANNOT_DUMP
177
176/* Allocator-related actions to do just before and after unexec. */ 178/* Allocator-related actions to do just before and after unexec. */
177 179
178void 180void
179alloc_unexec_pre (void) 181alloc_unexec_pre (void)
180{ 182{
181#ifdef DOUG_LEA_MALLOC 183# ifdef DOUG_LEA_MALLOC
182 malloc_state_ptr = malloc_get_state (); 184 malloc_state_ptr = malloc_get_state ();
183 if (!malloc_state_ptr) 185 if (!malloc_state_ptr)
184 fatal ("malloc_get_state: %s", strerror (errno)); 186 fatal ("malloc_get_state: %s", strerror (errno));
185#endif 187# endif
186#ifdef HYBRID_MALLOC 188# ifdef HYBRID_MALLOC
187 bss_sbrk_did_unexec = true; 189 bss_sbrk_did_unexec = true;
188#endif 190# endif
189} 191}
190 192
191void 193void
192alloc_unexec_post (void) 194alloc_unexec_post (void)
193{ 195{
194#ifdef DOUG_LEA_MALLOC 196# ifdef DOUG_LEA_MALLOC
195 free (malloc_state_ptr); 197 free (malloc_state_ptr);
196#endif 198# endif
197#ifdef HYBRID_MALLOC 199# ifdef HYBRID_MALLOC
198 bss_sbrk_did_unexec = false; 200 bss_sbrk_did_unexec = false;
199#endif 201# endif
200} 202}
203#endif
201 204
202/* Mark, unmark, query mark bit of a Lisp string. S must be a pointer 205/* Mark, unmark, query mark bit of a Lisp string. S must be a pointer
203 to a struct Lisp_String. */ 206 to a struct Lisp_String. */
@@ -5216,6 +5219,8 @@ pure_alloc (size_t size, int type)
5216} 5219}
5217 5220
5218 5221
5222#ifndef CANNOT_DUMP
5223
5219/* Print a warning if PURESIZE is too small. */ 5224/* Print a warning if PURESIZE is too small. */
5220 5225
5221void 5226void
@@ -5226,6 +5231,7 @@ check_pure_size (void)
5226 " bytes needed)"), 5231 " bytes needed)"),
5227 pure_bytes_used + pure_bytes_used_before_overflow); 5232 pure_bytes_used + pure_bytes_used_before_overflow);
5228} 5233}
5234#endif
5229 5235
5230 5236
5231/* Find the byte sequence {DATA[0], ..., DATA[NBYTES-1], '\0'} from 5237/* Find the byte sequence {DATA[0], ..., DATA[NBYTES-1], '\0'} from
diff --git a/src/emacs.c b/src/emacs.c
index efd4fa329df..ac9b6495337 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -130,11 +130,15 @@ Lisp_Object Vlibrary_cache;
130 on subsequent starts. */ 130 on subsequent starts. */
131bool initialized; 131bool initialized;
132 132
133#ifdef CANNOT_DUMP
134enum { might_dump = false };
135#else
133/* Set to true if this instance of Emacs might dump. */ 136/* Set to true if this instance of Emacs might dump. */
134#ifndef DOUG_LEA_MALLOC 137# ifndef DOUG_LEA_MALLOC
135static 138static
136#endif 139# endif
137bool might_dump; 140bool might_dump;
141#endif
138 142
139#ifdef DARWIN_OS 143#ifdef DARWIN_OS
140extern void unexec_init_emacs_zone (void); 144extern void unexec_init_emacs_zone (void);
@@ -196,7 +200,7 @@ int daemon_type;
196#ifndef WINDOWSNT 200#ifndef WINDOWSNT
197/* Pipe used to send exit notification to the background daemon parent at 201/* Pipe used to send exit notification to the background daemon parent at
198 startup. On Windows, we use a kernel event instead. */ 202 startup. On Windows, we use a kernel event instead. */
199int daemon_pipe[2]; 203static int daemon_pipe[2];
200#else 204#else
201HANDLE w32_daemon_event; 205HANDLE w32_daemon_event;
202#endif 206#endif
diff --git a/src/image.c b/src/image.c
index d82fedb8dea..5614f39e15b 100644
--- a/src/image.c
+++ b/src/image.c
@@ -9776,6 +9776,8 @@ lookup_image_type (Lisp_Object type)
9776 return NULL; 9776 return NULL;
9777} 9777}
9778 9778
9779#if !defined CANNOT_DUMP && defined HAVE_WINDOW_SYSTEM
9780
9779/* Reset image_types before dumping. 9781/* Reset image_types before dumping.
9780 Called from Fdump_emacs. */ 9782 Called from Fdump_emacs. */
9781 9783
@@ -9789,6 +9791,7 @@ reset_image_types (void)
9789 image_types = next; 9791 image_types = next;
9790 } 9792 }
9791} 9793}
9794#endif
9792 9795
9793void 9796void
9794syms_of_image (void) 9797syms_of_image (void)
diff --git a/src/lastfile.c b/src/lastfile.c
index 9d70b001d11..27602bd6a44 100644
--- a/src/lastfile.c
+++ b/src/lastfile.c
@@ -43,6 +43,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */
43char my_edata[] = "End of Emacs initialized data"; 43char my_edata[] = "End of Emacs initialized data";
44#endif 44#endif
45 45
46#ifndef CANNOT_DUMP
47
46/* Help unexec locate the end of the .bss area used by Emacs (which 48/* Help unexec locate the end of the .bss area used by Emacs (which
47 isn't always a separate section in NT executables). */ 49 isn't always a separate section in NT executables). */
48char my_endbss[1]; 50char my_endbss[1];
@@ -52,3 +54,5 @@ char my_endbss[1];
52 of the bss area used by Emacs. */ 54 of the bss area used by Emacs. */
53static char _my_endbss[1]; 55static char _my_endbss[1];
54char * my_endbss_static = _my_endbss; 56char * my_endbss_static = _my_endbss;
57
58#endif
diff --git a/test/Makefile.in b/test/Makefile.in
index 33e625fc996..f2f27634c24 100644
--- a/test/Makefile.in
+++ b/test/Makefile.in
@@ -190,6 +190,7 @@ check-doit: ${LOGFILES}
190 190
191mostlyclean: 191mostlyclean:
192 -@for f in ${LOGFILES}; do test ! -f $$f || mv $$f $$f~; done 192 -@for f in ${LOGFILES}; do test ! -f $$f || mv $$f $$f~; done
193 rm -f *.tmp
193 194
194clean: 195clean:
195 -rm -f ${LOGFILES} ${LOGSAVEFILES} 196 -rm -f ${LOGFILES} ${LOGSAVEFILES}
@@ -206,5 +207,7 @@ maintainer-clean: distclean bootstrap-clean
206make-test-deps.mk: $(ELFILES) make-test-deps.emacs-lisp 207make-test-deps.mk: $(ELFILES) make-test-deps.emacs-lisp
207 $(EMACS) --batch -l $(srcdir)/make-test-deps.emacs-lisp \ 208 $(EMACS) --batch -l $(srcdir)/make-test-deps.emacs-lisp \
208 --eval "(make-test-deps \"$(srcdir)\")" \ 209 --eval "(make-test-deps \"$(srcdir)\")" \
209 2> $@ 210 2> $@.tmp
210# Makefile ends here. 211 # Hack to elide any CANNOT_DUMP=yes chatter.
212 sed '/\.log: /!d' $@.tmp >$@
213 rm -f $@.tmp