summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Faulhammer <fauli@gentoo.org>2009-02-05 01:50:45 +0000
committerChristian Faulhammer <fauli@gentoo.org>2009-02-05 01:50:45 +0000
commit69524b930a3b92aca36fee67f293c209c8253f61 (patch)
tree950a6be3a544800bf88c495baf60c27cee3518d5
parentRemoved the eautoreconf call until I can get a propper fix for the autotools ... (diff)
downloadhistorical-69524b930a3b92aca36fee67f293c209c8253f61.tar.gz
historical-69524b930a3b92aca36fee67f293c209c8253f61.tar.bz2
historical-69524b930a3b92aca36fee67f293c209c8253f61.zip
revbump to fix executable stacks (see bug 249328 by Lars Strojny <lars AT strojny DOT net>) and a segfault on amd64; both taken from upstream, hint and inspiration by Davide Pesavento <davidepesa AT gmail DOT com>
Package-Manager: portage-2.1.6.4/cvs/Linux 2.6.27-gentoo-r8 i686
-rw-r--r--dev-lang/erlang/ChangeLog13
-rw-r--r--dev-lang/erlang/Manifest11
-rw-r--r--dev-lang/erlang/erlang-12.2.5-r1.ebuild156
-rw-r--r--dev-lang/erlang/files/erlang-12.2.5-amd64_segfault.patch139
-rw-r--r--dev-lang/erlang/files/erlang-12.2.5-remove_execstack.patch100
5 files changed, 413 insertions, 6 deletions
diff --git a/dev-lang/erlang/ChangeLog b/dev-lang/erlang/ChangeLog
index cb0d324b8081..7b5220b360b3 100644
--- a/dev-lang/erlang/ChangeLog
+++ b/dev-lang/erlang/ChangeLog
@@ -1,6 +1,15 @@
# ChangeLog for dev-lang/erlang
-# Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/dev-lang/erlang/ChangeLog,v 1.148 2008/12/18 10:27:58 fauli Exp $
+# Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/erlang/ChangeLog,v 1.149 2009/02/05 01:50:45 fauli Exp $
+
+*erlang-12.2.5-r1 (05 Feb 2009)
+
+ 05 Feb 2009; Christian Faulhammer <fauli@gentoo.org>
+ +files/erlang-12.2.5-amd64_segfault.patch,
+ +files/erlang-12.2.5-remove_execstack.patch, +erlang-12.2.5-r1.ebuild:
+ revbump to fix executable stacks (see bug 249328 by Lars Strojny <lars AT
+ strojny DOT net>) and a segfault on amd64; both taken from upstream, hint
+ and inspiration by Davide Pesavento <davidepesa AT gmail DOT com>
18 Dec 2008; Christian Faulhammer <fauli@gentoo.org>
-files/erlang-12.2.3-gethostbyname.patch,
diff --git a/dev-lang/erlang/Manifest b/dev-lang/erlang/Manifest
index 756c4f96b9af..dfff9bd72e15 100644
--- a/dev-lang/erlang/Manifest
+++ b/dev-lang/erlang/Manifest
@@ -2,16 +2,19 @@
Hash: SHA1
AUX 50erlang-gentoo.el 134 RMD160 a453ad18f47d20e5ea5ecd1f4e4054d00eab5c35 SHA1 7c17979f533654ef05bbfcc8ae30554e7843923b SHA256 97e1da82cae31a554134d7370739520e4c67b2544e5a13f887651a62e710b4d4
+AUX erlang-12.2.5-amd64_segfault.patch 4459 RMD160 55c66d43421817abf51bca36b0a60be2294897c1 SHA1 e6533ed6316913791ea8abacb3b5b06bc88f2c0f SHA256 d19008728fe7d61be44f708face9adb6530934531c9911a9fdf108447054f11c
+AUX erlang-12.2.5-remove_execstack.patch 3819 RMD160 a52ffd31864b0acec958f5ab4dbc81f9a64ad82c SHA1 185da98fd9da97673ee908eb69390dda7a52241b SHA256 4389cd3c56712d7b07d36f94d4c58063844912082ca431ed1c06f13d668609d1
DIST otp_doc_html_R12B-5.tar.gz 5713089 RMD160 b460906043171b27735332ec90c45e38d888869a SHA1 0bd369d02051e01bac58c9b8665bd3538e116f51 SHA256 db131a347217ab434ca4c483abb61dc01989e0db43e1fe6982c3067f60cf91d7
DIST otp_doc_man_R12B-5.tar.gz 822321 RMD160 e28d555d0a86fc69e0ee091864828c8eaa58d2be SHA1 ae7036bd2afc9d1fca97f0de2eca84f56656def8 SHA256 f7acb458b72ffa8f9b1f45501bed85d3d9fb691c601f3f6997856c501e2f0659
DIST otp_src_R12B-5.tar.gz 47470402 RMD160 7265ae8ebd045ec5b977148a7c9b995eb7ef2d2d SHA1 6c45509acf70d35d5def2cbefd86ada093c1ac3a SHA256 6ec3f344dd626bd83494fcad66db98a03f930a039b2a1499313d1a5a57aadda7
+EBUILD erlang-12.2.5-r1.ebuild 4733 RMD160 3ae350f957a6efca56b72c5eeaed4fbebce8660b SHA1 305729832a38b8942c11b84b73ca0b54c8d17f09 SHA256 e9d5668480fb0bdb0e3e72c6e29ca5811b63035cd7ad013826213571841613be
EBUILD erlang-12.2.5.ebuild 4558 RMD160 6160fa23d670e1b37b8f1200a916297798e5400d SHA1 21f5b0a72c8a05c47060be789ef938869f698918 SHA256 8713f7e63ac033dc426e2dd3265bd9935edad6e82dfc0ec3a79853779286c6fe
-MISC ChangeLog 24358 RMD160 7191a60397e9e5d9d5f3349961c0e8f093244dfb SHA1 9f6b160e7820cafd12c8c3f6592fa8af30f80113 SHA256 d1d91e2e11fca1d4765033e176ff9ad0da569c6257be5dec412301b4a606cd6b
+MISC ChangeLog 24785 RMD160 c5078523e5b07cbfa5f157ee9b06a1c37b680165 SHA1 de1b1a4f38609f47e5c042e6dc4401ab535758c6 SHA256 e9c8f874657d416dfc078b49219ff41608ff4346589a75a1fbd665cf299d4343
MISC metadata.xml 693 RMD160 6c8d43bd35549421b055b468c45f1f2e5d39357d SHA1 7c778bbc7faf1dfdc11a6155e1c525e42d63ebb5 SHA256 ee0ac0699562802a5191deaef78770c25a342875a3b363ea95a0b92da6f107e3
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.9 (GNU/Linux)
-iEYEARECAAYFAklKJcYACgkQNQqtfCuFneNFvgCfcNmWnjCc2I0SF13P46lu+scn
-G44AoJSWedfpsKD+m9v1mJR0rsFH3W8z
-=3gcm
+iEYEARECAAYFAkmKRhQACgkQNQqtfCuFneO7kgCghxgJSPU5rdD1hBqGbn95DZ+J
+7u8AoIwXKFVCWvupPNvSnkd+CubuVIMF
+=DF+2
-----END PGP SIGNATURE-----
diff --git a/dev-lang/erlang/erlang-12.2.5-r1.ebuild b/dev-lang/erlang/erlang-12.2.5-r1.ebuild
new file mode 100644
index 000000000000..5812d3821874
--- /dev/null
+++ b/dev-lang/erlang/erlang-12.2.5-r1.ebuild
@@ -0,0 +1,156 @@
+# Copyright 1999-2009 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/dev-lang/erlang/erlang-12.2.5-r1.ebuild,v 1.1 2009/02/05 01:50:45 fauli Exp $
+
+inherit autotools elisp-common eutils flag-o-matic multilib versionator
+
+# NOTE: If you need symlinks for binaries please tell maintainers or
+# open up a bug to let it be created.
+
+# erlang uses a really weird versioning scheme which caused quite a few problems
+# already. Thus we do a slight modification converting all letters to digits to
+# make it more sane (see e.g. #26420)
+
+# the next line selects the right source.
+MY_PV="R$(get_major_version)B-$(get_version_component_range 3)"
+
+# ATTN!! Take care when processing the C, etc version!
+MY_P=otp_src_${MY_PV}
+
+DESCRIPTION="Erlang programming language, runtime environment, and large collection of libraries"
+HOMEPAGE="http://www.erlang.org/"
+SRC_URI="http://www.erlang.org/download/${MY_P}.tar.gz
+ doc? ( http://erlang.org/download/otp_doc_man_${MY_PV}.tar.gz
+ http://erlang.org/download/otp_doc_html_${MY_PV}.tar.gz )"
+
+LICENSE="EPL"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd"
+IUSE="doc emacs hipe java kpoll odbc smp sctp ssl tk"
+
+RDEPEND=">=dev-lang/perl-5.6.1
+ ssl? ( >=dev-libs/openssl-0.9.7d )
+ emacs? ( virtual/emacs )
+ java? ( >=virtual/jdk-1.2 )
+ odbc? ( dev-db/unixODBC )"
+DEPEND="${RDEPEND}
+ sctp? ( net-misc/lksctp-tools )
+ tk? ( dev-lang/tk )"
+
+S="${WORKDIR}/${MY_P}"
+
+SITEFILE=50${PN}-gentoo.el
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}"
+
+ use odbc || sed -i 's: odbc : :' lib/Makefile
+
+ # Both patches are taken from upstream and will be included in R13
+ epatch "${FILESDIR}"/${P}-amd64_segfault.patch
+ epatch "${FILESDIR}"/${P}-remove_execstack.patch
+
+ if use hipe; then
+ ewarn
+ ewarn "You enabled High performance Erlang. Be aware that this extension"
+ ewarn "can break the compilation in many ways, especially on hardened systems."
+ ewarn "Don't cry, don't file bugs, just disable it! If you have a fix, tell us though on Bugzilla."
+ ewarn
+ fi
+ eautoreconf
+}
+
+src_compile() {
+ use java || export JAVAC=false
+
+ econf \
+ --enable-threads \
+ $(use_enable sctp) \
+ $(use_enable hipe) \
+ $(use_with ssl) \
+ $(use_enable ssl dynamic-ssl-lib) \
+ $(use_enable kpoll kernel-poll) \
+ $(use_enable smp smp-support) \
+ || die "econf failed"
+ emake -j1 || die "emake failed"
+
+ if use emacs ; then
+ pushd lib/tools/emacs
+ elisp-compile *.el || die
+ popd
+ fi
+}
+
+extract_version() {
+ sed -n -e "/^$2 = \(.*\)$/s::\1:p" "${S}/$1/vsn.mk"
+}
+
+src_install() {
+ local ERL_LIBDIR=/usr/$(get_libdir)/erlang
+ local ERL_INTERFACE_VER=$(extract_version lib/erl_interface EI_VSN)
+ local ERL_ERTS_VER=$(extract_version erts VSN)
+
+ emake -j1 INSTALL_PREFIX="${D}" install || die "install failed"
+ dodoc AUTHORS README
+
+ dosym "${ERL_LIBDIR}/bin/erl" /usr/bin/erl
+ dosym "${ERL_LIBDIR}/bin/erlc" /usr/bin/erlc
+ dosym "${ERL_LIBDIR}/bin/escript" /usr/bin/escript
+ dosym \
+ "${ERL_LIBDIR}/lib/erl_interface-${ERL_INTERFACE_VER}/bin/erl_call" \
+ /usr/bin/erl_call
+ dosym "${ERL_LIBDIR}/erts-${ERL_ERTS_VER}/bin/beam" /usr/bin/beam
+
+ ## Remove ${D} from the following files
+ dosed "${ERL_LIBDIR}/bin/erl"
+ dosed "${ERL_LIBDIR}/bin/start"
+ grep -rle "${D}" "${D}/${ERL_LIBDIR}/erts-${ERL_ERTS_VER}" | xargs sed -i -e "s:${D}::g"
+
+ ## Clean up the no longer needed files
+ rm "${D}/${ERL_LIBDIR}/Install"
+
+ if use doc ; then
+ for i in "${WORKDIR}"/man/man* ; do
+ dodir "${ERL_LIBDIR}/${i##${WORKDIR}}"
+ done
+ for file in "${WORKDIR}"/man/man*/*.[1-9]; do
+ # Man page processing tools expect a capitalized "SEE ALSO" section
+ # header, has been reported upstream, should be fixed in R12
+ sed -i -e 's,\.SH See Also,\.SH SEE ALSO,g' ${file}
+ # doman sucks so we can't use it
+ cp ${file} "${D}/${ERL_LIBDIR}"/man/man${file##*.}/
+ done
+ # extend MANPATH, so the normal man command can find it
+ # see bug 189639
+ dodir /etc/env.d/
+ echo "MANPATH=\"${ERL_LIBDIR}/man\"" > "${D}/etc/env.d/90erlang"
+ dohtml -A README,erl,hrl,c,h,kwc,info -r \
+ "${WORKDIR}"/doc "${WORKDIR}"/lib "${WORKDIR}"/erts-*
+ fi
+
+ if use emacs ; then
+ pushd "${S}"
+ elisp-install erlang lib/tools/emacs/*.{el,elc}
+ elisp-site-file-install "${FILESDIR}"/${SITEFILE}
+ popd
+ fi
+
+ # prepare erl for SMP, fixes bug #188112
+ use smp && sed -i -e 's:\(exec.*erlexec\):\1 -smp:' \
+ "${D}/${ERL_LIBDIR}/bin/erl"
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+ elog
+ elog "If you need a symlink to one of Erlang's binaries,"
+ elog "please open a bug on http://bugs.gentoo.org/"
+ elog
+ elog "Gentoo's versioning scheme differs from the author's, so please refer to this version as ${MY_PV}"
+ elog
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/dev-lang/erlang/files/erlang-12.2.5-amd64_segfault.patch b/dev-lang/erlang/files/erlang-12.2.5-amd64_segfault.patch
new file mode 100644
index 000000000000..49c420261500
--- /dev/null
+++ b/dev-lang/erlang/files/erlang-12.2.5-amd64_segfault.patch
@@ -0,0 +1,139 @@
+--- otp_src_R12B-5/lib/hipe/amd64/hipe_amd64_registers.erl.~1~ 2007-11-26 19:59:44.000000000 +0100
++++ otp_src_R12B-5/lib/hipe/amd64/hipe_amd64_registers.erl 2009-01-21 14:54:23.000000000 +0100
+@@ -268,8 +268,7 @@ tailcall_clobbered() -> % tailcall crap
+ | fp_call_clobbered()].
+
+ live_at_return() ->
+- [{?RAX,tagged}
+- ,{?RSP,untagged}
++ [{?RSP,untagged}
+ ,{?PROC_POINTER,untagged}
+ ,{?FCALLS,untagged}
+ ,{?HEAP_LIMIT,untagged}
+--- otp_src_R12B-5/lib/hipe/rtl/hipe_rtl.erl.~1~ 2008-11-04 11:51:39.000000000 +0100
++++ otp_src_R12B-5/lib/hipe/rtl/hipe_rtl.erl 2009-01-21 14:54:36.000000000 +0100
+@@ -882,15 +882,17 @@ args(I) ->
+ #alub{} -> [alub_src1(I), alub_src2(I)];
+ #branch{} -> [branch_src1(I), branch_src2(I)];
+ #call{} ->
++ Args = call_arglist(I) ++ hipe_rtl_arch:call_used(),
+ case call_is_known(I) of
+- false -> [call_fun(I)|call_arglist(I)];
+- true -> call_arglist(I)
++ false -> [call_fun(I) | Args];
++ true -> Args
+ end;
+ #comment{} -> [];
+ #enter{} ->
++ Args = enter_arglist(I) ++ hipe_rtl_arch:tailcall_used(),
+ case enter_is_known(I) of
+- false -> hipe_rtl_arch:add_ra_reg([enter_fun(I)|enter_arglist(I)]);
+- true -> hipe_rtl_arch:add_ra_reg(enter_arglist(I))
++ false -> [enter_fun(I) | Args];
++ true -> Args
+ end;
+ #fconv{} -> [fconv_src(I)];
+ #fixnumop{} -> [fixnumop_src(I)];
+@@ -910,7 +912,7 @@ args(I) ->
+ #move{} -> [move_src(I)];
+ #multimove{} -> multimove_srclist(I);
+ #phi{} -> phi_args(I);
+- #return{} -> hipe_rtl_arch:add_ra_reg(return_varlist(I));
++ #return{} -> return_varlist(I) ++ hipe_rtl_arch:return_used();
+ #store{} -> [store_base(I), store_offset(I), store_src(I)];
+ #switch{} -> [switch_src(I)]
+ end.
+@@ -924,7 +926,7 @@ defines(Instr) ->
+ #alu{} -> [alu_dst(Instr)];
+ #alub{} -> [alub_dst(Instr)];
+ #branch{} -> [];
+- #call{} -> call_dstlist(Instr);
++ #call{} -> call_dstlist(Instr) ++ hipe_rtl_arch:call_defined();
+ #comment{} -> [];
+ #enter{} -> [];
+ #fconv{} -> [fconv_dst(Instr)];
+@@ -990,7 +992,7 @@ subst_uses(Subst, I) ->
+ end;
+ #comment{} ->
+ I;
+- #enter{} -> %% XXX: Check why ra_reg is added in uses() but not updated here
++ #enter{} ->
+ case enter_is_known(I) of
+ false ->
+ I0 = enter_fun_update(I, subst1(Subst, enter_fun(I))),
+--- otp_src_R12B-5/lib/hipe/rtl/hipe_rtl_arch.erl.~1~ 2008-06-10 14:47:41.000000000 +0200
++++ otp_src_R12B-5/lib/hipe/rtl/hipe_rtl_arch.erl 2009-01-21 14:56:26.000000000 +0100
+@@ -22,9 +22,12 @@
+ heap_pointer/0,
+ heap_limit/0,
+ fcalls/0,
+- add_ra_reg/1,
+ reg_name/1,
+ is_precoloured/1,
++ call_defined/0,
++ call_used/0,
++ tailcall_used/0,
++ return_used/0,
+ live_at_return/0,
+ endianess/0,
+ load_big_2/4,
+@@ -164,22 +167,6 @@ fcalls_from_pcb() ->
+ Reg = hipe_rtl:mk_new_reg(),
+ {pcb_load(Reg, ?P_FCALLS), Reg, pcb_store(?P_FCALLS, Reg)}.
+
+--spec(add_ra_reg/1 :: ([X]) -> [X]).
+-
+-add_ra_reg(Rest) ->
+- case get(hipe_target_arch) of
+- ultrasparc ->
+- [hipe_rtl:mk_reg(hipe_sparc_registers:return_address()) | Rest];
+- powerpc ->
+- Rest; % do not include LR: it's not a normal register
+- arm ->
+- [hipe_rtl:mk_reg(hipe_arm_registers:lr()) | Rest];
+- x86 ->
+- Rest;
+- amd64 ->
+- Rest
+- end.
+-
+ reg_name(Reg) ->
+ case get(hipe_target_arch) of
+ ultrasparc ->
+@@ -225,6 +212,18 @@ is_precolored_regnum(RegNum) ->
+ hipe_amd64_registers:is_precoloured(RegNum)
+ end.
+
++call_defined() ->
++ call_used().
++
++call_used() ->
++ live_at_return().
++
++tailcall_used() ->
++ call_used().
++
++return_used() ->
++ tailcall_used().
++
+ live_at_return() ->
+ case get(hipe_target_arch) of
+ ultrasparc ->
+--- otp_src_R12B-5/lib/hipe/x86/hipe_x86_registers.erl.~1~ 2007-11-26 19:58:49.000000000 +0100
++++ otp_src_R12B-5/lib/hipe/x86/hipe_x86_registers.erl 2009-01-21 14:53:33.000000000 +0100
+@@ -224,14 +224,8 @@ all_x87_pseudos() ->
+ {4,double}, {5,double}, {6,double}].
+
+ live_at_return() ->
+- [{?EAX,tagged}
+- %% XXX: should the following (fixed) regs be included or not?
+- ,{?ESP,untagged}
++ [{?ESP,untagged}
+ ,{?PROC_POINTER,untagged}
+- %% Lets try not!
+- %% If these are included they will interfere with other
+- %% temps during regalloc, but regs FCALLS and HEAP_LIMIT
+- %% don't even exist at regalloc.
+ ,{?FCALLS,untagged}
+ ,{?HEAP_LIMIT,untagged}
+ | ?LIST_HP_LIVE_AT_RETURN
diff --git a/dev-lang/erlang/files/erlang-12.2.5-remove_execstack.patch b/dev-lang/erlang/files/erlang-12.2.5-remove_execstack.patch
new file mode 100644
index 000000000000..d0957fb60952
--- /dev/null
+++ b/dev-lang/erlang/files/erlang-12.2.5-remove_execstack.patch
@@ -0,0 +1,100 @@
+--- otp-0125/erts/emulator/hipe/hipe_amd64_bifs.m4.~1~ 2008-10-27 20:07:08.000000000 +0100
++++ otp-0125/erts/emulator/hipe/hipe_amd64_bifs.m4 2009-02-01 11:36:47.000000000 +0100
+@@ -531,3 +531,7 @@ define(gc_bif_interface_2,`standard_bif_
+ define(gc_nofail_primop_interface_1,`nofail_primop_interface_1($1, $2)')
+
+ include(`hipe/hipe_bif_list.m4')
++
++`#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif'
+--- otp-0125/erts/emulator/hipe/hipe_amd64_glue.S.~1~ 2008-11-07 23:44:11.000000000 +0100
++++ otp-0125/erts/emulator/hipe/hipe_amd64_glue.S 2009-02-01 11:36:47.000000000 +0100
+@@ -418,3 +418,7 @@ nbif_inc_stack_0:
+ LOAD_ARG_REGS
+ SWITCH_C_TO_ERLANG_QUICK
+ NSP_RET0
++
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
+--- otp-0125/erts/emulator/hipe/hipe_arm_bifs.m4.~1~ 2008-10-27 20:07:08.000000000 +0100
++++ otp-0125/erts/emulator/hipe/hipe_arm_bifs.m4 2009-02-01 11:37:21.000000000 +0100
+@@ -525,3 +525,7 @@ $1:
+ #endif')
+
+ include(`hipe/hipe_bif_list.m4')
++
++`#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif'
+--- otp-0125/erts/emulator/hipe/hipe_arm_glue.S.~1~ 2008-11-07 23:44:11.000000000 +0100
++++ otp-0125/erts/emulator/hipe/hipe_arm_glue.S 2009-02-01 11:38:25.000000000 +0100
+@@ -392,3 +392,7 @@ hipe_arm_inc_stack:
+ LOAD_ARG_REGS
+ # this relies on LOAD_ARG_REGS not clobbering TEMP_ARG0
+ mov pc, TEMP_ARG0
++
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
+--- otp-0125/erts/emulator/hipe/hipe_ppc_bifs.m4.~1~ 2008-10-27 20:07:09.000000000 +0100
++++ otp-0125/erts/emulator/hipe/hipe_ppc_bifs.m4 2009-02-01 11:36:47.000000000 +0100
+@@ -544,3 +544,7 @@ ASYM($1):
+ #endif')
+
+ include(`hipe/hipe_bif_list.m4')
++
++`#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif'
+--- otp-0125/erts/emulator/hipe/hipe_ppc_glue.S.~1~ 2008-11-07 23:44:12.000000000 +0100
++++ otp-0125/erts/emulator/hipe/hipe_ppc_glue.S 2009-02-01 11:36:47.000000000 +0100
+@@ -557,3 +557,7 @@ ASYM(hipe_ppc_inc_stack):
+ LOAD NSP, P_NSP(P)
+ LOAD_ARG_REGS
+ blr
++
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
+--- otp-0125/erts/emulator/hipe/hipe_sparc_bifs.m4.~1~ 2008-10-27 20:07:09.000000000 +0100
++++ otp-0125/erts/emulator/hipe/hipe_sparc_bifs.m4 2009-02-01 11:36:47.000000000 +0100
+@@ -554,3 +554,7 @@ $1:
+ #endif')
+
+ include(`hipe/hipe_bif_list.m4')
++
++`#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif'
+--- otp-0125/erts/emulator/hipe/hipe_sparc_glue.S.~1~ 2008-11-07 23:44:12.000000000 +0100
++++ otp-0125/erts/emulator/hipe/hipe_sparc_glue.S 2009-02-01 11:36:47.000000000 +0100
+@@ -423,3 +423,7 @@ hipe_sparc_inc_stack:
+ /* this relies on LOAD_ARG_REGS not clobbering TEMP_ARG0 */
+ jmp TEMP_ARG0+8
+ ld [P+P_NSP], NSP /* delay slot */
++
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif
+--- otp-0125/erts/emulator/hipe/hipe_x86_bifs.m4.~1~ 2008-10-27 20:07:09.000000000 +0100
++++ otp-0125/erts/emulator/hipe/hipe_x86_bifs.m4 2009-02-01 11:36:47.000000000 +0100
+@@ -611,3 +611,7 @@ define(gc_bif_interface_2,`standard_bif_
+ define(gc_nofail_primop_interface_1,`nofail_primop_interface_1($1, $2)')
+
+ include(`hipe/hipe_bif_list.m4')
++
++`#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif'
+--- otp-0125/erts/emulator/hipe/hipe_x86_glue.S.~1~ 2008-11-07 23:44:12.000000000 +0100
++++ otp-0125/erts/emulator/hipe/hipe_x86_glue.S 2009-02-01 11:36:47.000000000 +0100
+@@ -395,3 +395,7 @@ ASYM(nbif_inc_stack_0):
+ LOAD_CALLER_SAVE
+ SWITCH_C_TO_ERLANG_QUICK
+ NSP_RET0
++
++#if defined(__linux__) && defined(__ELF__)
++.section .note.GNU-stack,"",%progbits
++#endif