changeset 96719:f8ef0d7d5451

* m/mips.h: Remove boilerplate comments and code for systems that do not use this file. (SIGN_EXTEND_CHAR): * m/arm.h (SIGN_EXTEND_CHAR): Remove, unused. * unexmips.c: Remove file, unused.
author Dan Nicolaescu <dann@ics.uci.edu>
date Wed, 16 Jul 2008 07:11:19 +0000
parents b9cd22789f50
children f4aea6a6eccb
files src/ChangeLog src/m/arm.h src/m/mips.h src/unexmips.c
diffstat 4 files changed, 8 insertions(+), 473 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Wed Jul 16 07:01:36 2008 +0000
+++ b/src/ChangeLog	Wed Jul 16 07:11:19 2008 +0000
@@ -1,5 +1,11 @@
 2008-07-16  Dan Nicolaescu  <dann@ics.uci.edu>
 
+	* m/mips.h: Remove boilerplate comments and code for systems that
+	 do not use this file.
+	 (SIGN_EXTEND_CHAR):
+	* m/arm.h (SIGN_EXTEND_CHAR): Remove, unused.
+	* unexmips.c: Remove file, unused.
+
 	* editfns.c (Fuser_full_name): Replace the only use of
 	USER_FULL_NAME with its value.
 	* config.in: Regenerate.
--- a/src/m/arm.h	Wed Jul 16 07:01:36 2008 +0000
+++ b/src/m/arm.h	Wed Jul 16 07:11:19 2008 +0000
@@ -34,11 +34,6 @@
 #undef NO_ARG_ARRAY
 #endif
 
-/* Define how to take a char and sign-extend into an int.
-   On machines where char is signed, this is a no-op.  */
-
-#define SIGN_EXTEND_CHAR(c) (((int)(c) << 24) >> 24)
-
 #define NO_REMAP
 
 /* arch-tag: 07856f0c-f0c8-4bd8-99af-0b7fa1e5ee42
--- a/src/m/mips.h	Wed Jul 16 07:01:36 2008 +0000
+++ b/src/m/mips.h	Wed Jul 16 07:11:19 2008 +0000
@@ -23,8 +23,7 @@
    USUAL-OPSYS="note"
 
 NOTE-START
-Use mips4.h for RISCOS version 4; use s-bsd4-3.h with the BSD world.
-Note that the proper m file for the Decstation is pmax.h.
+This is only used on GNU/Linux.
 NOTE-END  */
 
 /* Define WORDS_BIG_ENDIAN if lowest-numbered byte in a word
@@ -39,15 +38,8 @@
 
 #define NO_ARG_ARRAY
 
-/* Define how to take a char and sign-extend into an int.
-   On machines where char is signed, this is a no-op.  */
-
-#define SIGN_EXTEND_CHAR(c) ((signed char)(c))
-
 /* 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.  */
 #ifndef mips
 #	define mips
 #endif
@@ -68,28 +60,6 @@
 
 #define LOAD_AVE_CVT(x) (int) (((double) (x)) * 100.0 / 256.0)
 
-/* CDC EP/IX 1.4.3 uses /unix */
-
-#ifndef __linux__
-#undef KERNEL_FILE
-#define KERNEL_FILE "/unix"
-#endif /* not __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 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.
-
-   Otherwise Emacs assumes that text space precedes data space,
-   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
@@ -97,59 +67,12 @@
 
 #define NO_REMAP
 
-/* This machine requires completely different unexec code
-   which lives in a separate file.  Specify the file name.  */
-
-#if !defined(__linux__) && !defined(__NetBSD__)
-#undef UNEXEC
-#define UNEXEC unexmips.o
-#endif /* not __linux__ && not __NetBSD__ */
-
 /* Describe layout of the address space in an executing process.  */
 
-#ifdef __linux__
 #define TEXT_START      0x00400000
 #define DATA_START      0x10000000
 #define DATA_SEG_BITS	0x10000000
-#else /* not __linux__ */
-#define TEXT_START 0x400000
-#define DATA_START 0x800000
-#endif /* __linux__ */
 
-/* Alter some of the options used when linking.  */
-
-#if !defined(__linux__)
-#ifdef BSD_SYSTEM
-
-/* DECstations don't have this library.
-   #define LIBS_MACHINE -lmld  */
-
-#define LD_SWITCH_MACHINE -D 800000
-#define LIBS_DEBUG
-
-#if defined (__NetBSD__) || defined (__OpenBSD__)
-#else  /* bsd with elf */
-#define LINKER /bsd43/bin/ld
-
-#define LD_SWITCH_MACHINE -D 800000 -g3
-#define START_FILES pre-crt0.o /usr/lib/crt1.o
-#define LIB_STANDARD -lbsd -lc /usr/lib/crtn.o
-#define LIBS_TERMCAP -lcurses
-
-#define C_SWITCH_MACHINE -I/usr/include/bsd
-#define C_DEBUG_SWITCH -O -g3
-
-#endif /* bsd with elf */
-#else /* not BSD_SYSTEM */
-
-#if defined(__GNUC__) && defined(_ABIN32)
-#define LIBS_MACHINE
-#else
-#define LIBS_MACHINE -lmld
-#endif
-
-#endif /* not BSD_SYSTEM */
-#endif /* not __linux__ */
 
 /* The standard definitions of these macros would work ok,
    but these are faster because the constants are short.  */
@@ -160,47 +83,6 @@
   ((var) =								\
    ((int)(type) << VALBITS)						\
    + (((unsigned) (ptr) << (BITS_PER_INT-VALBITS)) >> (BITS_PER_INT-VALBITS)))
-
-#if !defined (__linux__)
-#ifdef USG
-
-/* Cancel certain parts of standard sysV support.  */
-#undef NONSYSTEM_DIR_LIBRARY
-#define SYSV_SYSTEM_DIR
-#undef static
-
-/* Don't try to use SIGIO or FIONREAD even though they are defined.  */
-#define BROKEN_SIGIO
-#define BROKEN_FIONREAD
-
-/* Describe special kernel features.  */
-
-#define HAVE_SYSVIPC
-
-#if defined(emacs)
-#include <bsd/sys/time.h>
-#endif
-
-/* The `select' in the system won't work for pipes, so don't use it.  */
-#undef HAVE_SELECT /* override configuration decision */
-
-#define HAVE_PTYS
-#define HAVE_SOCKETS
-
-#undef NOMULTIPLEJOBS
-
-/* ??? */
-#define IRIS
-
-#endif /* USG */
-
-#ifdef BSD_SYSTEM
-#define COFF
-#define TERMINFO
-#undef MAIL_USE_FLOCK  /* Someone should check this.  */
-#endif /* BSD_SYSTEM */
-
-#endif /* not __linux__ */
 
 /* arch-tag: 8fd020ee-78a7-4d87-96ce-6129f52f7bee
    (do not change this comment) */
--- a/src/unexmips.c	Wed Jul 16 07:01:36 2008 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,348 +0,0 @@
-/* Unexec for MIPS (including IRIS4D).
-   Note that the GNU project considers support for MIPS operation
-   a peripheral activity which should not be allowed to divert effort
-   from development of the GNU system.  Changes in this code will be
-   installed when users send them in, but aside from that
-   we don't plan to think about it, or about whether other Emacs
-   maintenance might break it.
-
-   Copyright (C) 1988, 1994, 2001, 2002, 2003, 2004,
-                 2005, 2006, 2007, 2008  Free Software Foundation, Inc.
-
-This file is part of GNU Emacs.
-
-GNU Emacs is free software: you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation, either version 3 of the License, or
-(at your option) any later version.
-
-GNU Emacs is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU Emacs.  If not, see <http://www.gnu.org/licenses/>.  */
-
-
-#include <config.h>
-#include <sys/types.h>
-#include <sys/file.h>
-#include <sys/stat.h>
-#include <stdio.h>
-#include <varargs.h>
-
-#ifdef MACH
-
-#include <a.out.h>
-
-/* I don't know why this isn't defined.  */
-#ifndef STYP_INIT
-#define STYP_INIT  0x80000000
-#endif
-
-/* I don't know why this isn't defined.  */
-#ifndef _RDATA
-#define	_RDATA	".rdata"
-#define STYP_RDATA 0x00000100
-#endif
-
-/* Small ("near") data section.  */
-#ifndef _SDATA
-#define	_SDATA	".sdata"
-#define STYP_SDATA 0x00000200
-#endif
-
-/* Small ("near") bss section.  */
-#ifndef _SBSS
-#define _SBSS ".sbss"
-#define STYP_SBSS 0x00000400
-#endif
-
-/* We don't seem to have a sym.h or syms.h anywhere, so we'll do it the
-   hard way.  This stinks.  */
-typedef struct {
-  short   magic;
-  short   vstamp;
-  long    ilineMax;
-  struct { long foo, offset; } offsets[11];
-} HDRR, *pHDRR;
-
-#else /* not MACH */
-
-#include <filehdr.h>
-#include <aouthdr.h>
-#include <scnhdr.h>
-#include <sym.h>
-
-#endif /* not MACH */
-
-#if defined (IRIS_4D)
-#include "getpagesize.h"
-#include <fcntl.h>
-#endif
-
-static void fatal_unexec ();
-static void mark_x ();
-
-#define READ(_fd, _buffer, _size, _error_message, _error_arg) \
-	errno = EEOF; \
-	if (read (_fd, _buffer, _size) != _size) \
-	  fatal_unexec (_error_message, _error_arg);
-
-#define WRITE(_fd, _buffer, _size, _error_message, _error_arg) \
-	if (write (_fd, _buffer, _size) != _size) \
-	  fatal_unexec (_error_message, _error_arg);
-
-#define SEEK(_fd, _position, _error_message, _error_arg) \
-	errno = EEOF; \
-	if (lseek (_fd, _position, L_SET) != _position) \
-	  fatal_unexec (_error_message, _error_arg);
-
-extern int errno;
-extern char *strerror ();
-#define EEOF -1
-
-static struct scnhdr *text_section;
-static struct scnhdr *init_section;
-static struct scnhdr *finit_section;
-static struct scnhdr *rdata_section;
-static struct scnhdr *data_section;
-static struct scnhdr *lit8_section;
-static struct scnhdr *lit4_section;
-static struct scnhdr *sdata_section;
-static struct scnhdr *sbss_section;
-static struct scnhdr *bss_section;
-
-struct headers {
-    struct filehdr fhdr;
-    struct aouthdr aout;
-    struct scnhdr section[10];
-};
-
-/* Define name of label for entry point for the dumped executable.  */
-
-#ifndef DEFAULT_ENTRY_ADDRESS
-#define DEFAULT_ENTRY_ADDRESS __start
-#endif
-
-unexec (new_name, a_name, data_start, bss_start, entry_address)
-     char *new_name, *a_name;
-     unsigned data_start, bss_start, entry_address;
-{
-  int new, old;
-  int pagesize, brk;
-  int newsyms, symrel;
-  int nread;
-  struct headers hdr;
-  int i;
-  int vaddr, scnptr;
-#define BUFSIZE 8192
-  char buffer[BUFSIZE];
-
-  old = open (a_name, O_RDONLY, 0);
-  if (old < 0) fatal_unexec ("opening %s", a_name);
-
-  new = creat (new_name, 0666);
-  if (new < 0) fatal_unexec ("creating %s", new_name);
-
-  hdr = *((struct headers *)TEXT_START);
-  if (hdr.fhdr.f_magic != MIPSELMAGIC
-      && hdr.fhdr.f_magic != MIPSEBMAGIC)
-    {
-      fprintf (stderr, "unexec: input file magic number is %x, not %x or %x.\n",
-	       hdr.fhdr.f_magic, MIPSELMAGIC, MIPSEBMAGIC);
-      exit (1);
-    }
-  if (hdr.fhdr.f_opthdr != sizeof (hdr.aout))
-    {
-      fprintf (stderr, "unexec: input a.out header is %d bytes, not %d.\n",
-	       hdr.fhdr.f_opthdr, sizeof (hdr.aout));
-      exit (1);
-    }
-  if (hdr.aout.magic != ZMAGIC)
-    {
-      fprintf (stderr, "unexec: input file a.out magic number is %o, not %o.\n",
-	       hdr.aout.magic, ZMAGIC);
-      exit (1);
-    }
-
-#define CHECK_SCNHDR(ptr, name, flags)					\
-  ptr = NULL;								\
-  for (i = 0; i < hdr.fhdr.f_nscns && !ptr; i++)			\
-    if (strcmp (hdr.section[i].s_name, name) == 0)			\
-      {									\
-	if (hdr.section[i].s_flags != flags)				\
-	  fprintf (stderr, "unexec: %x flags (%x expected) in %s section.\n", \
-		   hdr.section[i].s_flags, flags, name);		\
-	ptr = hdr.section + i;						\
-      }									\
-
-  CHECK_SCNHDR (text_section,  _TEXT,  STYP_TEXT);
-  CHECK_SCNHDR (init_section,  _INIT,  STYP_INIT);
-  CHECK_SCNHDR (rdata_section, _RDATA, STYP_RDATA);
-  CHECK_SCNHDR (data_section,  _DATA,  STYP_DATA);
-#ifdef _LIT8
-  CHECK_SCNHDR (lit8_section,  _LIT8,  STYP_LIT8);
-  CHECK_SCNHDR (lit4_section,  _LIT4,  STYP_LIT4);
-#endif /* _LIT8 */
-  CHECK_SCNHDR (sdata_section, _SDATA, STYP_SDATA);
-  CHECK_SCNHDR (sbss_section,  _SBSS,  STYP_SBSS);
-  CHECK_SCNHDR (bss_section,   _BSS,   STYP_BSS);
-#if 0 /* Apparently this error check goes off on irix 3.3,
-	 but it doesn't indicate a real problem.  */
-  if (i != hdr.fhdr.f_nscns)
-    fprintf (stderr, "unexec: %d sections found instead of %d.\n",
-	     i, hdr.fhdr.f_nscns);
-#endif
-
-  text_section->s_scnptr = 0;
-
-  pagesize = getpagesize ();
-  /* Casting to int avoids compiler error on NEWS-OS 5.0.2.  */
-  brk = (((int) (sbrk (0))) + pagesize - 1) & (-pagesize);
-  hdr.aout.dsize = brk - DATA_START;
-  hdr.aout.bsize = 0;
-  if (entry_address == 0)
-    {
-      extern DEFAULT_ENTRY_ADDRESS ();
-      hdr.aout.entry = (unsigned)DEFAULT_ENTRY_ADDRESS;
-    }
-  else
-    hdr.aout.entry = entry_address;
-
-  hdr.aout.bss_start = hdr.aout.data_start + hdr.aout.dsize;
-  rdata_section->s_size = data_start - DATA_START;
-
-  /* Adjust start and virtual addresses of rdata_section, too.  */
-  rdata_section->s_vaddr = DATA_START;
-  rdata_section->s_paddr = DATA_START;
-  rdata_section->s_scnptr = text_section->s_scnptr + hdr.aout.tsize;
-
-  data_section->s_vaddr = data_start;
-  data_section->s_paddr = data_start;
-  data_section->s_size = brk - data_start;
-  data_section->s_scnptr = rdata_section->s_scnptr + rdata_section->s_size;
-  vaddr = data_section->s_vaddr + data_section->s_size;
-  scnptr = data_section->s_scnptr + data_section->s_size;
-  if (lit8_section != NULL)
-    {
-      lit8_section->s_vaddr = vaddr;
-      lit8_section->s_paddr = vaddr;
-      lit8_section->s_size = 0;
-      lit8_section->s_scnptr = scnptr;
-    }
-  if (lit4_section != NULL)
-    {
-      lit4_section->s_vaddr = vaddr;
-      lit4_section->s_paddr = vaddr;
-      lit4_section->s_size = 0;
-      lit4_section->s_scnptr = scnptr;
-    }
-  if (sdata_section != NULL)
-    {
-      sdata_section->s_vaddr = vaddr;
-      sdata_section->s_paddr = vaddr;
-      sdata_section->s_size = 0;
-      sdata_section->s_scnptr = scnptr;
-    }
-  if (sbss_section != NULL)
-    {
-      sbss_section->s_vaddr = vaddr;
-      sbss_section->s_paddr = vaddr;
-      sbss_section->s_size = 0;
-      sbss_section->s_scnptr = scnptr;
-    }
-  if (bss_section != NULL)
-    {
-      bss_section->s_vaddr = vaddr;
-      bss_section->s_paddr = vaddr;
-      bss_section->s_size = 0;
-      bss_section->s_scnptr = scnptr;
-    }
-
-  WRITE (new, (char *)TEXT_START, hdr.aout.tsize,
-	 "writing text section to %s", new_name);
-  WRITE (new, (char *)DATA_START, hdr.aout.dsize,
-	 "writing data section to %s", new_name);
-
-  SEEK (old, hdr.fhdr.f_symptr, "seeking to start of symbols in %s", a_name);
-  errno = EEOF;
-  nread = read (old, buffer, BUFSIZE);
-  if (nread < sizeof (HDRR)) fatal_unexec ("reading symbols from %s", a_name);
-  newsyms = hdr.aout.tsize + hdr.aout.dsize;
-  symrel = newsyms - hdr.fhdr.f_symptr;
-  hdr.fhdr.f_symptr = newsyms;
-#define symhdr ((pHDRR)buffer)
-#ifdef MACH
-  for (i = 0; i < 11; i++)
-    symhdr->offsets[i].offset += symrel;
-#else
-  symhdr->cbLineOffset += symrel;
-  symhdr->cbDnOffset += symrel;
-  symhdr->cbPdOffset += symrel;
-  symhdr->cbSymOffset += symrel;
-  symhdr->cbOptOffset += symrel;
-  symhdr->cbAuxOffset += symrel;
-  symhdr->cbSsOffset += symrel;
-  symhdr->cbSsExtOffset += symrel;
-  symhdr->cbFdOffset += symrel;
-  symhdr->cbRfdOffset += symrel;
-  symhdr->cbExtOffset += symrel;
-#endif
-#undef symhdr
-  do
-    {
-      if (write (new, buffer, nread) != nread)
-	fatal_unexec ("writing symbols to %s", new_name);
-      nread = read (old, buffer, BUFSIZE);
-      if (nread < 0) fatal_unexec ("reading symbols from %s", a_name);
-#undef BUFSIZE
-    } while (nread != 0);
-
-  SEEK (new, 0, "seeking to start of header in %s", new_name);
-  WRITE (new, &hdr, sizeof (hdr),
-	 "writing header of %s", new_name);
-
-  close (old);
-  close (new);
-  mark_x (new_name);
-}
-
-/*
- * mark_x
- *
- * After successfully building the new a.out, mark it executable
- */
-
-static void
-mark_x (name)
-     char *name;
-{
-  struct stat sbuf;
-  int um = umask (777);
-  umask (um);
-  if (stat (name, &sbuf) < 0)
-    fatal_unexec ("getting protection on %s", name);
-  sbuf.st_mode |= 0111 & ~um;
-  if (chmod (name, sbuf.st_mode) < 0)
-    fatal_unexec ("setting protection on %s", name);
-}
-
-static void
-fatal_unexec (s, va_alist)
-    va_dcl
-{
-  va_list ap;
-  if (errno == EEOF)
-    fputs ("unexec: unexpected end of file, ", stderr);
-  else
-    fprintf (stderr, "unexec: %s, ", strerror (errno));
-  va_start (ap);
-  _doprnt (s, ap, stderr);
-  fputs (".\n", stderr);
-  exit (1);
-}
-
-/* arch-tag: ebdd2058-3bbc-4de4-b5c7-5760379ab153
-   (do not change this comment) */