changeset 15719:fdac027af4e1

Undo previous change.
author Karl Heuer <kwzh@gnu.org>
date Tue, 16 Jul 1996 22:39:31 +0000
parents 8db4678b2fd8
children f1549b7501af
files configure.in lib-src/cvtmail.c lib-src/emacsserver.c lib-src/sorted-doc.c lib-src/yow.c src/cm.h src/config.in src/m/alpha.h src/unexelf.c
diffstat 9 files changed, 53 insertions(+), 141 deletions(-) [+]
line wrap: on
line diff
--- a/configure.in	Tue Jul 16 22:37:24 1996 +0000
+++ b/configure.in	Tue Jul 16 22:39:31 1996 +0000
@@ -979,7 +979,7 @@
 AC_AIX
 
 dnl checks for header files
-AC_CHECK_HEADERS(sys/select.h sys/timeb.h sys/time.h unistd.h utime.h linux/version.h termios.h)
+AC_CHECK_HEADERS(sys/select.h sys/timeb.h sys/time.h unistd.h utime.h linux/version.h)
 AC_HEADER_STDC
 AC_HEADER_TIME
 AC_DECL_SYS_SIGLIST
--- a/lib-src/cvtmail.c	Tue Jul 16 22:37:24 1996 +0000
+++ b/lib-src/cvtmail.c	Tue Jul 16 22:39:31 1996 +0000
@@ -36,10 +36,6 @@
 
 #include <stdio.h>
 
-#ifdef __GNU_LIBRARY__
-# include <string.h>
-#endif
-
 char *malloc ();
 char *realloc ();
 char *getenv ();
