Skip to content

Commit

Permalink
dev-libs/gmp: work around broken clang during noexecstack detection
Browse files Browse the repository at this point in the history
  • Loading branch information
vapier committed Feb 24, 2016
1 parent 6187b6e commit ca901d8
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 0 deletions.
23 changes: 23 additions & 0 deletions dev-libs/gmp/files/gmp-6.1.0-noexecstack-detect.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
gmp's -Wa,--noexecstack check is based on glibc's, so backport a change
that went into it there:
https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=215a87451d1fd623fd2699fa57f16f8ab6f6a2f3
https://sourceware.org/bugzilla/show_bug.cgi?id=6428

this is to workaround broken clang assembler that fails w/CFLAGS=-g:
http://crbug.com/585930
https://llvm.org/bugs/show_bug.cgi?id=11740

patch has been sent upstream too:
https://gmplib.org/list-archives/gmp-bugs/2016-February/003916.html

--- a/configure
+++ b/configure
@@ -11339,7 +11339,7 @@ EOF
$as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
test $ac_status = 0; }; } \
&& grep .note.GNU-stack conftest.s >/dev/null \
- && { ac_try='${CC} $CFLAGS $CPPFLAGS -Wa,--noexecstack
+ && { ac_try='${CC} $ASMFLAGS -Wa,--noexecstack
-c -o conftest.o conftest.s >/dev/null'
{ { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_try\""; } >&5
(eval $ac_try) 2>&5
2 changes: 2 additions & 0 deletions dev-libs/gmp/gmp-6.1.0.ebuild
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@ src_prepare() {
# note: we cannot run autotools here as gcc depends on this package
elibtoolize

epatch "${FILESDIR}"/${PN}-6.1.0-noexecstack-detect.patch

# GMP uses the "ABI" env var during configure as does Gentoo (econf).
# So, to avoid patching the source constantly, wrap things up.
mv configure configure.wrapped || die
Expand Down

0 comments on commit ca901d8

Please sign in to comment.