Clean up unexec.c, remove references to unused code.
authorDan Nicolaescu <dann@ics.uci.edu>
Thu, 29 Jul 2010 03:25:08 +0000 (20:25 -0700)
committerDan Nicolaescu <dann@ics.uci.edu>
Thu, 29 Jul 2010 03:25:08 +0000 (20:25 -0700)
* nt/config.nt: Remove code referring to NO_REMAP, unused.

* src/unexec.c (make_hdr): Remove references to NO_REMAP, COFF,
SEGMENT_MASK, SECTION_ALIGNMENT, ADJUST_EXEC_HEADER.
* src/s/usg5-4.h (COFF):
* src/s/template.h:
* src/s/msdos.h (COFF, NO_REMAP):
* src/s/ms-w32.h (NO_REMAP):
* src/s/hpux10-20.h (NO_REMAP):
* src/m/sparc.h (SEGMENT_MASK):
* src/m/m68k.h (NO_REMAP):
* src/m/intel386.h (SEGMENT_MASK):
* src/m/arm.h (NO_REMAP):
* src/m/alpha.h (COFF):
* src/m/template.h: Remove references to unused defines.

16 files changed:
admin/CPP-DEFINES
nt/ChangeLog
nt/config.nt
src/ChangeLog
src/m/alpha.h
src/m/arm.h
src/m/intel386.h
src/m/m68k.h
src/m/sparc.h
src/m/template.h
src/s/hpux10-20.h
src/s/ms-w32.h
src/s/msdos.h
src/s/template.h
src/s/usg5-4.h
src/unexec.c

index b647370..81c1992 100644 (file)
@@ -65,7 +65,6 @@ SYSTEM_TYPE
 EXPLICIT_SIGN_EXTEND
 LOAD_AVE_CVT
 LOAD_AVE_TYPE
-NO_REMAP
 VIRT_ADDR_VARIES
 WORDS_BIG_ENDIAN
 
@@ -190,7 +189,6 @@ HAVE_TZSET
 HAVE_UNISTD_H
 HAVE_UTIMES
 HAVE_UTIME_H
-HAVE_VOLATILE
 HAVE_WINDOW_SYSTEM
 HAVE_WORKING_VFORK
 HAVE_XRMSETDATABASE
@@ -237,7 +235,6 @@ PTY_TTY_NAME_SPRINTF
 PURESIZE
 RUN_TIME_REMAP
 SA_RESTART
-SECTION_ALIGNMENT  -- was only used by s/lynxos.h, maybe all code depending on it can be removed.
 SEGMENT_MASK
 SETPGRP_RELEASES_CTTY
 SETUP_SLAVE_PTY
@@ -252,14 +249,12 @@ SIGTRAP
 SIGTYPE
 SOLARIS2
 STDC_HEADERS
-SYMS_SYSTEM
 SYSTEM_PURESIZE_EXTRA
 SYSTEM_MALLOC
 SYSV_SYSTEM_DIR
 TAB3
 TABDLY
 TERM
-THIS_IS_CONFIGURE
 TIME_WITH_SYS_TIME
 TIOCSIGSEND
 TM_IN_SYS_TIME
index 4dfdd16..4de3a54 100644 (file)
@@ -1,3 +1,7 @@
+2010-07-29  Dan Nicolaescu  <dann@ics.uci.edu>
+
+       * config.nt: Remove code referring to NO_REMAP, unused.
+
 2010-07-25  Christoph Scholtes  <cschol2112@gmail.com>
 
        Build binary distros on Windows using emacs-VERSION as root dir name.
index 683070f..676c337 100644 (file)
@@ -308,12 +308,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #undef config_machfile
 #include "m/intel386.h"
 
-/* If no remapping takes place, static variables cannot be dumped as
-   pure, so don't worry about the `static' keyword. */
-#ifdef NO_REMAP
-#undef static
-#endif
-
 /* Define `subprocesses' should be defined if you want to
    have code for asynchronous subprocesses
    (as used in M-x compile and M-x shell).
index d85fdf9..ab6f98e 100644 (file)
@@ -1,3 +1,19 @@
+2010-07-29  Dan Nicolaescu  <dann@ics.uci.edu>
+
+       * unexec.c (make_hdr): Remove references to NO_REMAP, COFF,
+       SEGMENT_MASK, SECTION_ALIGNMENT, ADJUST_EXEC_HEADER.
+       * s/usg5-4.h (COFF):
+       * s/template.h:
+       * s/msdos.h (COFF, NO_REMAP):
+       * s/ms-w32.h (NO_REMAP):
+       * s/hpux10-20.h (NO_REMAP):
+       * m/sparc.h (SEGMENT_MASK):
+       * m/m68k.h (NO_REMAP):
+       * m/intel386.h (SEGMENT_MASK):
+       * m/arm.h (NO_REMAP):
+       * m/alpha.h (COFF):
+       * m/template.h: Remove references to unused defines.
+
 2010-07-28  Jan Djärv  <jan.h.d@swipnet.se>
 
        * xsettings.c (Ftool_bar_get_system_style): Also check for
index ae8fd62..5a01684 100644 (file)
@@ -64,12 +64,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
    termio and struct termios are mutually incompatible.  */
 #define NO_TERMIO
 
-#if defined (GNU_LINUX) || defined (__NetBSD__) || defined (__OpenBSD__)
-# ifndef __ELF__
-#  define COFF
-# endif /* notdef __ELF__ */
-#endif
-
 /* Many Alpha implementations (e.g. gas 2.8) can't handle DBL_MIN:
    they generate code that uses a signaling NaN instead of DBL_MIN.
    Define DBL_MIN_REPLACEMENT to be the next value larger than DBL_MIN:
index cf30e2e..ee5d6c7 100644 (file)
@@ -22,7 +22,5 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
    is the most significant byte.  */
 #undef WORDS_BIG_ENDIAN
 
-#define NO_REMAP
-
 /* arch-tag: 07856f0c-f0c8-4bd8-99af-0b7fa1e5ee42
    (do not change this comment) */
index 76e5929..2931e9a 100644 (file)
@@ -32,8 +32,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 /* libc-linux/sysdeps/linux/i386/ulimit.c says that due to shared library, */
 /* we cannot get the maximum address for brk */
 #define ULIMIT_BREAK_VALUE (32*1024*1024)
-
-#define SEGMENT_MASK ((SEGMENT_SIZE)-1)
 #endif
 
 /* arch-tag: 746338f0-cb7b-4f49-a98c-cb50817cf2ec
index 5a08320..2286cbc 100644 (file)
@@ -40,7 +40,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #define DATA_SEG_BITS 0x80000000
 #endif
 
-#define NO_REMAP
 #endif
 
 /* arch-tag: 4eadd161-b4e8-4b82-82a1-e4ce7f42969d
index 39240dc..6c2c71c 100644 (file)
@@ -34,9 +34,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 /* Convert that into an integer that is 100 for a load average of 1.0  */
 #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / FSCALE)
 
-/* Mask for address bits within a memory segment */
-#define SEGMENT_MASK (SEGSIZ - 1)
-
 #ifdef __arch64__              /* GCC, 64-bit ABI.  */
 
 #define BITS_PER_LONG 64
index 0b14941..7e06784 100644 (file)
@@ -47,12 +47,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
    numerically.  */
 #define VIRT_ADDR_VARIES
 
-/* Define NO_REMAP if memory segmentation makes it not work well
-   to change the boundary between the text section and data section
-   when Emacs is dumped.  If you define this, the preloaded Lisp
-   code will not be sharable; but that's better than failing completely.  */
-#define NO_REMAP
-
 /* After adding support for a new machine, modify the large case
    statement in configure.in to recognize reasonable
    configuration names, and add a description of the system to
index ee84104..ee0fa9a 100644 (file)
@@ -113,12 +113,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
    on HP-UX.  (You get duplicate symbol errors on linking). */
 #undef _FILE_OFFSET_BITS
 
-/* Define NO_REMAP if memory segmentation makes it not work well
-   to change the boundary between the text section and data section
-   when Emacs is dumped.  If you define this, the preloaded Lisp
-   code will not be sharable; but that's better than failing completely.  */
-#define NO_REMAP
-
 /* Define VIRT_ADDR_VARIES if the virtual addresses of
    pure and impure space as loaded can vary, and even their
    relative order cannot be relied on.
index b3e9db8..f61fae5 100644 (file)
@@ -62,10 +62,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
    for received packets, so datagrams are broken too.  */
 #define BROKEN_DATAGRAM_SOCKETS 1
 
