diff options
author | Markus Rothe <corsair@gentoo.org> | 2007-04-29 17:02:08 +0000 |
---|---|---|
committer | Markus Rothe <corsair@gentoo.org> | 2007-04-29 17:02:08 +0000 |
commit | 2a34e49784ecb2d54251f207b6cf84d1347d661d (patch) | |
tree | 0c5025d2a7e5a75b470cce59b2e9d1af48491b38 /app-editors | |
parent | version bump (diff) | |
download | gentoo-2-2a34e49784ecb2d54251f207b6cf84d1347d661d.tar.gz gentoo-2-2a34e49784ecb2d54251f207b6cf84d1347d661d.tar.bz2 gentoo-2-2a34e49784ecb2d54251f207b6cf84d1347d661d.zip |
Add patch for ppc64 - thanks ulm; bug #152006. Also add ~ppc64; bug #174884
(Portage version: 2.1.2.2)
Diffstat (limited to 'app-editors')
-rw-r--r-- | app-editors/emacs/ChangeLog | 6 | ||||
-rw-r--r-- | app-editors/emacs/emacs-21.4-r12.ebuild | 8 | ||||
-rw-r--r-- | app-editors/emacs/files/emacs-21.4-ppc64-fix-unexelf.patch | 67 |
3 files changed, 75 insertions, 6 deletions
diff --git a/app-editors/emacs/ChangeLog b/app-editors/emacs/ChangeLog index 081ad9ce83b0..5b22f8ff2e93 100644 --- a/app-editors/emacs/ChangeLog +++ b/app-editors/emacs/ChangeLog @@ -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. diff --git a/app-editors/emacs/emacs-21.4-r12.ebuild b/app-editors/emacs/emacs-21.4-r12.ebuild index 357c7448d73e..6bd7ad5298ab 100644 --- a/app-editors/emacs/emacs-21.4-r12.ebuild +++ b/app-editors/emacs/emacs-21.4-r12.ebuild @@ -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 index 000000000000..e309e7b43125 --- /dev/null +++ b/app-editors/emacs/files/emacs-21.4-ppc64-fix-unexelf.patch @@ -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 |