* systty.h: Remove code for Aix on 386, unsupported platform.
authorDan Nicolaescu <dann@ics.uci.edu>
Wed, 16 Jul 2008 08:06:18 +0000 (08:06 +0000)
committerDan Nicolaescu <dann@ics.uci.edu>
Wed, 16 Jul 2008 08:06:18 +0000 (08:06 +0000)
* s/ms-w32.h: Remove boilerplate comments.
(fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.

* s/gnu-linux.h (TERM): Remove support.
(HAVE_SYSVIPC): Remove, unused.
(A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
for this system.

* process.c: Remove support for IRIS, unused.
Remove support for TERM, not relevant anymore.

* unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
used with the definition.

* s/aix4-2.h (static): Do not undef.

* m/ibmrs6000.h: Remove code depending on USG5_4, this file is
only used on Aix.
(HAVE_SYSVIPC): Remove, unused.

* m/hp800.h (CANNOT_DUMP): Do not undef.

* m/alpha.h: Fix comment.

* s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
(USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
used by this configuration.
* emacs.c: Remove code depending on USG_SHARED_LIBRARIES.
* unexec.c: Remove code depending on HPUX and
USG_SHARED_LIBRARIES, not used with this file.  Remove code
depending on IRIS, unused.  Remove if 0-ed code.

src/ChangeLog
src/m/alpha.h
src/m/hp800.h
src/m/ibmrs6000.h
src/process.c
src/s/aix4-2.h
src/s/gnu-linux.h
src/s/ms-w32.h
src/systty.h
src/unexalpha.c
src/unexec.c

index d85ed84..091b5b8 100644 (file)
@@ -1,5 +1,31 @@
 2008-07-16  Dan Nicolaescu  <dann@ics.uci.edu>
 
+       * systty.h: Remove code for Aix on 386, unsupported platform.
+
+       * s/ms-w32.h: Remove boilerplate comments.
+       (fcloseall, fgetchar, flushall, fputchar, getw, putw): Remove, unused.
+
+       * s/gnu-linux.h (TERM): Remove support.
+       (HAVE_SYSVIPC): Remove, unused.
+       (A_TEXT_OFFSET, A_TEXT_SEEK, ADJUST_EXEC_HEADER): Remove, not used
+       for this system.
+
+       * process.c: Remove support for IRIS, unused.
+       Remove support for TERM, not relevant anymore.
+
+       * unexalpha.c (DEFAULT_ENTRY_ADDRESS): Remove, replace the only
+       used with the definition.
+
+       * s/aix4-2.h (static): Do not undef.
+
+       * m/ibmrs6000.h: Remove code depending on USG5_4, this file is
+       only used on Aix.
+       (HAVE_SYSVIPC): Remove, unused.
+
+       * m/hp800.h (CANNOT_DUMP): Do not undef.
+
+       * m/alpha.h: Fix comment.
+
        * s/usg5-4.h (HAVE_SYSVIPC): Remove, unused.
        (USG_SHARED_LIBRARIES): Remove, only used in unexec.c which is not
        used by this configuration.
index 2bd42bd..81863d5 100644 (file)
@@ -44,9 +44,7 @@ NOTE-END
 #define NO_ARG_ARRAY
 
 /* Now define a symbol for the cpu type, if your compiler
-   does not define it automatically:
-   Ones defined so far include vax, m68000, ns16000, pyramid,
-   orion, tahoe, APOLLO and many others */
+   does not define it automatically.  */
 
 /* __alpha defined automatically */
 
index 717265d..8b3d3f0 100644 (file)
@@ -45,12 +45,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #if defined (__hpux) || defined (GNU_LINUX)
 
-/* Define CANNOT_DUMP on machines where unexec does not work.
-   Then the function dump-emacs will not be defined
-   and temacs will do (load "loadup") automatically unless told otherwise.  */
-
-#undef CANNOT_DUMP
-
 /* 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
index 35f464c..7268cf6 100644 (file)
@@ -41,13 +41,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #define IBMR2AIX
 
-/* Define CANNOT_DUMP on machines where unexec does not work.
-   Then the function dump-emacs will not be defined
-   and temacs will do (load "loadup") automatically unless told otherwise.  */
-#ifdef USG5_4
-#define CANNOT_DUMP
-#endif
-
 #ifndef UNEXEC
 #define UNEXEC unexaix.o
 #endif
@@ -73,24 +66,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #define DATA_SEG_BITS 0
 #endif
 
-#ifdef CANNOT_DUMP
-/* Define shared memory segment symbols */
-
-#define PURE_SEG_BITS 0x30000000
-
-/* Use shared memory.  */
-/* This is turned off because it does not always work.  See etc/AIX.DUMP.  */
-/* #define HAVE_SHM */
-#endif /* CANNOT_DUMP */
-
-#define N_BADMAG(x) BADMAG(x)
-#define N_TXTOFF(x) A_TEXTPOS(x)
-#define N_SYMOFF(x) A_SYMPOS(x)
-#define A_TEXT_OFFSET(HDR) sizeof(HDR)
-/* #define ADJUST_EXEC_HEADER \
-    unexec_text_start += sizeof(hdr); \
-    unexec_data_start = ohdr.a_dbase
-*/
 #undef ADDR_CORRECT
 #define ADDR_CORRECT(x) ((int)(x))
 
@@ -118,7 +93,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #endif
 
 #define START_FILES
-#define HAVE_SYSVIPC
 /*** BUILD 9008 - FIONREAD problem still exists in X-Windows. ***/
 #define BROKEN_FIONREAD
 /* As we define BROKEN_FIONREAD, SIGIO will be undefined in systty.h.
@@ -130,9 +104,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #define BROKEN_SIGPTY
 #define BROKEN_SIGPOLL
 
-/* Don't try to include ptem.h.  */
-#undef NEED_PTEM_H
-
 #define ORDINARY_LINK
 
 #ifndef USG5_4
index 87772f3..0a6e9f3 100644 (file)
@@ -68,11 +68,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #endif
 #endif /* HAVE_SOCKETS */
 
-/* TERM is a poor-man's SLIP, used on GNU/Linux.  */
-#ifdef TERM
-#include <client.h>
-#endif
-
 #if defined(BSD_SYSTEM)
 #include <sys/ioctl.h>
 #if !defined (O_NDELAY) && defined (HAVE_PTYS) && !defined(USG5)
@@ -95,10 +90,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #endif
 #endif
 
-#ifdef IRIS
-#include <sys/sysmacros.h>     /* for "minor" */
-#endif /* not IRIS */
-
 #ifdef HAVE_SYS_WAIT
 #include <sys/wait.h>
 #endif
@@ -259,11 +250,6 @@ int update_tick;
 #endif /* DATAGRAM_SOCKETS */
 #endif /* BROKEN_DATAGRAM_SOCKETS */
 
-#ifdef TERM
-#undef NON_BLOCKING_CONNECT
-#undef DATAGRAM_SOCKETS
-#endif
-
 #if !defined (ADAPTIVE_READ_BUFFERING) && !defined (NO_ADAPTIVE_READ_BUFFERING)
 #ifdef EMACS_HAS_USECS
 #define ADAPTIVE_READ_BUFFERING
@@ -542,14 +528,6 @@ allocate_pty ()
        PTY_OPEN;
 #else /* no PTY_OPEN */
        {
-# ifdef IRIS
-         /* Unusual IRIS code */
-         *ptyv = emacs_open ("/dev/ptc", O_RDWR | O_NDELAY, 0);
-         if (fd < 0)
-           return -1;
-         if (fstat (fd, &stb) < 0)
-           return -1;
-# else /* not IRIS */
          { /* Some systems name their pseudoterminals so that there are gaps in
               the usual sequence - for example, on HP9000/S700 systems, there
               are no pseudoterminals with names ending in 'f'.  So we wait for
@@ -571,7 +549,6 @@ allocate_pty ()
 #  else
          fd = emacs_open (pty_name, O_RDWR | O_NDELAY, 0);
 #  endif
-# endif /* not IRIS */
        }
 #endif /* no PTY_OPEN */
 
@@ -587,11 +564,11 @@ allocate_pty ()
            if (access (pty_name, 6) != 0)
              {
                emacs_close (fd);
-# if !defined(IRIS) && !defined(__sgi)
+# ifndef __sgi
                continue;
 # else
                return -1;
-# endif /* IRIS */
+# endif /* __sgi */
              }
            setup_pty (fd);
            return fd;
@@ -3208,7 +3185,7 @@ usage: (make-network-process &rest ARGS)  */)
     {
       /* Don't support network sockets when non-blocking mode is
         not available, since a blocked Emacs is not useful.  */
-#if defined(TERM) || (!defined(O_NONBLOCK) && !defined(O_NDELAY))
+#if !defined(O_NONBLOCK) && !defined(O_NDELAY)
       error ("Network servers not supported");
 #else
       is_server = 1;
@@ -3238,32 +3215,6 @@ usage: (make-network-process &rest ARGS)  */)
 
   CHECK_STRING (name);
 
-#ifdef TERM
-  /* Let's handle TERM before things get complicated ...   */
-  host = Fplist_get (contact, QChost);
-  CHECK_STRING (host);
-
-  service = Fplist_get (contact, QCservice);
-  if (INTEGERP (service))
-    port = htons ((unsigned short) XINT (service));
-  else
-    {
-      struct servent *svc_info;
-      CHECK_STRING (service);
-      svc_info = getservbyname (SDATA (service), "tcp");
-      if (svc_info == 0)
-       error ("Unknown service: %s", SDATA (service));
-      port = svc_info->s_port;
-    }
-
-  s = connect_server (0);
-  if (s < 0)
-    report_file_error ("error creating socket", Fcons (name, Qnil));
-  send_command (s, C_PORT, 0, "%s:%d", SDATA (host), ntohs (port));
-  send_command (s, C_DUMB, 1, 0);
-
-#else  /* not TERM */
-
   /* Initialize addrinfo structure in case we don't use getaddrinfo.  */
   ai.ai_socktype = socktype;
   ai.ai_protocol = 0;
@@ -3674,8 +3625,6 @@ usage: (make-network-process &rest ARGS)  */)
        report_file_error ("make client process failed", contact);
     }
 
-#endif /* not TERM */
-
   inch = s;
   outch = s;
 
@@ -7295,7 +7244,7 @@ init_process ()
 #ifdef HAVE_GETSOCKNAME
    ADD_SUBFEATURE (QCservice, Qt);
 #endif
-#if !defined(TERM) && (defined(O_NONBLOCK) || defined(O_NDELAY))
+#if defined(O_NONBLOCK) || defined(O_NDELAY)
    ADD_SUBFEATURE (QCserver, Qt);
 #endif
 
index f3d3c4d..e5a8cbd 100644 (file)
@@ -59,12 +59,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #define HAVE_SOCKETS
 
-/*
- *     Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
- *      The 4.2 opendir, etc., library functions.
- */
-
-/* #define NONSYSTEM_DIR_LIBRARY */
 
 /*
  *     Define SYSV_SYSTEM_DIR to use the V.3 getdents/readir
@@ -96,18 +90,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 \f
 /* Special itemss needed to make Emacs run on this system.  */
 
-
-
-/* USG systems tend to put everything declared static
-   into the initialized data area, which becomes pure after dumping Emacs.
-   Foil this.  Emacs carefully avoids static vars inside functions.  */
-
-#undef static
-
-/* Compiler bug bites on many systems when default ADDR_CORRECT is used.  */
-
-/* #define ADDR_CORRECT(x) (x) */
-
 #ifndef __GNUC__
 #define LINKER cc
 #endif
index 1904d71..4456949 100644 (file)
@@ -90,7 +90,7 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #define FIRST_PTY_LETTER 'p'
 
-#endif  /* not HAVE_GRANDPT */
+#endif  /* not HAVE_GRANTPT */
 
 /*  Define HAVE_TERMIOS if the system provides POSIX-style
     functions and macros for terminal control.  */
@@ -153,12 +153,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
    your system and must be used only through an encapsulation
    (Which you should place, by convention, in sysdep.c).  */
 \f
-/* If you mount the proc file system somewhere other than /proc
-   you will have to uncomment the following and make the proper
-   changes */
-
-/* #define LINUX_LDAV_FILE "/proc/loadavg" */
-
 /* This is needed for dispnew.c:update_frame */
 
 #ifdef emacs
@@ -220,14 +214,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #define C_DEBUG_SWITCH
 #endif
 
-/* Rob Malouf <malouf@csli.stanford.edu> says:
-   SYSV IPC is standard a standard part of Linux since version 0.99pl10,
-   and is a very common addition to previous versions.  */
-
-#ifdef TERM
-#define LIBS_SYSTEM -lclient
-#define C_SWITCH_SYSTEM -D_BSD_SOURCE -I/usr/src/term
-#else
 /* alane@wozzle.linet.org says that -lipc is not a separate library,
    since libc-4.4.1.  So -lipc was deleted.  */
 #define LIBS_SYSTEM
@@ -235,7 +221,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
    _GNU_SOURCE.  Left in in case it's relevant to libc5 systems and
    anyone's still using Emacs on those.  --fx 2002-12-14  */
 #define C_SWITCH_SYSTEM -D_BSD_SOURCE
-#endif
 
 /* Paul Abrahams <abrahams@equinox.shaysnet.com> says this is needed.  */
 #define LIB_MOTIF -lXm -lXpm
@@ -245,15 +230,8 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #define LIBS_TERMCAP -lncurses
 #endif
 
-#define HAVE_SYSVIPC
-
 #define UNEXEC unexelf.o
 
-#define A_TEXT_OFFSET(hdr) (N_MAGIC(hdr) == QMAGIC ? sizeof (struct exec) : 0)
-#define A_TEXT_SEEK(hdr) (N_TXTOFF(hdr) + A_TEXT_OFFSET(hdr))
-#define ADJUST_EXEC_HEADER \
-  unexec_text_start = N_TXTADDR(ohdr) + A_TEXT_OFFSET(ohdr)
-
 /* This is to work around mysterious gcc failures in some system versions.
    It is unlikely that Emacs changes will work around this problem;
    therefore, this should remain permanently.  */
index 104f55f..87ed079 100644 (file)
@@ -46,55 +46,11 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #define NO_MATHERR 1
 
-/* NOMULTIPLEJOBS should be defined if your system's shell
- does not have "job control" (the ability to stop a program,
- run some other program, then continue the first one).  */
-
-/* #define NOMULTIPLEJOBS 1 */
-
-/* Emacs can read input using SIGIO and buffering characters itself,
-   or using CBREAK mode and making C-g cause SIGINT.
-   The choice is controlled by the variable interrupt_input.
-
-   Define INTERRUPT_INPUT to make interrupt_input = 1 the default (use SIGIO)
-
-   Emacs uses the presence or absence of the SIGIO macro to indicate
-   whether or not signal-driven I/O is possible.  It uses
-   INTERRUPT_INPUT to decide whether to use it by default.
-
-   SIGIO can be used only on systems that implement it (4.2 and 4.3).
-   CBREAK mode has two disadvantages
-     1) At least in 4.2, it is impossible to handle the Meta key properly.
-       I hear that in system V this problem does not exist.
-     2) Control-G causes output to be discarded.
-       I do not know whether this can be fixed in system V.
-
-   Another method of doing input is planned but not implemented.
-   It would have Emacs fork off a separate process
-   to read the input and send it to the true Emacs process
-   through a pipe. */
-
-/* #define INTERRUPT_INPUT 1 */
-
 /* Letter to use in finding device name of first pty,
   if system supports pty's.  'a' means it is /dev/ptya0  */
 
 #define FIRST_PTY_LETTER 'a'
 
-/*
- *      Define HAVE_TERMIOS if the system provides POSIX-style
- *      functions and macros for terminal control.
- *
- *      Define HAVE_TERMIO if the system provides sysV-style ioctls
- *      for terminal control.
- *
- *      Do not define both.  HAVE_TERMIOS is preferred, if it is
- *      supported on your system.
- */
-
-/* #define HAVE_TERMIOS 1 */
-/* #define HAVE_TERMIO 1 */
-
 /*
  *      Define HAVE_TIMEVAL if the system supports the BSD style clock values.
  *      Look in <sys/time.h> for a timeval structure.
@@ -102,25 +58,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 
 #define HAVE_TIMEVAL 1
 
-/*
- *      Define HAVE_SELECT if the system supports the `select' system call.
- */
-
-/* #define HAVE_SELECT 1 */
-
-/*
- *      Define HAVE_PTYS if the system supports pty devices.
- */
-
-/* #define HAVE_PTYS 1 */
-
-/*
- *      Define NONSYSTEM_DIR_LIBRARY to make Emacs emulate
- *      The 4.2 opendir, etc., library functions.
- */
-
-/* #define NONSYSTEM_DIR_LIBRARY */
-
 /* NT supports Winsock which is close enough (with some hacks) */
 
 #define HAVE_SOCKETS 1
@@ -169,21 +106,6 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #define MAIL_USE_POP 1
 #define MAIL_USE_SYSTEM_LOCK 1
 
-/* 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.  */
-
-/* #define CLASH_DETECTION 1 */
-
-/* Define this if your operating system declares signal handlers to
-   have a type other than the usual.  `The usual' is `void' for ANSI C
-   systems (i.e. when the __STDC__ macro is defined), and `int' for
-   pre-ANSI systems.  If you're using GCC on an older system, __STDC__
-   will be defined, but the system's include files will still say that
-   signal returns int or whatever; in situations like that, define
-   this to be what the system's include files want.  */
-/* #define SIGTYPE int */
-
 /* If the character used to separate elements of the executable path
    is not ':', #define this to be the appropriate character constant.  */
 #define SEPCHAR ';'
@@ -353,17 +275,12 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 /* map to MSVC names */
 #define execlp    _execlp
 #define execvp    _execvp
-#define fcloseall _fcloseall
 #define fdopen   _fdopen
-#define fgetchar  _fgetchar
 #ifndef fileno
 #define fileno   _fileno
 #endif
-#define flushall  _flushall
-#define fputchar  _fputchar
 #define fsync    _commit
 #define ftruncate _chsize
-#define getw     _getw
 #define getpid    _getpid
 #ifdef _MSC_VER
 typedef int pid_t;
@@ -374,7 +291,6 @@ typedef int pid_t;
 #define lseek     _lseek
 #define popen     _popen
 #define pclose    _pclose
-#define putw     _putw
 #define umask    _umask
 #define utimbuf          _utimbuf
 #define index     strchr
index 6020951..580513a 100644 (file)
@@ -33,15 +33,10 @@ along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
 #endif
 #else /* not HAVE_TERMIO */
 #ifdef HAVE_TERMIOS
-#if defined(_AIX) && defined(_I386)
-#include <termios.h>           /* termios.h needs to be before termio.h */
-#include <termio.h>
-#else /* not (_AIX && _I386) */
 #ifndef NO_TERMIO
 #include <termio.h>
 #endif
 #include <termios.h>
-#endif /* not (_AIX && _I386) */
 #define INCLUDED_FCNTL
 #include <fcntl.h>
 #else /* neither HAVE_TERMIO nor HAVE_TERMIOS */
index 5f711b6..604a70b 100644 (file)
@@ -134,13 +134,6 @@ struct headers {
     struct scnhdr section[_MIPS_NSCNS_MAX];
 };
 
-
-
-/* Define name of label for entry point for the dumped executable.  */
-
-#ifndef DEFAULT_ENTRY_ADDRESS
-#define DEFAULT_ENTRY_ADDRESS __start
-#endif
 \f
 void
 unexec (new_name, a_name, data_start, bss_start, entry_address)
@@ -271,8 +264,8 @@ unexec (new_name, a_name, data_start, bss_start, entry_address)
   nhdr.aout.bsize = 0;
   if (entry_address == 0)
     {
-      extern DEFAULT_ENTRY_ADDRESS ();
-      nhdr.aout.entry = (unsigned long)DEFAULT_ENTRY_ADDRESS;
+      extern __start ();
+      nhdr.aout.entry = (unsigned long)__start;
     }
   else
     nhdr.aout.entry = entry_address;
index 7116685..82d65f8 100644 (file)
@@ -229,41 +229,11 @@ static long coff_offset;
 
 #else /* not COFF */
 
-#ifdef HPUX
-extern void *sbrk ();
-#else
-#if 0
-/* Some systems with __STDC__ compilers still declare this `char *' in some
-   header file, and our declaration conflicts.  The return value is always
-   cast, so it should be harmless to leave it undefined.  Hopefully
-   machines with different size pointers and ints declare sbrk in a header
-   file.  */
-#ifdef __STDC__
-extern void *sbrk ();
-#else
 extern char *sbrk ();
-#endif /* __STDC__ */
-#endif
-#endif /* HPUX */
 
 #define SYMS_START ((long) N_SYMOFF (ohdr))
 
-#ifdef HPUX
-#ifdef HP9000S200_ID
-#define MY_ID HP9000S200_ID
-#else
-#include <model.h>
-#define MY_ID MYSYS
-#endif /* no HP9000S200_ID */
-static MAGIC OLDMAGIC = {MY_ID, SHARE_MAGIC};
-static MAGIC NEWMAGIC = {MY_ID, DEMAND_MAGIC};
-#define N_TXTOFF(x) TEXT_OFFSET(x)
-#define N_SYMOFF(x) LESYM_OFFSET(x)
-static struct exec hdr, ohdr;
-
-#else /* not HPUX */
-
-#if defined (USG) && !defined (IRIS) && !defined (GNU_LINUX)
+#if defined (USG)
 static struct bhdr hdr, ohdr;
 #define a_magic fmagic
 #define a_text tsize
@@ -277,11 +247,10 @@ static struct bhdr hdr, ohdr;
     (((x).fmagic)!=OMAGIC && ((x).fmagic)!=NMAGIC &&\
      ((x).fmagic)!=FMAGIC && ((x).fmagic)!=IMAGIC)
 #define NEWMAGIC FMAGIC
-#else /* IRIS or not USG */
+#else /* not USG */
 static struct exec hdr, ohdr;
 #define NEWMAGIC ZMAGIC
-#endif /* IRIS or not USG */
-#endif /* not HPUX */
+#endif /* not USG */
 
 static int unexec_text_start;
 static int unexec_data_start;
@@ -358,11 +327,7 @@ make_hdr (new, a_out, data_start, bss_start, entry_address, a_name, new_name)
   auto struct scnhdr scntemp;          /* Temporary section header */
   register int scns;
 #endif /* COFF */
-#ifdef USG_SHARED_LIBRARIES
-  extern unsigned int bss_end;
-#else
   unsigned int bss_end;
-#endif
 
   pagemask = getpagesize () - 1;
 
@@ -479,17 +444,6 @@ make_hdr (new, a_out, data_start, bss_start, entry_address, a_name, new_name)
   /* Now we alter the contents of all the f_*hdr variables
      to correspond to what we want to dump.  */
 
-#ifdef USG_SHARED_LIBRARIES
-
-  /* The amount of data we're adding to the file is distance from the
-   * end of the original .data space to the current end of the .data
-   * space.
-   */
-
-  bias = bss_start - (f_ohdr.data_start + f_dhdr.s_size);
-
-#endif
-
   f_hdr.f_flags |= (F_RELFLG | F_EXEC);
 #ifndef NO_REMAP
   f_ohdr.text_start = (long) start_of_text ();
@@ -532,9 +486,7 @@ make_hdr (new, a_out, data_start, bss_start, entry_address, a_name, new_name)
   f_bhdr.s_vaddr = f_ohdr.data_start + f_ohdr.dsize;
   f_bhdr.s_size = f_ohdr.bsize;
   f_bhdr.s_scnptr = 0L;
-#ifndef USG_SHARED_LIBRARIES
   bias = f_dhdr.s_scnptr + f_dhdr.s_size - block_copy_start;
-#endif
 
   if (f_hdr.f_symptr > 0L)
     {
@@ -560,8 +512,6 @@ make_hdr (new, a_out, data_start, bss_start, entry_address, a_name, new_name)
       PERROR (new_name);
     }
 
-#ifndef USG_SHARED_LIBRARIES
-
   if (write (new, &f_thdr, sizeof (f_thdr)) != sizeof (f_thdr))
     {
       PERROR (new_name);
@@ -577,55 +527,6 @@ make_hdr (new, a_out, data_start, bss_start, entry_address, a_name, new_name)
       PERROR (new_name);
     }
 
-#else /* USG_SHARED_LIBRARIES */
-
-  /* The purpose of this code is to write out the new file's section
-   * header table.
-   *
-   * Scan through the original file's sections.  If the encountered
-   * section is one we know (.text, .data or .bss), write out the
-   * correct header.  If it is a section we do not know (such as
-   * .lib), adjust the address of where the section data is in the
-   * file, and write out the header.
-   *
-   * If any section precedes .text or .data in the file, this code
-   * will not adjust the file pointer for that section correctly.
-   */
-
-  /* This used to use sizeof (f_ohdr) instead of .f_opthdr.
-     .f_opthdr is said to be right when there is no optional header.  */
-  lseek (a_out, sizeof (f_hdr) + f_hdr.f_opthdr, 0);
-
-  for (scns = f_hdr.f_nscns; scns > 0; scns--)
-    {
-      if (read (a_out, &scntemp, sizeof (scntemp)) != sizeof (scntemp))
-       PERROR (a_name);
-
-      if (!strcmp (scntemp.s_name, f_thdr.s_name))     /* .text */
-       {
-         if (write (new, &f_thdr, sizeof (f_thdr)) != sizeof (f_thdr))
-           PERROR (new_name);
-       }
-      else if (!strcmp (scntemp.s_name, f_dhdr.s_name))        /* .data */
-       {
-         if (write (new, &f_dhdr, sizeof (f_dhdr)) != sizeof (f_dhdr))
-           PERROR (new_name);
-       }
-      else if (!strcmp (scntemp.s_name, f_bhdr.s_name))        /* .bss */
-       {
-         if (write (new, &f_bhdr, sizeof (f_bhdr)) != sizeof (f_bhdr))
-           PERROR (new_name);
-       }
-      else
-       {
-         if (scntemp.s_scnptr)
-           scntemp.s_scnptr += bias;
-         if (write (new, &scntemp, sizeof (scntemp)) != sizeof (scntemp))
-           PERROR (new_name);
-       }
-    }
-#endif /* USG_SHARED_LIBRARIES */
-
   return (0);
 
 #else /* if not COFF */
@@ -684,11 +585,6 @@ make_hdr (new, a_out, data_start, bss_start, entry_address, a_name, new_name)
       PERROR (new_name);
     }
 
-#if 0 /* This #ifndef caused a bug on GNU/Linux when using QMAGIC.  */
-  /* This adjustment was done above only #ifndef NO_REMAP,
-     so only undo it now #ifndef NO_REMAP.  */
-  /* #ifndef NO_REMAP  */
-#endif
 #ifdef A_TEXT_OFFSET
   hdr.a_text -= A_TEXT_OFFSET (ohdr);
 #endif
@@ -767,63 +663,6 @@ copy_text_and_data (new, a_out)
 
 #ifdef COFF
 
-#ifdef USG_SHARED_LIBRARIES
-
-  int scns;
-  struct scnhdr scntemp;               /* Temporary section header */
-
-  /* The purpose of this code is to write out the new file's section
-   * contents.
-   *
-   * Step through the section table.  If we know the section (.text,
-   * .data) do the appropriate thing.  Otherwise, if the section has
-   * no allocated space in the file (.bss), do nothing.  Otherwise,
-   * the section has space allocated in the file, and is not a section
-   * we know.  So just copy it.
-   */
-
-  lseek (a_out, sizeof (struct filehdr) + sizeof (struct aouthdr), 0);
-
-  for (scns = f_hdr.f_nscns; scns > 0; scns--)
-    {
-      if (read (a_out, &scntemp, sizeof (scntemp)) != sizeof (scntemp))
-       PERROR ("temacs");
-
-      if (!strcmp (scntemp.s_name, ".text"))
-       {
-         lseek (new, (long) text_scnptr, 0);
-         ptr = (char *) f_ohdr.text_start;
-         end = ptr + f_ohdr.tsize;
-         write_segment (new, ptr, end);
-       }
-      else if (!strcmp (scntemp.s_name, ".data"))
-       {
-         lseek (new, (long) data_scnptr, 0);
-         ptr = (char *) f_ohdr.data_start;
-         end = ptr + f_ohdr.dsize;
-         write_segment (new, ptr, end);
-       }
-      else if (!scntemp.s_scnptr)
-       ; /* do nothing - no data for this section */
-      else
-       {
-         char page[BUFSIZ];
-         int size, n;
-         long old_a_out_ptr = lseek (a_out, 0, 1);
-
-         lseek (a_out, scntemp.s_scnptr, 0);
-         for (size = scntemp.s_size; size > 0; size -= sizeof (page))
-           {
-             n = size > sizeof (page) ? sizeof (page) : size;
-             if (read (a_out, page, n) != n || write (new, page, n) != n)
-               PERROR ("emacs");
-           }
-         lseek (a_out, old_a_out_ptr, 0);
-       }
-    }
-
-#else /* COFF, but not USG_SHARED_LIBRARIES */
-
 #ifdef MSDOS
 #if __DJGPP__ >= 2
   /* Dump the original table of exception handlers, not the one
@@ -857,8 +696,6 @@ copy_text_and_data (new, a_out)
 #endif
 #endif
 
-#endif /* USG_SHARED_LIBRARIES */
-
 #else /* if not COFF */
 
 /* Some machines count the header as part of the text segment.