(copy_text_and_data) [DJGPP >= 2]: Switch off two bits
in `_crt0_startup_flags' so they don't go into the dumped Emacs. Restore the value of `_crt0_startup_flags' after .text and .data were dumped.
This commit is contained in:
parent
22549f8ba2
commit
c17a2102aa
1 changed files with 10 additions and 0 deletions
10
src/unexec.c
10
src/unexec.c
|
@ -178,6 +178,8 @@ int need_coff_header = 1;
|
|||
#ifdef MSDOS
|
||||
#if __DJGPP__ > 1
|
||||
#include <fcntl.h> /* for O_RDONLY, O_RDWR */
|
||||
#include <crt0.h> /* for _crt0_startup_flags and its bits */
|
||||
static int save_djgpp_startup_flags;
|
||||
#endif
|
||||
#include <coff.h>
|
||||
#define filehdr external_filehdr
|
||||
|
@ -884,6 +886,11 @@ copy_text_and_data (new, a_out)
|
|||
/* Dump the original table of exception handlers, not the one
|
||||
where our exception hooks are registered. */
|
||||
__djgpp_exception_toggle ();
|
||||
|
||||
/* Switch off startup flags that might have been set at runtime
|
||||
and which might change the way that dumped Emacs works. */
|
||||
save_djgpp_startup_flags = _crt0_startup_flags;
|
||||
_crt0_startup_flags &= ~(_CRT0_FLAG_NO_LFN | _CRT0_FLAG_NEARPTR);
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
@ -905,6 +912,9 @@ copy_text_and_data (new, a_out)
|
|||
#if __DJGPP__ >= 2
|
||||
/* Restore our exception hooks. */
|
||||
__djgpp_exception_toggle ();
|
||||
|
||||
/* Restore the startup flags. */
|
||||
_crt0_startup_flags = save_djgpp_startup_flags;
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue