aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorDan Nicolaescu <[email protected]>2008-07-16 08:06:18 +0000
committerDan Nicolaescu <[email protected]>2008-07-16 08:06:18 +0000
commit132d04752a194336e0ea965245294af64f27226f (patch)
tree1431f9f0381484382c74033ac993f2bfa5fa8c33 /src
parent316460cf4825107087fed9a93694d3520b90d91f (diff)
* 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. * 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.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog26
-rw-r--r--src/m/alpha.h4
-rw-r--r--src/m/hp800.h6
-rw-r--r--src/m/ibmrs6000.h29
-rw-r--r--src/process.c59
-rw-r--r--src/s/aix4-2.h18
-rw-r--r--src/s/gnu-linux.h24
-rw-r--r--src/s/ms-w32.h84
-rw-r--r--src/systty.h5
-rw-r--r--src/unexalpha.c11
-rw-r--r--src/unexec.c169
11 files changed, 37 insertions, 398 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index d85ed8405b..091b5b8776 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,31 @@
2008-07-16 Dan Nicolaescu <[email protected]>
+ * 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.
diff --git a/src/m/alpha.h b/src/m/alpha.h
index 2bd42bdf9d..81863d58b2 100644
--- a/src/m/alpha.h
+++ b/src/m/alpha.h
@@ -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 */
diff --git a/src/m/hp800.h b/src/m/hp800.h
index 717265d568..8b3d3f089d 100644
--- a/src/m/hp800.h
+++ b/src/m/hp800.h
@@ -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
diff --git a/src/m/ibmrs6000.h b/src/m/ibmrs6000.h
index 35f464caa2..7268cf6444 100644
--- a/src/m/ibmrs6000.h
+++ b/src/m/ibmrs6000.h
@@ -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
diff --git a/src/process.c b/src/process.c
index 87772f34f7..0a6e9f302b 100644
--- a/src/process.c
+++ b/src/process.c
@@ -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
diff --git a/src/s/aix4-2.h b/src/s/aix4-2.h
index f3d3c4dd57..e5a8cbdab9 100644
--- a/src/s/aix4-2.h
+++ b/src/s/aix4-2.h
@@ -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/>. */
/* 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
diff --git a/src/s/gnu-linux.h b/src/s/gnu-linux.h
index 1904d71b6c..445694987f 100644
--- a/src/s/gnu-linux.h
+++ b/src/s/gnu-linux.h
@@ -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). */
-/* 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 <[email protected]> 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
/* [email protected] 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 <[email protected]> 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. */
diff --git a/src/s/ms-w32.h b/src/s/ms-w32.h
index 104f55f903..87ed079bff 100644
--- a/src/s/ms-w32.h
+++ b/src/s/ms-w32.h
@@ -46,81 +46,18 @@ 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.
*/
#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
diff --git a/src/systty.h b/src/systty.h
index 6020951ec7..580513a108 100644
--- a/src/systty.h
+++ b/src/systty.h
@@ -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 */
diff --git a/src/unexalpha.c b/src/unexalpha.c
index 5f711b6e48..604a70b8e2 100644
--- a/src/unexalpha.c
+++ b/src/unexalpha.c
@@ -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
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;
diff --git a/src/unexec.c b/src/unexec.c
index 7116685051..82d65f8587 100644
--- a/src/unexec.c
+++ b/src/unexec.c
@@ -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.