aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/alloc.c22
-rw-r--r--src/emacs.c10
-rw-r--r--src/image.c3
-rw-r--r--src/lastfile.c4
4 files changed, 28 insertions, 11 deletions
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