Add patch for ppc64 - thanks ulm; bug #152006. Also add ~ppc64; bug #174884
authorMarkus Rothe <corsair@gentoo.org>
Sun, 29 Apr 2007 17:02:08 +0000 (17:02 +0000)
committerMarkus Rothe <corsair@gentoo.org>
Sun, 29 Apr 2007 17:02:08 +0000 (17:02 +0000)
Package-Manager: portage-2.1.2.2

app-editors/emacs/ChangeLog
app-editors/emacs/Manifest
app-editors/emacs/emacs-21.4-r12.ebuild
app-editors/emacs/files/emacs-21.4-ppc64-fix-unexelf.patch [new file with mode: 0644]

index 081ad9ce83b0fc534e761dd2e682038230c6b285..5b22f8ff2e9355ef065ea90403d35297407ea97a 100644 (file)
@@ -1,6 +1,10 @@
 # ChangeLog for app-editors/emacs
 # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/ChangeLog,v 1.140 2007/04/26 07:20:08 ulm Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/ChangeLog,v 1.141 2007/04/29 17:02:08 corsair Exp $
+
+  29 Apr 2007; Markus Rothe <corsair@gentoo.org>
+  +files/emacs-21.4-ppc64-fix-unexelf.patch, emacs-21.4-r12.ebuild:
+  Add patch for ppc64 - thanks ulm; bug #152006. Also add ~ppc64; bug #174884
 
   26 Apr 2007; Ulrich Mueller <ulm@gentoo.org> emacs-21.4-r12.ebuild:
   Fixed parameter expansion for file name of man pages.
index e9bdcc09f93f871e00a4a7984bdf729ba50ab162..bf2415425a7992cc4390aa05bbaae6e95be5cec7 100644 (file)
@@ -1,6 +1,3 @@
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA1
-
 AUX 60emacs-21.envd 34 RMD160 d1fdf805716cdf9bcd7744b3eb6f822c4a0d45af SHA1 b67d26aecf206d799eeee8cea2649486a3e024f9 SHA256 880372bcfead2fe980498ac54949933e46f7628c53c978affc93dcd1945a3153
 MD5 2f000567bd6037e79de677b0edd814ab files/60emacs-21.envd 34
 RMD160 d1fdf805716cdf9bcd7744b3eb6f822c4a0d45af files/60emacs-21.envd 34
@@ -41,6 +38,10 @@ AUX emacs-21.4-libungif-gif-gentoo.patch 1534 RMD160 8bc5ef391e644ad00f46c7d34e7
 MD5 1607d289126ca057110a993cde0e25fd files/emacs-21.4-libungif-gif-gentoo.patch 1534
 RMD160 8bc5ef391e644ad00f46c7d34e7341862572346a files/emacs-21.4-libungif-gif-gentoo.patch 1534
 SHA256 61793086af3c4a56ced40830977ba0d6ebc285d84b4b612798b35ca08f1f1689 files/emacs-21.4-libungif-gif-gentoo.patch 1534
+AUX emacs-21.4-ppc64-fix-unexelf.patch 2698 RMD160 7d8c31c706a3c67a8d2e9e429c3e58c052a0f2b6 SHA1 81163bbdb49a93052653dd12ab017c971189f08d SHA256 ec6bc784ed831421aa09703060b48ad124d3cf23308d312f9483880628e142b4
+MD5 3794f84a4813f7ea24350ef2dd013ef0 files/emacs-21.4-ppc64-fix-unexelf.patch 2698
+RMD160 7d8c31c706a3c67a8d2e9e429c3e58c052a0f2b6 files/emacs-21.4-ppc64-fix-unexelf.patch 2698
+SHA256 ec6bc784ed831421aa09703060b48ad124d3cf23308d312f9483880628e142b4 files/emacs-21.4-ppc64-fix-unexelf.patch 2698
 AUX emacs-21.4-qa.patch 2467 RMD160 22b054159a57b859b1d381b42565e96d254e4f7e SHA1 5aafbd565c97154399c663ec6a978c91957bda81 SHA256 058c08ab6300fe7bb6c91d253008972457eb51fe152787499cc9f6e3f78fe608
 MD5 b17a2a2d4bb386151ab7bbe2b946d031 files/emacs-21.4-qa.patch 2467
 RMD160 22b054159a57b859b1d381b42565e96d254e4f7e files/emacs-21.4-qa.patch 2467
@@ -66,10 +67,10 @@ EBUILD emacs-18.59-r4.ebuild 2549 RMD160 02162c6c4f0561644d326a349e46dd6187df7d1
 MD5 02f52fa5227806fdfa477c10a5fe7e33 emacs-18.59-r4.ebuild 2549
 RMD160 02162c6c4f0561644d326a349e46dd6187df7d1e emacs-18.59-r4.ebuild 2549
 SHA256 c8650c4f9fd7ec4dcce67d9ec0b77c6a25fc023321b55865489e580323f2ebf6 emacs-18.59-r4.ebuild 2549
