]> code.delx.au - gnu-emacs/blobdiff - src/unexsgi.c
(LIBS_MACHINE): Add -lelf.
[gnu-emacs] / src / unexsgi.c
index 073819afdd55bb21a3dc896a8232e6a4c3cef029..3f2385925462fab98d3c534d8954579080fd5b19 100644 (file)
@@ -1,19 +1,22 @@
 /* Copyright (C) 1985, 1986, 1987, 1988, 1990, 1992
    Free Software Foundation, Inc.
 
-    This program 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 2, or (at your option)
-    any later version.
+This file is part of GNU Emacs.
 
-    This program 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.
+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 2, or (at your option)
+any later version.
 
-    You should have received a copy of the GNU General Public License
-    along with this program; if not, write to the Free Software
-    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+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; see the file COPYING.  If not, write to
+the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+Boston, MA 02111-1307, USA.
 
 In other words, you are welcome to use, share and improve this program.
 You are forbidden to forbid anyone else to use, share and improve
@@ -466,16 +469,17 @@ round_up (x, y)
    if NOERROR is 0; we return -1 if NOERROR is nonzero.  */
 
 static int
-find_section (name, section_names, file_name, file_h, noerror)
+find_section (name, section_names, file_name, old_file_h, old_section_h, noerror)
      char *name;
      char *section_names;
      char *file_name;
-     Elf32_Ehdr file_h;
+     Elf32_Ehdr *old_file_h;
+     Elf32_Shdr *old_section_h;
      int noerror;
 {
   int idx;
 
-  for (idx = 1; idx < file_h->e_shnum; idx++)
+  for (idx = 1; idx < old_file_h->e_shnum; idx++)
     {
 #ifdef DEBUG
       fprintf (stderr, "Looking for %s - found %s\n", name,
@@ -485,7 +489,7 @@ find_section (name, section_names, file_name, file_h, noerror)
                   name))
        break;
     }
-  if (idx == file_h->e_shnum)
+  if (idx == old_file_h->e_shnum)
     {
       if (noerror)
        return -1;
@@ -566,18 +570,18 @@ unexec (new_name, old_name, data_start, bss_start, entry_address)
   /* Find the mdebug section, if any.  */
 
   old_mdebug_index = find_section (".mdebug", old_section_names,
-                                  old_name, old_file_h, 1);
+                                  old_name, old_file_h, old_section_h, 1);
 
   /* Find the old .bss section. */
 
   old_bss_index = find_section (".bss", old_section_names,
-                               old_name, old_file_h, 0);
+                               old_name, old_file_h, old_section_h, 0);
 
   /* Find the old .data section.  Figure out parameters of
      the new data2 and bss sections.  */
 
   old_data_index = find_section (".data", old_section_names,
-                                old_name, old_file_h, 0);
+                                old_name, old_file_h, old_section_h, 0);
 
   old_bss_addr = OLD_SECTION_H (old_bss_index).sh_addr;
   old_bss_size = OLD_SECTION_H (old_bss_index).sh_size;