-/* If your system uses COFF (Common Object File Format) then define the
-   preprocessor symbol "COFF".  */
-#define COFF 1
-
 #define MAIL_USE_POP 1
 #define MAIL_USE_SYSTEM_LOCK 1
 
index b76b583..ffbae87 100644 (file)
@@ -45,10 +45,6 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
    This is the only system that needs this.  */
 #undef subprocesses
 
-/* If your system uses COFF (Common Object File Format) then define the
-   preprocessor symbol "COFF".  */
-#define COFF
-
 /* Here, on a separate page, add any special hacks needed to make
    Emacs work on this system.  For example, you might define certain
    system call names that don't exist on your system, or that do
@@ -131,7 +127,5 @@ You lose; /* Emacs for DOS must be compiled with DJGPP */
 #define GC_SETJMP_WORKS 1
 #define GC_MARK_STACK GC_MAKE_GCPROS_NOOPS
 
-#define NO_REMAP
-
 /* arch-tag: d184f860-815d-4ff4-8187-d05c0f3c37d0
    (do not change this comment) */
index 67ed13e..dd1e56f 100644 (file)
@@ -85,11 +85,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 /* #undef subprocesses */
 
-/* If your system uses COFF (Common Object File Format) then define the
-   preprocessor symbol "COFF".  */
-
-/* #define COFF */
-
 /* Define CLASH_DETECTION if you want lock files to be written
    so that Emacs can tell instantly when you try to modify
    a file that someone else has modified in his Emacs.  */
index b92a5bb..0fcc662 100644 (file)
@@ -56,8 +56,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 /* On USG systems signal handlers return void.  */
 #define SIGTYPE void
 
-#undef COFF
-
 /* Get FIONREAD from <sys/filio.h>.  Get <sys/ttold.h> to get struct tchars.
    But get <termio.h> first to make sure ttold.h doesn't interfere.
    And don't try to use SIGIO yet.  */
index 8edd9e2..f7f93b0 100644 (file)
@@ -48,8 +48,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
  *
  * Specifying zero for data_start means the boundary between text and data
  * should not be the same as when the program was loaded.
- * If NO_REMAP is defined, the argument data_start is ignored and the
- * segment boundaries are never changed.
  *
  * Bss_start indicates how much of the data segment is to be saved in the
  * a.out file and restored when the program is executed.  It gives the lowest
@@ -69,56 +67,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
  * of Dell Computer Corporation.  james@bigtex.cactus.org.
  */
 
-/* There are several compilation parameters affecting unexec:
-
-* COFF
-
-Define this if your system uses COFF for executables.
-
-* NO_REMAP
-
-Define this if you do not want to try to save Emacs's pure data areas
-as part of the text segment.
-
-Saving them as text is good because it allows users to share more.
-
-However, on machines that locate the text area far from the data area,
-the boundary cannot feasibly be moved.  Such machines require
-NO_REMAP.
-
-Also, remapping can cause trouble with the built-in startup routine
-/lib/crt0.o, which defines `environ' as an initialized variable.
-Dumping `environ' as pure does not work!  So, to use remapping,
-you must write a startup routine for your machine in Emacs's crt0.c.
-If NO_REMAP is defined, Emacs uses the system's crt0.o.
-
-* SECTION_ALIGNMENT
-
-Some machines that use COFF executables require that each section
-start on a certain boundary *in the COFF file*.  Such machines should
-define SECTION_ALIGNMENT to a mask of the low-order bits that must be
-zero on such a boundary.  This mask is used to control padding between
-segments in the COFF file.
-
-If SECTION_ALIGNMENT is not defined, the segments are written
-consecutively with no attempt at alignment.  This is right for
-unmodified system V.
-
-* SEGMENT_MASK
-
-Some machines require that the beginnings and ends of segments
-*in core* be on certain boundaries.  For most machines, a page
-boundary is sufficient.  That is the default.  When a larger
-boundary is needed, define SEGMENT_MASK to a mask of
-the bits that must be zero on such a boundary.
-
-* ADJUST_EXEC_HEADER
-
-This macro can be used to generate statements to adjust or
-initialize nonstandard fields in the file header
-
-*/
-
 #ifndef emacs
 #define PERROR(arg) perror (arg); return -1
 #else