-EBUILD emacs-21.4-r12.ebuild 5811 RMD160 904d0d34b8bf60d51d7ffd0cbbb3e5e4318d027a SHA1 f65c15b00706dd03fc6629a30ee9dd3c786b6221 SHA256 b544a51b2cf6fffb5352dd01b2a6937bec8885b7b1fb95450560830dceaa8d71
-MD5 1e8a488e6888208f2df273581bcdcbaa emacs-21.4-r12.ebuild 5811
-RMD160 904d0d34b8bf60d51d7ffd0cbbb3e5e4318d027a emacs-21.4-r12.ebuild 5811
-SHA256 b544a51b2cf6fffb5352dd01b2a6937bec8885b7b1fb95450560830dceaa8d71 emacs-21.4-r12.ebuild 5811
+EBUILD emacs-21.4-r12.ebuild 5795 RMD160 2bfc8d88a9dd137880de68db0ba0445435f4c3d3 SHA1 2d86658c23f494c14106a6c99cca3a71deedfc7a SHA256 0739f1a4a6c83a103274814b2137ef696f6e636864da99e1b2fb63d4efd0629f
+MD5 bd7ae8bcdf0603587f5f08dd8a683c90 emacs-21.4-r12.ebuild 5795
+RMD160 2bfc8d88a9dd137880de68db0ba0445435f4c3d3 emacs-21.4-r12.ebuild 5795
+SHA256 0739f1a4a6c83a103274814b2137ef696f6e636864da99e1b2fb63d4efd0629f emacs-21.4-r12.ebuild 5795
 EBUILD emacs-21.4-r4.ebuild 4551 RMD160 a7b49c929b37f60e45af01038595fd6e26579609 SHA1 aae095ad8995c6dc1b76e2805032073486b13476 SHA256 57f007813695810a6df614b335de85df341fdda53a36d7c806a18e315f70afec
 MD5 d008266355b179cf5699aded70630be3 emacs-21.4-r4.ebuild 4551
 RMD160 a7b49c929b37f60e45af01038595fd6e26579609 emacs-21.4-r4.ebuild 4551
@@ -78,10 +79,10 @@ EBUILD emacs-21.4-r8.ebuild 5727 RMD160 e879aeb102baa9977fee9a40d18c4a0acc001be2
 MD5 92f4d4ff1be57566edb7db155c0bbf53 emacs-21.4-r8.ebuild 5727
 RMD160 e879aeb102baa9977fee9a40d18c4a0acc001be2 emacs-21.4-r8.ebuild 5727
 SHA256 2a692ffbdc1203341a019866b2f54460a7f6faa7a048a8466cc2879545cdc3c2 emacs-21.4-r8.ebuild 5727
-MISC ChangeLog 21231 RMD160 3c01cf55fa49b6bac6e1776dba690ec84876634a SHA1 372b49cb5e43c58b5b8d0cb20eb9e3d3628b4cb8 SHA256 2726126d1c277539266238670d606444bbba8bf15fed873ab45e7751c0141d61
-MD5 64d1ed50dcadd7be9b87e17c904fae87 ChangeLog 21231
-RMD160 3c01cf55fa49b6bac6e1776dba690ec84876634a ChangeLog 21231
-SHA256 2726126d1c277539266238670d606444bbba8bf15fed873ab45e7751c0141d61 ChangeLog 21231
+MISC ChangeLog 21431 RMD160 0830d968cacb6295658bc08e9356a32087fca791 SHA1 7396216dca3002a988ea9a3bec32239dc0750cc2 SHA256 bb91d331cefc4cf1d94a270922558bae2ac801faaa016c2e9774a96def1cb80c
+MD5 4b03a43334ae769ae89061d259da3311 ChangeLog 21431
+RMD160 0830d968cacb6295658bc08e9356a32087fca791 ChangeLog 21431
+SHA256 bb91d331cefc4cf1d94a270922558bae2ac801faaa016c2e9774a96def1cb80c ChangeLog 21431
 MISC metadata.xml 158 RMD160 415d172437ca754d24fc5ab186ba8e77934d96e4 SHA1 61f6eff9729cd87a725c2a70c81aca4270a17fc4 SHA256 1393bdef3a74343fdb40a112c7096a1af16f67e7a43413250de28dfe73810eab
 MD5 fcd33d07e4ee719b01157946734f4fe8 metadata.xml 158
 RMD160 415d172437ca754d24fc5ab186ba8e77934d96e4 metadata.xml 158
@@ -101,10 +102,3 @@ SHA256 8dec85daf40abb62a8c6a7232b067f0e5da524b222d2668f8db0f1df9dd7188e files/di
 MD5 6276bfdc37e540127a083cc6b979ac37 files/digest-emacs-21.4-r8 473
 RMD160 4f6aee1102af50b44f69f8de5714c901c5b6b15c files/digest-emacs-21.4-r8 473
 SHA256 8dec85daf40abb62a8c6a7232b067f0e5da524b222d2668f8db0f1df9dd7188e files/digest-emacs-21.4-r8 473
