diff options
author | David Caldwell <david@porkrind.org> | 2014-09-21 22:35:22 +0200 |
---|---|---|
committer | Jan Djärv <jan.h.d@swipnet.se> | 2014-09-21 22:35:22 +0200 |
commit | 63126683dbcf3ac507c3afd20ecbce88fb6e0fa4 (patch) | |
tree | 1d4ccd5041ed18eaaab057153371a273526cda53 | |
parent | b761843bb07f1b50ed0468a25bfb9b073cdbb2ee (diff) | |
download | emacs-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-- | ChangeLog | 5 | ||||
-rw-r--r-- | configure.ac | 10 | ||||
-rw-r--r-- | src/ChangeLog | 4 | ||||
-rw-r--r-- | src/unexmacosx.c | 4 |
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); |