summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Caldwell <david@porkrind.org>2014-09-21 22:35:22 +0200
committerJan Djärv <jan.h.d@swipnet.se>2014-09-21 22:35:22 +0200
commit63126683dbcf3ac507c3afd20ecbce88fb6e0fa4 (patch)
tree1d4ccd5041ed18eaaab057153371a273526cda53
parentb761843bb07f1b50ed0468a25bfb9b073cdbb2ee (diff)
downloademacs-63126683dbcf3ac507c3afd20ecbce88fb6e0fa4.tar.gz
* configure.ac: Increase headerpad_extra to 1000, update the comment
about load commands. * src/unexmacosx.c (dump_it): Improve error message. Fixes: debbugs:18505
-rw-r--r--ChangeLog5
-rw-r--r--configure.ac10
-rw-r--r--src/ChangeLog4
-rw-r--r--src/unexmacosx.c4
4 files changed, 18 insertions, 5 deletions
diff --git a/ChangeLog b/ChangeLog
index b1951aa6c71..bffcbbab445 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2014-09-21 Jan Djärv <jan.h.d@swipnet.se>
+
+ * configure.ac: Increase headerpad_extra to 1000, update the comment
+ about load commands (Bug#18505).
+
2014-09-13 Eli Zaretskii <eliz@gnu.org>
* configure.ac (HAVE_SOUND): Check for mmsystem.h header that
diff --git a/configure.ac b/configure.ac
index f05c14a319c..0102551ece5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4859,17 +4859,19 @@ case "$opsys" in
darwin)
## The -headerpad option tells ld (see man page) to leave room at the
## end of the header for adding load commands. Needed for dumping.
- ## 0x690 is the total size of 30 segment load commands (at 56
- ## each); under Cocoa 31 commands are required.
+ ## 0x1000 is enough for roughly 52 load commands on the x86_64
+ ## architecture (where they are 78 bytes each). The actual number of
+ ## load commands added is not consistent but normally ranges from
+ ## about 14 to about 34. Setting it high gets us plenty of slop and
+ ## only costs about 1.5K of wasted binary space.
+ headerpad_extra=1000
if test "$HAVE_NS" = "yes"; then
libs_nsgui="-framework AppKit"
if test "$NS_IMPL_COCOA" = "yes"; then
libs_nsgui="$libs_nsgui -framework IOKit"
fi
- headerpad_extra=6C8
else
libs_nsgui=
- headerpad_extra=690
fi
LD_SWITCH_SYSTEM_TEMACS="-fno-pie -prebind $libs_nsgui -Xlinker -headerpad -Xlinker $headerpad_extra"
diff --git a/src/ChangeLog b/src/ChangeLog
index ea4dde398a7..684de498522 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,7 @@
+2014-09-21 David Caldwell <david@porkrind.org> (tiny change)
+
+ * unexmacosx.c (dump_it): Improve error message.
+
2014-09-18 Juri Linkov <juri@jurta.org>
* image.c (imagemagick_load_image): Add delay to imagemagick metadata.
diff --git a/src/unexmacosx.c b/src/unexmacosx.c
index 8cd80a7a544..7d4762fdab2 100644
--- a/src/unexmacosx.c
+++ b/src/unexmacosx.c
@@ -1302,7 +1302,9 @@ dump_it (void)
}
if (curr_header_offset > text_seg_lowest_offset)
- unexec_error ("not enough room for load commands for new __DATA segments");
+ unexec_error ("not enough room for load commands for new __DATA segments"
+ " (increase headerpad_extra in configure.in to at least %lX)",
+ num_unexec_regions * sizeof (struct segment_command));
printf ("%ld unused bytes follow Mach-O header\n",
text_seg_lowest_offset - curr_header_offset);