------BEGIN PGP SIGNATURE-----
-Version: GnuPG v1.4.7 (GNU/Linux)
-
-iD8DBQFGMFMtOeoy/oIi7uwRArxIAKDQU9tF201NrHttSQbXa58Y5Vyt3ACeOmve
-Nsu6BuqdyRMamyB13UnX77c=
-=b1w3
------END PGP SIGNATURE-----
index 357c7448d73e323d92f9e2ea2c277c379fca1a31..6bd7ad5298abf726497258e935ac0f927d01511c 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2007 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/emacs-21.4-r12.ebuild,v 1.8 2007/04/26 07:20:08 ulm Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-editors/emacs/emacs-21.4-r12.ebuild,v 1.9 2007/04/29 17:02:08 corsair Exp $
 
 WANT_AUTOCONF="2.1"
 
@@ -13,7 +13,7 @@ SRC_URI="mirror://gnu/emacs/${P}a.tar.gz
 
 LICENSE="GPL-2 FDL-1.1"
 SLOT="21"
-KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc64 ~sparc ~x86"
 IUSE="X Xaw3d leim lesstif motif nls nosendmail"
 
 RDEPEND="sys-libs/ncurses
@@ -53,6 +53,7 @@ src_unpack() {
        epatch "${FILESDIR}/emacs-21.3-hppa.patch"
        epatch "${FILESDIR}/emacs-21.2-sh.patch"
        epatch "${FILESDIR}/emacs-21.4-libungif-gif-gentoo.patch"
+       epatch "${FILESDIR}/emacs-21.4-ppc64-fix-unexelf.patch"
 
        use ppc64 && epatch "${FILESDIR}/emacs-21.3-ppc64.patch"
 
@@ -81,9 +82,6 @@ src_compile() {
        # ever since GCC 3.2
        replace-flags -O[3-9] -O2
 
-       # this fixes bug 152006
-       use ppc64 && append-flags -mno-fp-in-toc -mno-sum-in-toc
-
        # -march is known to cause signal 6 on some environment
        filter-flags "-march=*"
 
diff --git a/app-editors/emacs/files/emacs-21.4-ppc64-fix-unexelf.patch b/app-editors/emacs/files/emacs-21.4-ppc64-fix-unexelf.patch
new file mode 100644 (file)
index 0000000..e309e7b
--- /dev/null
@@ -0,0 +1,67 @@
+Fix unexelf.c (unexec) on ppc64, backported from Emacs 22 by Chip
+Coldwell, see <http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=183304>
+--- emacs-21.4/src/unexelf.c   2002-10-15 10:21:44.000000000 -0400
++++ emacs-21.4.works/src/unexelf.c     2006-07-26 11:08:05.000000000 -0400
+@@ -697,7 +697,7 @@ unexec (new_name, old_name, data_start, 
+   ElfW(Addr) new_data2_addr;
+   int n, nn;
+-  int old_bss_index, old_sbss_index;
++  int old_bss_index, old_sbss_index, old_plt_index;
+   int old_data_index, new_data2_index;
+   int old_mdebug_index;
+   struct stat stat_buf;
+@@ -759,12 +759,31 @@ unexec (new_name, old_name, data_start, 
+     if (OLD_SECTION_H (old_sbss_index).sh_type == SHT_PROGBITS)
+       old_sbss_index = -1;
+-  if (old_sbss_index == -1)
++  /* PowerPC64 has .plt in the BSS section.  */
++  old_plt_index = find_section (".plt", old_section_names,
++                              old_name, old_file_h, old_section_h, 1);
++  if (old_plt_index != -1)
++    if (OLD_SECTION_H (old_plt_index).sh_type != SHT_NOBITS)
++      old_plt_index = -1;
++
++  if (old_sbss_index == -1 && old_plt_index == -1)
+     {
+       old_bss_addr = OLD_SECTION_H (old_bss_index).sh_addr;
+       old_bss_size = OLD_SECTION_H (old_bss_index).sh_size;
+       new_data2_index = old_bss_index;
+     }
++  else if (old_plt_index != -1
++         && (old_sbss_index == -1
++             || (OLD_SECTION_H (old_sbss_index).sh_addr
++                 > OLD_SECTION_H (old_plt_index).sh_addr)))
++    {
++      old_bss_addr = OLD_SECTION_H (old_plt_index).sh_addr;
++      old_bss_size = OLD_SECTION_H (old_bss_index).sh_size
++      + OLD_SECTION_H (old_plt_index).sh_size;
++      if (old_sbss_index != -1)
++      old_bss_size += OLD_SECTION_H (old_sbss_index).sh_size;
++      new_data2_index = old_plt_index;
++    }
+   else
+     {
+       old_bss_addr = OLD_SECTION_H (old_sbss_index).sh_addr;
+@@ -955,7 +974,7 @@ unexec (new_name, old_name, data_start, 
+       if (n == old_bss_index
+         /* The new bss and sbss section's size is zero, and its file offset
+            and virtual address should be off by NEW_DATA2_SIZE.  */
+-        || n == old_sbss_index
++        || n == old_sbss_index || n == old_plt_index
+         )
+       {
+         /* NN should be `old_s?bss_index + 1' at this point. */
+@@ -986,9 +1005,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