--- a/lib-src/emacsserver.c	Tue Jul 16 22:37:24 1996 +0000
+++ b/lib-src/emacsserver.c	Tue Jul 16 22:39:31 1996 +0000
@@ -85,12 +85,7 @@
 main ()
 {
   char system_name[32];
-  int s, infd;
-#ifdef __GNU_LIBRARY__
-  size_t fromlen;
-#else
-  int fromlen;
-#endif
+  int s, infd, fromlen;
   struct sockaddr_un server, fromunix;
   char *homedir;
   char *str, string[BUFSIZ], code[BUFSIZ];
--- a/lib-src/sorted-doc.c	Tue Jul 16 22:37:24 1996 +0000
+++ b/lib-src/sorted-doc.c	Tue Jul 16 22:39:31 1996 +0000
@@ -8,10 +8,6 @@
 #include <stdio.h>
 #include <ctype.h>
 
-#ifdef __GNU_LIBRARY__
-# include <string.h>
-#endif
-
 extern char *malloc ();
 char *xmalloc ();
 
--- a/lib-src/yow.c	Tue Jul 16 22:37:24 1996 +0000
+++ b/lib-src/yow.c	Tue Jul 16 22:39:31 1996 +0000
@@ -14,10 +14,6 @@
 #include <ctype.h>
 #include <../src/paths.h>      /* For PATH_DATA.  */
 
-#ifdef __GNU_LIBRARY__
-# include <string.h>
-#endif
-
 #define BUFSIZE  80
 #define SEP      '\0'
 
--- a/src/cm.h	Tue Jul 16 22:37:24 1996 +0000
+++ b/src/cm.h	Tue Jul 16 22:39:31 1996 +0000
@@ -100,12 +100,7 @@
 
 extern struct cm Wcm;		/* Terminal capabilities */
 extern char PC;			/* Pad character */
-#ifdef HAVE_TERMIOS
-# include <termios.h>
-extern speed_t ospeed;
-#else
 extern short ospeed;		/* Output speed (from sg_ospeed) */
-#endif
 
 /* Shorthand */
 #ifndef NoCMShortHand
--- a/src/config.in	Tue Jul 16 22:37:24 1996 +0000
+++ b/src/config.in	Tue Jul 16 22:39:31 1996 +0000
@@ -122,7 +122,6 @@
 #undef HAVE_UNISTD_H
 #undef HAVE_UTIME_H
 #undef HAVE_LINUX_VERSION_H
-#undef HAVE_TERMIOS_H
 #undef STDC_HEADERS
 #undef TIME_WITH_SYS_TIME
 
--- a/src/m/alpha.h	Tue Jul 16 22:37:24 1996 +0000
+++ b/src/m/alpha.h	Tue Jul 16 22:39:31 1996 +0000
@@ -139,21 +139,6 @@
 /* #define NO_SOCK_SIGIO */
 
 
-#ifdef __ELF__
-/* With ELF, make sure that all common symbols get allocated to in the
-   data section.  Otherwise, the dump of temacs may miss variables in
-   the shared library that have been initialized.  For example, with
-   GNU libc, __malloc_initialized would normally be resolved to the
-   shared library's .bss section, which is fatal.  */
-# ifdef __GNUC__
-#  define C_SWITCH_MACHINE	-fno-common
-# else
-#  error What gives?  Fix me if DEC Unix supports ELF now.
-# endif
-#endif
-
-#ifndef __ELF__
-
 /* Describe layout of the address space in an executing process.  */
 
 #define TEXT_START    0x120000000
@@ -164,12 +149,6 @@
 
 #define DATA_SEG_BITS 0x140000000
 
-/* The program to be used for unexec. */
-
-#define UNEXEC unexalpha.o
-
-#endif /* ! __ELF__ */
-
 #ifdef OSF1
 #define ORDINARY_LINK
 
@@ -196,11 +175,15 @@
 #define START_FILES pre-crt0.o
 #endif
 
-#if defined(LINUX) && __GNU_LIBRARY__ - 0 < 6
+#ifdef LINUX
 /* This controls a conditional in main.  */
 #define LINUX_SBRK_BUG
 #endif
 
+/* The program to be used for unexec. */
+
+#define UNEXEC unexalpha.o
+
 
 #define PNTR_COMPARISON_TYPE unsigned long
 
@@ -290,14 +273,12 @@
   while (0)
 #endif
 
-/* On the Alpha it's best to avoid including TERMIO since struct
-   termio and struct termios are mutually incompatible.  */
+#ifdef linux
+#define COFF
+/* Linux/Alpha doesn't like it if termio.h and termios.h get included
+   simultaneously.  */
 #define NO_TERMIO
 
-#ifdef LINUX
-# define TEXT_END ({ extern int _etext; &_etext; })
-# ifndef __ELF__
-#  define COFF
-#  define DATA_END ({ extern int _EDATA; &_EDATA; })
-# endif /* ! __ELF__ */
+#define TEXT_END ({ extern int _etext; &_etext; })
+#define DATA_END ({ extern int _EDATA; &_EDATA; })
 #endif
--- a/src/unexelf.c	Tue Jul 16 22:37:24 1996 +0000
+++ b/src/unexelf.c	Tue Jul 16 22:39:31 1996 +0000
@@ -423,22 +423,6 @@
 #include <elf.h>
 #include <sys/mman.h>
 
-#ifdef __alpha__
-# include <sym.h>	/* get COFF debugging symbol table declaration */
-#endif
-
-#ifdef __GNU_LIBRARY__
-# include <link.h>	/* get definition of ElfW */
-#endif
-
-#ifndef ElfW
-# ifdef __STDC__
-#  define ElfW(type)	Elf32_##type
-# else
-#  define ElfW(type)	Elf32_/**/type
-# endif
-#endif
-
 #ifndef emacs
 #define fatal(a, b, c) fprintf (stderr, a, b, c), exit (1)
 #else
@@ -478,13 +462,13 @@
    */
 
 #define OLD_SECTION_H(n) \
-     (*(ElfW(Shdr) *) ((byte *) old_section_h + old_file_h->e_shentsize * (n)))
+     (*(Elf32_Shdr *) ((byte *) old_section_h + old_file_h->e_shentsize * (n)))
 #define NEW_SECTION_H(n) \
-     (*(ElfW(Shdr) *) ((byte *) new_section_h + new_file_h->e_shentsize * (n)))
+     (*(Elf32_Shdr *) ((byte *) new_section_h + new_file_h->e_shentsize * (n)))
 #define OLD_PROGRAM_H(n) \
-     (*(ElfW(Phdr) *) ((byte *) old_program_h + old_file_h->e_phentsize * (n)))
+     (*(Elf32_Phdr *) ((byte *) old_program_h + old_file_h->e_phentsize * (n)))
 #define NEW_PROGRAM_H(n) \
-     (*(ElfW(Phdr) *) ((byte *) new_program_h + new_file_h->e_phentsize * (n)))
+     (*(Elf32_Phdr *) ((byte *) new_program_h + new_file_h->e_phentsize * (n)))
 
 #define PATCH_INDEX(n) \
   do { \
@@ -526,19 +510,19 @@
   /* Pointers to the file, program and section headers for the old and new
    * files.
    */
-  ElfW(Ehdr) *old_file_h, *new_file_h;
-  ElfW(Phdr) *old_program_h, *new_program_h;
-  ElfW(Shdr) *old_section_h, *new_section_h;
+  Elf32_Ehdr *old_file_h, *new_file_h;
+  Elf32_Phdr *old_program_h, *new_program_h;
+  Elf32_Shdr *old_section_h, *new_section_h;
 
   /* Point to the section name table in the old file */
   char *old_section_names;
 
-  ElfW(Addr) old_bss_addr, new_bss_addr;
-  ElfW(Addr) old_bss_size, new_data2_size;
-  ElfW(Off)  new_data2_offset;
-  ElfW(Addr) new_data2_addr;
+  Elf32_Addr old_bss_addr, new_bss_addr;
+  Elf32_Word old_bss_size, new_data2_size;
+  Elf32_Off  new_data2_offset;
+  Elf32_Addr new_data2_addr;
 
-  int n, nn, old_bss_index, old_data_index;
+  int n, nn, old_bss_index, old_data_index, new_data2_index;
   struct stat stat_buf;
 
   /* Open the old file & map it into the address space. */
@@ -557,15 +541,15 @@
     fatal ("Can't mmap (%s): errno %d\n", old_name, errno);
 
 #ifdef DEBUG
-  fprintf (stderr, "mmap (%s, %lx) -> %lx\n", old_name, stat_buf.st_size,
-	   (unsigned long) old_base);
+  fprintf (stderr, "mmap (%s, %x) -> %x\n", old_name, stat_buf.st_size,
+	   old_base);
 #endif
 
   /* Get pointers to headers & section names */
 
-  old_file_h = (ElfW(Ehdr) *) old_base;
-  old_program_h = (ElfW(Phdr) *) ((byte *) old_base + old_file_h->e_phoff);
-  old_section_h = (ElfW(Shdr) *) ((byte *) old_base + old_file_h->e_shoff);
+  old_file_h = (Elf32_Ehdr *) old_base;
+  old_program_h = (Elf32_Phdr *) ((byte *) old_base + old_file_h->e_phoff);
+  old_section_h = (Elf32_Shdr *) ((byte *) old_base + old_file_h->e_shoff);
   old_section_names = (char *) old_base
     + OLD_SECTION_H (old_file_h->e_shstrndx).sh_offset;
 
@@ -590,7 +574,7 @@
   old_bss_addr = OLD_SECTION_H (old_bss_index).sh_addr;
   old_bss_size = OLD_SECTION_H (old_bss_index).sh_size;
 #if defined(emacs) || !defined(DEBUG)
-  new_bss_addr = (ElfW(Addr)) sbrk (0);
+  new_bss_addr = (Elf32_Addr) sbrk (0);
 #else
   new_bss_addr = old_bss_addr + old_bss_size + 0x1234;
 #endif
@@ -600,16 +584,15 @@
 
 #ifdef DEBUG
   fprintf (stderr, "old_bss_index %d\n", old_bss_index);
-  fprintf (stderr, "old_bss_addr %lx\n", old_bss_addr);
-  fprintf (stderr, "old_bss_size %lx\n", old_bss_size);
-  fprintf (stderr, "new_bss_addr %lx\n", new_bss_addr);
-  fprintf (stderr, "new_data2_addr %lx\n", new_data2_addr);
-  fprintf (stderr, "new_data2_size %lx\n", new_data2_size);
-  fprintf (stderr, "new_data2_offset %lx\n", new_data2_offset);
+  fprintf (stderr, "old_bss_addr %x\n", old_bss_addr);
+  fprintf (stderr, "old_bss_size %x\n", old_bss_size);
+  fprintf (stderr, "new_bss_addr %x\n", new_bss_addr);
+  fprintf (stderr, "new_data2_addr %x\n", new_data2_addr);
+  fprintf (stderr, "new_data2_size %x\n", new_data2_size);
+  fprintf (stderr, "new_data2_offset %x\n", new_data2_offset);
 #endif
 
-  if ((unsigned long) new_bss_addr
-      < (unsigned long) old_bss_addr + old_bss_size)
+  if ((unsigned) new_bss_addr < (unsigned) old_bss_addr + old_bss_size)
     fatal (".bss shrank when undumping???\n", 0, 0);
 
   /* Set the output file to the right size and mmap it.  Set
@@ -637,9 +620,9 @@
   if (new_base == (caddr_t) -1)
     fatal ("Can't mmap (%s): errno %d\n", new_name, errno);
 
-  new_file_h = (ElfW(Ehdr) *) new_base;
-  new_program_h = (ElfW(Phdr) *) ((byte *) new_base + old_file_h->e_phoff);
-  new_section_h = (ElfW(Shdr) *)
+  new_file_h = (Elf32_Ehdr *) new_base;
+  new_program_h = (Elf32_Phdr *) ((byte *) new_base + old_file_h->e_phoff);
+  new_section_h = (Elf32_Shdr *)
     ((byte *) new_base + old_file_h->e_shoff + new_data2_size);
 
   /* Make our new file, program and section headers as copies of the
@@ -661,9 +644,9 @@
   new_file_h->e_shnum += 1;
 
 #ifdef DEBUG
-  fprintf (stderr, "Old section offset %lx\n", old_file_h->e_shoff);
+  fprintf (stderr, "Old section offset %x\n", old_file_h->e_shoff);
   fprintf (stderr, "Old section count %d\n", old_file_h->e_shnum);
-  fprintf (stderr, "New section offset %lx\n", new_file_h->e_shoff);
+  fprintf (stderr, "New section offset %x\n", new_file_h->e_shoff);
   fprintf (stderr, "New section count %d\n", new_file_h->e_shnum);
 #endif
 
@@ -678,7 +661,7 @@
   for (n = new_file_h->e_phnum - 1; n >= 0; n--)
     {
       /* Compute maximum of all requirements for alignment of section.  */
-      unsigned int alignment = (NEW_PROGRAM_H (n)).p_align;
+      int alignment = (NEW_PROGRAM_H (n)).p_align;
       if ((OLD_SECTION_H (old_bss_index)).sh_addralign > alignment)
 	alignment = OLD_SECTION_H (old_bss_index).sh_addralign;
 
@@ -825,34 +808,13 @@
       memcpy (NEW_SECTION_H (nn).sh_offset + new_base, src,
 	      NEW_SECTION_H (nn).sh_size);
 
-#ifdef __alpha__
-      /* Update Alpha COFF symbol table: */
-      if (strcmp (old_section_names + OLD_SECTION_H (n).sh_name, ".mdebug")
-	  == 0)
-	{
-	  pHDRR symhdr = (pHDRR) (NEW_SECTION_H (nn).sh_offset + new_base);
-
-	  symhdr->cbLineOffset += new_data2_size;
-	  symhdr->cbDnOffset += new_data2_size;
-	  symhdr->cbPdOffset += new_data2_size;
-	  symhdr->cbSymOffset += new_data2_size;
-	  symhdr->cbOptOffset += new_data2_size;
-	  symhdr->cbAuxOffset += new_data2_size;
-	  symhdr->cbSsOffset += new_data2_size;
-	  symhdr->cbSsExtOffset += new_data2_size;
-	  symhdr->cbFdOffset += new_data2_size;
-	  symhdr->cbRfdOffset += new_data2_size;
-	  symhdr->cbExtOffset += new_data2_size;
-	}
-#endif /* __alpha__ */
-
       /* If it is the symbol table, its st_shndx field needs to be patched.  */
       if (NEW_SECTION_H (nn).sh_type == SHT_SYMTAB
 	  || NEW_SECTION_H (nn).sh_type == SHT_DYNSYM)
 	{
-	  ElfW(Shdr) *spt = &NEW_SECTION_H (nn);
+	  Elf32_Shdr *spt = &NEW_SECTION_H (nn);
 	  unsigned int num = spt->sh_size / spt->sh_entsize;
-	  ElfW(Sym) * sym = (ElfW(Sym) *) (NEW_SECTION_H (nn).sh_offset +
+	  Elf32_Sym * sym = (Elf32_Sym *) (NEW_SECTION_H (nn).sh_offset +
 					   new_base);
 	  for (; num--; sym++)
 	    {
@@ -870,7 +832,7 @@
   for (n = new_file_h->e_shnum - 1; n; n--)
     {
       byte *symnames;
-      ElfW(Sym) *symp, *symendp;
+      Elf32_Sym *symp, *symendp;
 
       if (NEW_SECTION_H (n).sh_type != SHT_DYNSYM
 	  && NEW_SECTION_H (n).sh_type != SHT_SYMTAB)
@@ -878,8 +840,8 @@
 
       symnames = ((byte *) new_base
 		  + NEW_SECTION_H (NEW_SECTION_H (n).sh_link).sh_offset);
-      symp = (ElfW(Sym) *) (NEW_SECTION_H (n).sh_offset + new_base);
-      symendp = (ElfW(Sym) *) ((byte *)symp + NEW_SECTION_H (n).sh_size);
+      symp = (Elf32_Sym *) (NEW_SECTION_H (n).sh_offset + new_base);
+      symendp = (Elf32_Sym *) ((byte *)symp + NEW_SECTION_H (n).sh_size);
 
       for (; symp < symendp; symp ++)
 	if (strcmp ((char *) (symnames + symp->st_name), "_end") == 0
@@ -891,7 +853,7 @@
      that it can undo relocations performed by the runtime linker.  */
   for (n = new_file_h->e_shnum - 1; n; n--)
     {
-      ElfW(Shdr) section = NEW_SECTION_H (n);
+      Elf32_Shdr section = NEW_SECTION_H (n);
       switch (section.sh_type) {
       default:
 	break;
@@ -905,22 +867,14 @@
 	    || !strcmp ((old_section_names + NEW_SECTION_H (nn).sh_name),
 			".data1"))
 	  {
-	    ElfW(Addr) offset = NEW_SECTION_H (nn).sh_addr -
+	    Elf32_Addr offset = NEW_SECTION_H (nn).sh_addr -
 	      NEW_SECTION_H (nn).sh_offset;
 	    caddr_t reloc = old_base + section.sh_offset, end;
 	    for (end = reloc + section.sh_size; reloc < end;
 		 reloc += section.sh_entsize)
 	      {
-		ElfW(Addr) addr;
-#ifdef __alpha__
-		/* The Alpha ELF binutils currently have a bug that
-		   sometimes results in relocs that contain all
-		   zeroes.  Work around this for now...  */
-		if (((ElfW(Rel) *) reloc)->r_offset == 0)
-		    continue;
-#endif
-		addr = ((ElfW(Rel) *) reloc)->r_offset - offset;
-		memcpy (new_base + addr, old_base + addr, sizeof(ElfW(Addr)));
+		Elf32_Addr addr = ((Elf32_Rel *) reloc)->r_offset - offset;
+		memcpy (new_base + addr, old_base + addr, 4);
 	      }
 	  }
 	break;