Mercurial > emacs
comparison src/vm-limit.c @ 109168:fb5779a6cf4b
Simplify start_of_data, start_of_text and related code.
* src/mem-limits.h: Remove !emacs and _LIBC conditional code.
(start_of_data): Merge into start_of_data function.
* src/sysdep.c (start_of_text): Remove. Move simplified versions of
it in the only users: src/unexaix.c and unexec.c.
(read_input_waiting): Remove local declaration of quit_char.
(start, etext): Remove declarations.
(start_of_data): Merge with the version in mem-limits.h and move
to vm-limits.c.
* src/vm-limit.c (start_of_data): Merged and simplified version of the
code formerly in mem-limits.h and sysdep.c.
* src/unexec.c (start): New declaration, moved from sysdep.c.
(start_of_text): Simplified version of the code formerly in sysdep.c.
* unexaix.c (start_of_text): Simplified version of the code
formerly in sysdep.c.
* src/m/alpha.h (HAVE_TEXT_START): Remove.
(TEXT_START): Move ...
* src/unexalpha.c (TEXT_START): ... here.
* src/s/hpux10-20.h (TEXT_START): Remove.
* src/s/darwin.h (TEXT_START):
* src/m/mips.h (TEXT_START):
* src/m/macppc.h (HAVE_TEXT_START):
* src/m/m68k.h (TEXT_START):
* src/m/iris4d.h (TEXT_START):
* src/m/intel386.h (TEXT_START):
* src/m/ibmrs6000.h (TEXT_START):
* src/m/ia64.h (HAVE_TEXT_START):
* src/s/msdos.h (TEXT_START): Likewise.
author | Dan Nicolaescu <dann@ics.uci.edu> |
---|---|
date | Wed, 07 Jul 2010 20:03:52 -0700 |
parents | d0090a8b66c3 |
children | e856a274549b |
comparison
equal
deleted
inserted
replaced
109167:ec5aba8edfaa | 109168:fb5779a6cf4b |
---|---|
242 | 242 |
243 if (EXCEEDS_LISP_PTR (cp)) | 243 if (EXCEEDS_LISP_PTR (cp)) |
244 (*warn_function) ("Warning: memory in use exceeds lisp pointer size"); | 244 (*warn_function) ("Warning: memory in use exceeds lisp pointer size"); |
245 } | 245 } |
246 | 246 |
247 #if !defined(CANNOT_DUMP) || !defined(SYSTEM_MALLOC) | |
248 /* Some systems that cannot dump also cannot implement these. */ | |
249 | |
250 /* | |
251 * Return the address of the start of the data segment prior to | |
252 * doing an unexec. After unexec the return value is undefined. | |
253 * See crt0.c for further information and definition of data_start. | |
254 * | |
255 * Apparently, on BSD systems this is etext at startup. On | |
256 * USG systems (swapping) this is highly mmu dependent and | |
257 * is also dependent on whether or not the program is running | |
258 * with shared text. Generally there is a (possibly large) | |
259 * gap between end of text and start of data with shared text. | |
260 * | |
261 */ | |
262 | |
263 POINTER | |
264 start_of_data (void) | |
265 { | |
266 #ifdef BSD_SYSTEM | |
267 extern char etext; | |
268 return (POINTER)(&etext); | |
269 #elif defined DATA_START | |
270 return ((POINTER) DATA_START); | |
271 #elif defined ORDINARY_LINK | |
272 /* | |
273 * This is a hack. Since we're not linking crt0.c or pre_crt0.c, | |
274 * data_start isn't defined. We take the address of environ, which | |
275 * is known to live at or near the start of the system crt0.c, and | |
276 * we don't sweat the handful of bytes that might lose. | |
277 */ | |
278 extern char **environ; | |
279 return ((POINTER) &environ); | |
280 #else | |
281 extern int data_start; | |
282 return ((POINTER) &data_start); | |
283 #endif | |
284 } | |
285 #endif /* (not CANNOT_DUMP or not SYSTEM_MALLOC) */ | |
286 | |
247 /* Enable memory usage warnings. | 287 /* Enable memory usage warnings. |
248 START says where the end of pure storage is. | 288 START says where the end of pure storage is. |
249 WARNFUN specifies the function to call to issue a warning. */ | 289 WARNFUN specifies the function to call to issue a warning. */ |
250 | 290 |
251 void | 291 void |