From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31422 invoked by alias); 29 Jul 2012 01:15:03 -0000 Received: (qmail 31341 invoked by uid 22791); 29 Jul 2012 01:15:01 -0000 X-SWARE-Spam-Status: No, hits=-3.1 required=5.0 tests=BAYES_00,DKIM_ADSP_CUSTOM_MED,FREEMAIL_FROM,KHOP_PGP_SIGNED,NML_ADSP_CUSTOM_MED,SPF_NEUTRAL,TW_BF,TW_FN X-Spam-Check-By: sourceware.org Received: from mx0.zoral.com.ua (HELO mail.zoral.com.ua) (91.193.166.200) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sun, 29 Jul 2012 01:14:44 +0000 Received: from skuns.kiev.zoral.com.ua (localhost [127.0.0.1]) by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id q6T1EmiP018319 for ; Sun, 29 Jul 2012 04:14:48 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1]) by deviant.kiev.zoral.com.ua (8.14.5/8.14.5) with ESMTP id q6T1EZvf029473 for ; Sun, 29 Jul 2012 04:14:35 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: (from kostik@localhost) by deviant.kiev.zoral.com.ua (8.14.5/8.14.5/Submit) id q6T1EZSS029472 for libffi-discuss@sourceware.org; Sun, 29 Jul 2012 04:14:35 +0300 (EEST) (envelope-from kostikbel@gmail.com) Date: Sun, 29 Jul 2012 01:15:00 -0000 From: Konstantin Belousov To: libffi-discuss@sourceware.org Subject: Mark libffi as not requiring executable stack on FreeBSD Message-ID: <20120729011435.GN2676@deviant.kiev.zoral.com.ua> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="fu8qefuGDGSqcFud" Content-Disposition: inline User-Agent: Mutt/1.4.2.3i Mailing-List: contact libffi-discuss-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: libffi-discuss-owner@sourceware.org X-SW-Source: 2012/txt/msg00219.txt.bz2 --fu8qefuGDGSqcFud Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Content-length: 722 Hi, libffi on FreeBSD uses assembler source src/x86/freebsd.S which lacks .note.GNU-stack section. As result, libffi shared library and any code that links with libffi statically ends up with executable stack. Patch below fixes the issue. Please apply. commit 2b8152f633c6debae0b6076b0c39eb326ceb09e2 Author: Konstantin Belousov Date: Sun Jul 29 04:06:39 2012 +0300 On FreeBSD, mark the assembler source as not requiring executable stack. diff --git a/src/x86/freebsd.S b/src/x86/freebsd.S index afde513..ee6fc45 100644 --- a/src/x86/freebsd.S +++ b/src/x86/freebsd.S @@ -456,3 +456,4 @@ ffi_closure_raw_SYSV: #endif =20 #endif /* ifndef __x86_64__ */ + .section .note.GNU-stack,"",%progbits --fu8qefuGDGSqcFud Content-Type: application/pgp-signature Content-Disposition: inline Content-length: 196 -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.12 (FreeBSD) iEYEARECAAYFAlAUjnsACgkQC3+MBN1Mb4jL0ACdEkYdcXpp6IkZvo2O222lHveH ZWAAn1Jny3TpCSt2fkdfpgykvmCBaiqu =Z3ht -----END PGP SIGNATURE----- --fu8qefuGDGSqcFud--