aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorYAMAMOTO Mitsuharu2011-12-09 21:33:20 +0900
committerYAMAMOTO Mitsuharu2011-12-09 21:33:20 +0900
commitb34d73171792a089e2fc3728990deae186578c83 (patch)
tree1f37c3be48b92291fa69f5275aa7dd3109c6c9f7 /src
parent2fac8180337f8e8ca153be4ae3946e30bf2a571c (diff)
downloademacs-b34d73171792a089e2fc3728990deae186578c83.tar.gz
emacs-b34d73171792a089e2fc3728990deae186578c83.zip
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).
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog6
-rw-r--r--src/unexelf.c12
2 files changed, 15 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index c533b93916d..44f80ae4098 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
12011-12-09 YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
2
3 * unexelf.c (unexec) [NS_IMPL_GNUSTEP]: Take account of the case
4 that where the value of an _OBJC_* symbol points to is in the .bss
5 section (Bug#10240).
6
12011-12-08 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny change) 72011-12-08 Kazuhiro Ito <kzhr@d1.dion.ne.jp> (tiny change)
2 8
3 * coding.c (encode_coding_ccl): Check (charbuf < charbuf_end) 9 * coding.c (encode_coding_ccl): Check (charbuf < charbuf_end)
diff --git a/src/unexelf.c b/src/unexelf.c
index 04c029f7e80..1715c3670ca 100644
--- a/src/unexelf.c
+++ b/src/unexelf.c
@@ -1219,9 +1219,15 @@ temacs:
1219 nn = symp->st_shndx; 1219 nn = symp->st_shndx;
1220 if (nn > old_bss_index) 1220 if (nn > old_bss_index)
1221 nn--; 1221 nn--;
1222 old = ((symp->st_value - NEW_SECTION_H (symp->st_shndx).sh_addr) 1222 if (nn == old_bss_index)
1223 + OLD_SECTION_H (nn).sh_offset + old_base); 1223 memset (new, 0, symp->st_size);
1224 memcpy (new, old, symp->st_size); 1224 else
1225 {
1226 old = ((symp->st_value
1227 - NEW_SECTION_H (symp->st_shndx).sh_addr)
1228 + OLD_SECTION_H (nn).sh_offset + old_base);
1229 memcpy (new, old, symp->st_size);
1230 }
1225 } 1231 }
1226#endif 1232#endif
1227 } 1233 }