1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-30 09:00:31 -08:00
Commit graph

20 commits

Author SHA1 Message Date
Andrew Innes
972ee7e089 (get_section_info) [_ALPHA_]: Force as much bss data
as possible to be dumped, for safety.
1999-06-03 21:00:10 +00:00
Andrew Innes
e3ddd18c28 (get_section_info): Dump back the entire EMDATA
section if we can put Emacs' initialized data in a separate
section, otherwise use the my_begdata/my_edata method.
1999-05-02 10:13:08 +00:00
Andrew Innes
7fef47a389 (ROUND_UP_DST_AND_ZERO): New macro.
(copy_executable_and_dump_data): Use it to ensure alignment slop
is zeroed.
1999-01-31 21:53:14 +00:00
Andrew Innes
5b79dba5b9 Major rewrite to support cleaner method of dumping; a
static "bss" section is used for heap space during preload, and
bss data is now written to the proper section area when dumping.
(need_to_recreate_heap): Renamed to using_dynamic_heap.
(heap_index_in_executable): Obsolete variable removed.
(data_section): New variable.
(data_start_va): Renamed to data_start.
(data_start_file): Obsolete variable removed.
(bss_section):
(extra_bss_size):
(bss_section_static):
(bss_start_static):
(bss_size_static):
(extra_bss_size_static):
(heap_section): New variables.
(_start): Remove code based on old unexec method.  Call init_heap
to initialize sbrk heap.
(close_file_data): Update size of file when closing, so that
unexec doesn't have to work out exact size in advance.
(get_bss_info_from_map_file):
(get_section_size): Obsolete functions removed.
(rva_to_section): Fix minor bug, and add a work-around for a bug
in very old linkers.
(offset_to_section):
(relocate_offset): New functions.
(OFFSET_TO_RVA):
(RVA_TO_OFFSET):
(RVA_TO_SECTION_OFFSET):
(PTR_TO_RVA):
(PTR_TO_OFFSET):
(OFFSET_TO_PTR): New macros.
(get_section_info): Modify to support new unexec method;
determines address ranges in process that need dumping, and COFF
sections where data will be dumped.  Allows for static and global
bss data to be in separate ranges.  No longer relies on knowledge
of section names.
(copy_executable_and_dump_data_section): Renamed
copy_executable_and_dump_data.  Completely rewritten to copy
executable section by section, so that raw data areas can be
expanded to hold dumped data as necessary.  Allows for bss data to
be in same section as initialized data.  Reduces size of static
heap section to that used during preload.
(dump_bss_and_heap):
(w32_fatal_reload_error):
(read_in_bss):
(map_in_heap): Obsolete functions removed.
(unexec): Rounds off preload heap to nearest page rather than
virtual allocation unit.  Modified to match other changes.
1999-01-17 19:21:24 +00:00
Andrew Innes
467af476c1 (_start): Force system calls accessing unmounted devices to fail
without prompting.
1998-12-28 19:28:19 +00:00
Geoff Voelker
556a263f57 (w32_fatal_reload_error): Update error message. 1998-05-30 23:42:16 +00:00
Geoff Voelker
9c8056fe19 (my_begbss_static, my_endbss_static): Declare.
(get_bss_info_from_map_file): Only define if SEPARATE_BSS_SECTION.
(get_section_info): Use my_begbss_static, my_endbss_static to
determine bounds of bss.
(w32_fatal_reload_error): New function.
(read_in_bss, map_in_heap): Invoke w32_fatal_reload_error upon error.
1998-04-17 05:06:37 +00:00
Karl Heuer
03887dd388 (min, max): Define as macros. 1998-04-09 18:12:46 +00:00
Geoff Voelker
43640c4dfe Include config.h and time.h.
Declare extern data and functions.
(file_data): Move definition from w32heap.c.
(_start): Add debug hook for when profiling.
Spoof executable name when using profilers.
Invoke sbrk immediately when undumped.
(unexec): Print error messages when input and output dump files
cannot be opened.
Reset header checksum.
(open_input_file, open_output_file): Return status instead of aborting.
(get_section_size): Handle different linkers.
(find_section, rva_to_section): New functions.
(get_section_info) [SEPARATE_BSS_SECTION]: Make code for using
a separate .bss section conditional.
Use my_begbss and my_endbss to determine .bss size by default.
Look for Emacs data in EMDATA section.
1997-09-03 00:42:10 +00:00
Geoff Voelker
e54c8cd119 Add pragma to force zero initialized
data into .data segment.
1997-07-01 05:05:45 +00:00
Geoff Voelker
489f937121 Use new names for w32 files 1996-11-19 07:04:49 +00:00
Geoff Voelker
fbd6baedb5 Change identifiers of the form win32* to w32*. 1996-11-19 04:59:23 +00:00
Geoff Voelker
c2ccbd4304 (WinMain): Function removed.
(_start) [HAVE_NTGUI]: Don't invoke WinMain, but do set up
WinMain args as crt0.c would.
1996-05-03 18:39:18 +00:00
Geoff Voelker
4fd8de53a1 (WinMain): Allocate a console for stdout
and stderr if necessary.
1996-03-17 00:06:39 +00:00
Erik Naggum
3b7ad313e0 Update FSF's address in the preamble. 1996-01-15 09:18:04 +00:00
Karl Heuer
8e6208c5d2 Comment fixes. 1996-01-05 10:03:17 +00:00
Geoff Voelker
a610993dc3 (get_bss_info_from_map_file): New function.
(get_section_info): When .bss section parameters are not in the
executable, search the symbol map file for them.
1995-12-24 00:38:36 +00:00
Geoff Voelker
cd6885f37c [HAVE_NTGUI] (WinMain): New procedure.
[HAVE_NTGUI] (hinst, hprevinst, lpCmdLine, nCmdShow): New variables.
[HAVE_NTGUI] (_start): Invoke WinMainCRTStartup.
1995-11-07 07:34:42 +00:00
Geoff Voelker
198fdd15e5 (get_section_info): Set the end of the data region
to be just before the start of the shared library data.
(read_in_bss): Read directly into memory.
(map_in_heap): Read directly into memory if unable to map.
1995-06-30 21:15:19 +00:00
Karl Heuer
2147fb50c4 Initial revision 1995-06-15 20:45:57 +00:00