emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r106643: Fix for GNUstep build failur


From: YAMAMOTO Mitsuharu
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r106643: Fix for GNUstep build failure during dumping.
Date: Fri, 09 Dec 2011 21:33:20 +0900
User-agent: Bazaar (2.3.1)

------------------------------------------------------------
revno: 106643
committer: YAMAMOTO Mitsuharu <address@hidden>
branch nick: trunk
timestamp: Fri 2011-12-09 21:33:20 +0900
message:
  Fix for GNUstep build failure during dumping.
  
  * unexelf.c (unexec) [NS_IMPL_GNUSTEP]: Take account of the case
  that where the value of an _OBJC_* symbol points to is in the .bss
  section (Bug#10240).
modified:
  src/ChangeLog
  src/unexelf.c
=== modified file 'src/ChangeLog'
--- a/src/ChangeLog     2011-12-09 05:24:26 +0000
+++ b/src/ChangeLog     2011-12-09 12:33:20 +0000
@@ -1,3 +1,9 @@
+2011-12-09  YAMAMOTO Mitsuharu  <address@hidden>
+
+       * unexelf.c (unexec) [NS_IMPL_GNUSTEP]: Take account of the case
+       that where the value of an _OBJC_* symbol points to is in the .bss
+       section (Bug#10240).
+
 2011-12-08  Kazuhiro Ito  <address@hidden>  (tiny change)
 
        * coding.c (encode_coding_ccl): Check (charbuf < charbuf_end)

=== modified file 'src/unexelf.c'
--- a/src/unexelf.c     2011-11-14 21:00:24 +0000
+++ b/src/unexelf.c     2011-12-09 12:33:20 +0000
@@ -1219,9 +1219,15 @@
              nn = symp->st_shndx;
              if (nn > old_bss_index)
                nn--;
-             old = ((symp->st_value - NEW_SECTION_H (symp->st_shndx).sh_addr)
-                    + OLD_SECTION_H (nn).sh_offset + old_base);
-             memcpy (new, old, symp->st_size);
+             if (nn == old_bss_index)
+               memset (new, 0, symp->st_size);
+             else
+               {
+                 old = ((symp->st_value
+                         - NEW_SECTION_H (symp->st_shndx).sh_addr)
+                        + OLD_SECTION_H (nn).sh_offset + old_base);
+                 memcpy (new, old, symp->st_size);
+               }
            }
 #endif
        }


reply via email to

[Prev in Thread] Current Thread [Next in Thread]