@@ -264,19 +212,9 @@ make_hdr (new, a_out, data_start, bss_start, entry_address, a_name, new_name)
   pagemask = getpagesize () - 1;
 
   /* Adjust text/data boundary. */
-#ifdef NO_REMAP
   data_start = (int) start_of_data ();
-#else /* not NO_REMAP */
-  if (!data_start)
-    data_start = (int) start_of_data ();
-#endif /* not NO_REMAP */
   data_start = ADDR_CORRECT (data_start);
-
-#ifdef SEGMENT_MASK
-  data_start = data_start & ~SEGMENT_MASK; /* (Down) to segment boundary. */
-#else
   data_start = data_start & ~pagemask; /* (Down) to page boundary. */
-#endif
 
   bss_end = ADDR_CORRECT (sbrk (0)) + pagemask;
   bss_end &= ~ pagemask;
@@ -374,42 +312,20 @@ make_hdr (new, a_out, data_start, bss_start, entry_address, a_name, new_name)
      to correspond to what we want to dump.  */
 
   f_hdr.f_flags |= (F_RELFLG | F_EXEC);
-#ifndef NO_REMAP
   f_ohdr.text_start = (long) start_of_text ();
   f_ohdr.tsize = data_start - f_ohdr.text_start;
   f_ohdr.data_start = data_start;
-#endif /* NO_REMAP */
   f_ohdr.dsize = bss_start - f_ohdr.data_start;
   f_ohdr.bsize = bss_end - bss_start;
-  /* On some machines, the old values are right.
-     ??? Maybe on all machines with NO_REMAP.  */
   f_thdr.s_size = f_ohdr.tsize;
   f_thdr.s_scnptr = sizeof (f_hdr) + sizeof (f_ohdr);
   f_thdr.s_scnptr += (f_hdr.f_nscns) * (sizeof (f_thdr));
   lnnoptr = f_thdr.s_lnnoptr;
-#ifdef SECTION_ALIGNMENT
-  /* Some systems require special alignment
-     of the sections in the file itself.  */
-  f_thdr.s_scnptr
-    = (f_thdr.s_scnptr + SECTION_ALIGNMENT) & ~SECTION_ALIGNMENT;
-#endif /* SECTION_ALIGNMENT */
   text_scnptr = f_thdr.s_scnptr;
   f_dhdr.s_paddr = f_ohdr.data_start;
   f_dhdr.s_vaddr = f_ohdr.data_start;
   f_dhdr.s_size = f_ohdr.dsize;
   f_dhdr.s_scnptr = f_thdr.s_scnptr + f_thdr.s_size;
-#ifdef SECTION_ALIGNMENT
-  /* Some systems require special alignment
-     of the sections in the file itself.  */
-  f_dhdr.s_scnptr
-    = (f_dhdr.s_scnptr + SECTION_ALIGNMENT) & ~SECTION_ALIGNMENT;
-#endif /* SECTION_ALIGNMENT */
-#ifdef DATA_SECTION_ALIGNMENT
-  /* Some systems require special alignment
-     of the data section only.  */
-  f_dhdr.s_scnptr
-    = (f_dhdr.s_scnptr + DATA_SECTION_ALIGNMENT) & ~DATA_SECTION_ALIGNMENT;
-#endif /* DATA_SECTION_ALIGNMENT */
   data_scnptr = f_dhdr.s_scnptr;
   f_bhdr.s_paddr = f_ohdr.data_start + f_ohdr.dsize;
   f_bhdr.s_vaddr = f_ohdr.data_start + f_ohdr.dsize;
@@ -427,10 +343,6 @@ make_hdr (new, a_out, data_start, bss_start, entry_address, a_name, new_name)
       f_thdr.s_lnnoptr += bias;
     }
 
-#ifdef ADJUST_EXEC_HEADER
-  ADJUST_EXEC_HEADER;
-#endif /* ADJUST_EXEC_HEADER */
-
   if (write (new, &f_hdr, sizeof (f_hdr)) != sizeof (f_hdr))
     {
       PERROR (new_name);