pkgsrc/editors/emacs21/patches/patch-ah
markd 005073fa51 Reimport existing emacs packages as emacs21{,-nox11} to allow
subsequent update of emacs packages to version 22.
2007-06-11 13:38:24 +00:00

32 lines
1.4 KiB
Text

$NetBSD: patch-ah,v 1.1 2007/06/11 13:38:35 markd Exp $
--- src/unexelf.c.orig 2002-10-16 03:21:44.000000000 +1300
+++ src/unexelf.c
@@ -971,8 +971,13 @@ unexec (new_name, old_name, data_start,
}
else
{
- /* Any section that was original placed AFTER the bss
- section should now be off by NEW_DATA2_SIZE. */
+ /* Any section that was originally placed after the .bss
+ section should now be off by NEW_DATA2_SIZE. If a
+ section overlaps the .bss section, consider it to be
+ placed after the .bss section. Overlap can occur if the
+ section just before .bss has less-strict alignment; this
+ was observed between .symtab and .bss on Solaris 2.5.1
+ (sparc) with GCC snapshot 960602. */
#ifdef SOLARIS_POWERPC
/* On PPC Reference Platform running Solaris 2.5.1
the plt section is also of type NOBI like the bss section.
@@ -986,9 +991,8 @@ unexec (new_name, old_name, data_start,
>= OLD_SECTION_H (old_bss_index-1).sh_offset)
NEW_SECTION_H (nn).sh_offset += new_data2_size;
#else
- if (round_up (NEW_SECTION_H (nn).sh_offset,
- OLD_SECTION_H (old_bss_index).sh_addralign)
- >= new_data2_offset)
+ if (NEW_SECTION_H (nn).sh_offset + NEW_SECTION_H (nn).sh_size
+ > new_data2_offset)
NEW_SECTION_H (nn).sh_offset += new_data2_size;
#endif
/* Any section that was originally placed after the section