🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: fj.editor.mule
Article #3291

Re: undump failure on Solaris 2.4

#3291
From: Hiroshi NAKANO
Date: Wed, 20 Dec 1995 00:00
103 lines
4806 bytes
$BCfLn(B@$BN6C+$G$9!#(B

In article <4aq7jf$ctj@isnews.is.s.u-tokyo.ac.jp>
furuso@is.s.u-tokyo.ac.jp (FURUSOU Shinichi) writes:
 |  $B=q$-K:$l$^$7$?$,!"(B ld $B4XO"$N%Q%C%A$H$7$F$O(B 102303-05, 102049-02 $B$rEv(B
 |$B$F$F$"$j$^$9!#B>$K(B Recommended Patches, Security Patches $B$rEv$F$F$"$j(B
 |$B$^$9!#(B

102049-02 $B$N8e$G(B 102303-05 $B$rEv$F$i$l$?$N$G$9$h$M!#(B

$B$3$N(B 102303-05 $B$H$$$&%Q%C%A$,6J<T$G!"$3$l$K4^$^$l$k(B ld $B$O!"(Btemacs $B$N(B
data segment $B$K$J$<$+(B relocation $B$r;D$7$F$7$^$&$h$&$G$9!#(B ($B$J$<$=$&$7(B
$B$?$$$N$+$O$J$s$H$J$/J,$+$k$N(B$B$G$9$,(B ...) $B$=$N$?$a(B temacs $B$N5/F0;~$H!"(B
dumped emacs $B$N5/F0;~$H$G!"Fs=E$K(B relocation $B$,<B9T$5$l$F$7$^(B$B$$$^$9!#(B

$B0lJ}!"(B102049-02 $B$N(B ld $B$O$3$N$h$&$J(B relocation $B$r;D$5$J$$$h$&$G$9!#(B

In article <4aq7jf$ctj@isnews.is.s.u-tokyo.ac.jp>
furuso@is.s.u-tokyo.ac.jp (FURUSOU Shinichi) writes:
 |  $BD4$Y$F$_$?$H$3$m(B xlwMenuWidgetClass $B$N(B superclass $B$N=i4|CM(B 
 |(&coreClassRec) $B$,(B make $B;~$N(B dump $B$NA08e$GJQ2=$7$F$7$^$C(B$B$F$$$k$h$&$G$7(B
 |$B$?!#(B

xlwMenuWidgetClass $B$N(B superclass $B$NCM$,FsG\$K$J$C$F$7$^$C$F$$$k$N$G$9(B
$B$h$M(B ... $B$3$l$O!"(Bld.so $B$,$3$N%U%#!<%k%I(B($B:G=i$O(B 0)$B$K!"(Btemacs $B$N5/F0;~$H(B
dumped emacs $B$N5/F0;~$H!"FsEY(B &coreClassRec $B$rB-$79~$`$+$i$G$7$g$&!#(B

 |$B0l1~!"<B9T;~$K(B superclass $B$r;XDj$7D>$9$3$H$GF0:n$9$k$h$&$K$O$J$j$^(B
 |$B$7$?!#(B

text segment $B$O(B dump $B$5$l$^$;$s$+$i!"(Btemacs $B$N5/F0;~$N(B relocation $B$N7k(B
$B2L$O(B dumped emacs $B$N(B$BJ}$K$OJ]B8$5$l$^$;$s!#(B $B$G$9$+$i!"$*$C$7$c$kJ}K!$G(B
$BF0$/$h$&$K$J$k$N$@$H;W$$$^$9!#(B

 | shared library $B$N(B$BMm$s$@(B dump $B$NLdBj$N$h$&$J$N$G!"K\Mh$J$i(B unexec $B$N(B
 |$BJ}$r$$$8$k$Y$-$+$H;W$&$N$G$9$,!";d$O$=$A$i$NJ}LL(B$B$K$OL@$k$/$"$j$^$;$s!#(B
 |$BB>$KF1$8LdBj$KEv$?$i$l$?J}$O$$$i$C$7$c$$$^$;$s$G$7$g$&$+!#(B

$B<B$O$3$l$HF1$8Ld(B$BBj$,!"(B18.27 $B0JA0(B $B$N(B emacs $B$N(B sun-sparc-sunos4shr $B$G$*(B
$B$-$F$$$^$7$?!#(B $B8=:_$NHG$G$O!"(Bunexec $B$,!"(Btemacs $B$N5/F0;~$N(B relocaltion
$B$r%j%;%C%H$9$k$h$&$K$J$C$F$$$^$9!#(B

$B$G!"2r7hK!$G$9$,!"(B18.28 $B$N(B src/unexelf.c $B$K(B$B0J2<$N%Q%C%A$rEv$F$F8+$F2<(B
$B$5$$!#(B $B>/$J$/$H$b(B Solaris 2.4 $B$O!"$3$l$GBg>fIW$@$H;W$$$^$9!#(B $B$?$@$7!"(B
$BB>$N(B SVR4 $B7O$N(B OS (linux, dgux, esix $B$J$I(B)$B$KI{:nMQ$r5Z$\$5$J$$$+$I$&$+(B
$B$O$A$g$C$H<+?H$,$"$j$^$;$s!#(B

*** src/unexelf.c.ORG	Fri Oct 21 13:21:00 1994
--- src/unexelf.c	Wed Dec 20 09:52:09 1995
***************
*** 796,801 ****
--- 796,841 ----
  	  memcpy (&symp->st_value, &new_bss_addr, sizeof (new_bss_addr));
      }
  
+   /* Undo relocations.  */
+ #define UNDO_RELOC_SEC(rel_type, n) \
+       do { \
+ 	rel_type *relp, *relendp; \
+  \
+ 	relp = (rel_type *) (NEW_SECTION_H (n).sh_offset + new_base); \
+ 	relendp = (rel_type *) ((byte *)relp + NEW_SECTION_H (n).sh_size); \
+  \
+ 	for (; relp < relendp; relp ++) \
+ 	  { \
+ 	    for (nn = old_file_h->e_phnum - 1; nn; nn--) \
+ 	      { \
+ 		if (OLD_PROGRAM_H (nn).p_type == PT_LOAD \
+ 		    && relp->r_offset >= OLD_PROGRAM_H (nn).p_vaddr \
+ 		    && relp->r_offset < OLD_PROGRAM_H (nn).p_vaddr \
+ 					+ OLD_PROGRAM_H (nn).p_filesz) \
+ 		  { \
+ 		    memcpy (relp->r_offset - OLD_PROGRAM_H (nn).p_vaddr \
+ 			      + OLD_PROGRAM_H (nn).p_offset + new_base, \
+ 			    relp->r_offset - OLD_PROGRAM_H (nn).p_vaddr \
+ 			      + OLD_PROGRAM_H (nn).p_offset + old_base, \
+ 			    sizeof (Elf32_Word)); \
+ 		    break; \
+ 		  } \
+ 	      } \
+ 	  } \
+       } while(0)
+ 
+   for (n = new_file_h->e_shnum - 1; n; n--)
+     {
+       if (NEW_SECTION_H (n).sh_type == SHT_REL)
+ 	{
+ 	  UNDO_RELOC_SEC(Elf32_Rel, n);
+ 	}
+       else if (NEW_SECTION_H (n).sh_type == SHT_RELA)
+ 	{
+ 	  UNDO_RELOC_SEC(Elf32_Rela, n);
+ 	}
+     }
+ 
    /* Close the files and make the new file executable.  */
  
    if (close (old_file))


--
			Hiroshi Nakano <nakano@rins.ryukoku.ac.jp>
			Ryukoku Univ., Seta, Otsu, Japan
Technical Details
Message-ID: <NAKANO.95Dec20124508@dolphin70.math.ryukoku.ac.jp>
Path: arc1-ca.pugleaf.net!unknown!not-for-mail
References: <4apu2d$b9f@isnews.is.s.u-tokyo.ac.jp> <4aq7jf$ctj@isnews.is.s.u-tokyo.ac.jp>

Show Full Headers
Complete Article Headers
X-Google-Language: Japanese,JIS
X-Google-Thread: 10eba4,6359c222a0616c28
X-Google-Attributes: gid10eba4,public
From: nakano@math.ryukoku.ac.jp (Hiroshi NAKANO)
Subject: Re: undump failure on Solaris 2.4
Date: 1995/12/20
Message-ID: <NAKANO.95Dec20124508@dolphin70.math.ryukoku.ac.jp>
X-Deja-AN: 122391861
sender: news@rins.ryukoku.ac.jp
references: <4apu2d$b9f@isnews.is.s.u-tokyo.ac.jp> <4aq7jf$ctj@isnews.is.s.u-tokyo.ac.jp>
followup-to: fj.editor.mule
organization: Ryukoku Univ., Seta, Otsu, Japan
reply-to: nakano@rins.ryukoku.ac.jp
newsgroups: fj.editor.mule