Fix build problem when PKGSRC_USE_RELRO is not "no".

* Pass LDFLAGS to LIBRUBY_DLDFLAGS via DLDFLAGS as Ruby 2.4 dose.
This commit is contained in:
taca 2017-07-06 16:35:05 +00:00
parent ba6e7e2e0f
commit 158f45b075
4 changed files with 167 additions and 26 deletions

View file

@ -1,10 +1,10 @@
$NetBSD: distinfo,v 1.17 2017/04/09 15:49:50 taca Exp $
$NetBSD: distinfo,v 1.18 2017/07/06 16:35:05 taca Exp $
SHA1 (ruby-2.2.7.tar.bz2) = 0b5b79f55a1e7a7c2f6600e75167c1b9cc435042
RMD160 (ruby-2.2.7.tar.bz2) = 5aef4d373a0ea7434b7c32098b43ecc6fba542a6
SHA512 (ruby-2.2.7.tar.bz2) = 83756cd1c91516962b83961e0de59d858618f7ed3e9795f930aab4f199d47a95ed8f867d8aa9b51d508be26d9babf2140117c88241168bac41e6ef702cfadf20
Size (ruby-2.2.7.tar.bz2) = 13381078 bytes
SHA1 (patch-configure) = ad3d1862a48d12b793fd0062eb357372caa19abc
SHA1 (patch-configure) = fda86ab23ec6291f3a51001793686904d4433b38
SHA1 (patch-ext_dbm_extconf.rb) = ee932265052613d458375ad1a760a09fefb9d959
SHA1 (patch-ext_openssl_ossl__ssl.c) = e887a5576959921da116a5cee629c25610169593
SHA1 (patch-lib_mkmf.rb) = f86f1ae5a1053a0643545a2c11c9fd2bbd5a289d

View file

@ -1,11 +1,12 @@
$NetBSD: patch-configure,v 1.4 2016/05/15 14:07:48 taca Exp $
$NetBSD: patch-configure,v 1.5 2017/07/06 16:35:05 taca Exp $
* Adding Interix support.
* Ignore doxygen.
* Pass LDFLAGS to LIBRUBY_DLDFLAGS via DLDFLAGS as Ruby 2.4 dose.
--- configure.orig 2016-04-26 04:51:48.000000000 +0000
--- configure.orig 2017-03-28 07:53:45.000000000 +0000
+++ configure
@@ -5579,7 +5579,7 @@ esac
@@ -5581,7 +5581,7 @@ esac
else
if test x"$target_alias" = x; then
case "$target_os" in #(
@ -14,7 +15,15 @@ $NetBSD: patch-configure,v 1.4 2016/05/15 14:07:48 taca Exp $
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for real target cpu" >&5
$as_echo_n "checking for real target cpu... " >&6; }
@@ -8850,6 +8850,10 @@ esac
@@ -7456,6 +7456,7 @@ fi
+: ${DLDFLAGS="$LDFLAGS"}
case $RUBY_PATCHLEVEL in #(
-*) :
@@ -8909,6 +8910,10 @@ esac
LIBS="-lm $LIBS"
ac_cv_func_round=no
;; #(
@ -25,7 +34,7 @@ $NetBSD: patch-configure,v 1.4 2016/05/15 14:07:48 taca Exp $
nacl) :
LIBS="-lm $LIBS"
@@ -16945,6 +16949,8 @@ else
@@ -17004,6 +17009,8 @@ else
# ifdef _MSC_VER
# include <malloc.h>
# define alloca _alloca
@ -34,7 +43,7 @@ $NetBSD: patch-configure,v 1.4 2016/05/15 14:07:48 taca Exp $
# else
# ifdef HAVE_ALLOCA_H
# include <alloca.h>
@@ -21234,7 +21240,9 @@ esac ;; #(
@@ -21293,7 +21300,9 @@ esac ;; #(
interix*) :
: ${LDSHARED='$(CC) -shared'}
XLDFLAGS="$XLDFLAGS -Wl,-E"
@ -44,7 +53,26 @@ $NetBSD: patch-configure,v 1.4 2016/05/15 14:07:48 taca Exp $
rb_cv_dlopen=yes ;; #(
freebsd*|dragonfly*) :
@@ -22455,7 +22463,7 @@ esac
@@ -22503,7 +22512,17 @@ esac
;; #(
linux* | gnu* | k*bsd*-gnu | atheos* | kopensolaris*-gnu) :
- LIBRUBY_DLDFLAGS='-Wl,-soname,lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR)'" $LDFLAGS_OPTDIR"
+ # RUBY_APPEND_OPTIONS(LIBRUBY_DLDFLAGS)
+ for rb_opt in '-Wl,-soname,lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR)' "$LDFLAGS_OPTDIR"; do
+ case " ${LIBRUBY_DLDFLAGS-} " in #(
+ *" ${rb_opt} "*) :
+ ;; #(
+ ' ') :
+ LIBRUBY_DLDFLAGS="${rb_opt}" ;; #(
+ *) :
+ LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS ${rb_opt}" ;;
+esac
+ done
LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_SO_NAME).so'
if test "$load_relative" = yes; then
libprefix="'\$\${ORIGIN}/../${libdir_basename}'"
@@ -22514,7 +22533,7 @@ esac
freebsd*|dragonfly*) :
SOLIBS='$(LIBS)'
@ -53,7 +81,54 @@ $NetBSD: patch-configure,v 1.4 2016/05/15 14:07:48 taca Exp $
if test "$rb_cv_binary_elf" != "yes" ; then
LIBRUBY_SO="$LIBRUBY_SO.\$(TEENY)"
LIBRUBY_ALIASES=''
@@ -22534,7 +22542,12 @@ esac
@@ -22524,7 +22543,17 @@ esac
SOLIBS='$(LIBS)'
LIBRUBY_SO='lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR).$(TEENY)'
- LIBRUBY_DLDFLAGS='-Wl,-soname,lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR)'" $LDFLAGS_OPTDIR"
+ # RUBY_APPEND_OPTIONS(LIBRUBY_DLDFLAGS)
+ for rb_opt in '-Wl,-soname,lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR)' "$LDFLAGS_OPTDIR"; do
+ case " ${LIBRUBY_DLDFLAGS-} " in #(
+ *" ${rb_opt} "*) :
+ ;; #(
+ ' ') :
+ LIBRUBY_DLDFLAGS="${rb_opt}" ;; #(
+ *) :
+ LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS ${rb_opt}" ;;
+esac
+ done
if test "$rb_cv_binary_elf" = yes; then # ELF platforms
LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR) lib$(RUBY_SO_NAME).so'
else # a.out platforms
@@ -22556,7 +22585,17 @@ esac
;; #(
aix*) :
- LIBRUBY_DLDFLAGS="${linker_flag}-bnoentry $XLDFLAGS $LDFLAGS_OPTDIR"
+ # RUBY_APPEND_OPTIONS(LIBRUBY_DLDFLAGS)
+ for rb_opt in "${linker_flag}-bnoentry" "$XLDFLAGS" "$LDFLAGS_OPTDIR"; do
+ case " ${LIBRUBY_DLDFLAGS-} " in #(
+ *" ${rb_opt} "*) :
+ ;; #(
+ ' ') :
+ LIBRUBY_DLDFLAGS="${rb_opt}" ;; #(
+ *) :
+ LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS ${rb_opt}" ;;
+esac
+ done
LIBRUBYARG_SHARED='-L${libdir} -l${RUBY_SO_NAME}'
SOLIBS='-lm -lc'
;; #(
@@ -22565,7 +22604,7 @@ esac
case "$target_cpu" in #(
powerpc*) :
- LIBRUBY_DLDFLAGS="-f ruby.exp -lnet -lbe -lroot glue-noinit.a init_term_dyn.o start_dyn.o $LDFLAGS_OPTDIR"
+ LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS -f ruby.exp -lnet -lbe -lroot glue-noinit.a init_term_dyn.o start_dyn.o $LDFLAGS_OPTDIR"
;; #(
*) :
;;
@@ -22593,7 +22632,12 @@ esac
;; #(
interix*) :
@ -67,7 +142,7 @@ $NetBSD: patch-configure,v 1.4 2016/05/15 14:07:48 taca Exp $
;; #(
mingw*|cygwin*|mswin*) :
@@ -22707,7 +22720,7 @@ if test "$enable_rpath" = yes; then
@@ -22766,7 +22810,7 @@ if test "$enable_rpath" = yes; then
esac
rpathflag=`IFS="$PATH_SEPARATOR"
echo x "$rpathflag" |
@ -76,7 +151,7 @@ $NetBSD: patch-configure,v 1.4 2016/05/15 14:07:48 taca Exp $
`
LIBRUBY_RPATHFLAGS="$LIBRUBY_RPATHFLAGS${rpathflag}"
LIBRUBYARG_SHARED="$LIBRUBY_RPATHFLAGS $LIBRUBYARG_SHARED"
@@ -23026,11 +23039,7 @@ if test "$install_doc" != no; then
@@ -23085,11 +23129,7 @@ if test "$install_doc" != no; then
else
RDOCTARGET="nodoc"
fi
@ -89,7 +164,7 @@ $NetBSD: patch-configure,v 1.4 2016/05/15 14:07:48 taca Exp $
else
RDOCTARGET="nodoc"
CAPITARGET="nodoc"
@@ -25136,17 +25145,7 @@ which seems to be undefined. Please mak
@@ -25195,17 +25235,7 @@ which seems to be undefined. Please mak
"Makefile":F)
tmpmk=confmk$$.tmp
{

View file

@ -1,10 +1,10 @@
$NetBSD: distinfo,v 1.6 2017/04/09 15:57:01 taca Exp $
$NetBSD: distinfo,v 1.7 2017/07/06 16:35:05 taca Exp $
SHA1 (ruby-2.3.4.tar.bz2) = f5b18e7149ec7620444c91962e695708829d0216
RMD160 (ruby-2.3.4.tar.bz2) = a44c9f342a401e75c33a2442b9460b2b1ef7f0f5
SHA512 (ruby-2.3.4.tar.bz2) = ad1f16142615498232d0de85149585be1d2c5de2bc40ec160d272a09e098ef6f317d8b25026001735261fd1c5bc0d1f8513a8474e89f0d86eed5b2fe7338d64e
Size (ruby-2.3.4.tar.bz2) = 14434361 bytes
SHA1 (patch-configure) = e1af70b87cfbb7c61a2bf65109b6e18efb825f0f
SHA1 (patch-configure) = 9325d9527e96a8f56078c6b78d3f1334803b0d94
SHA1 (patch-ext_dbm_extconf.rb) = c998f8735db54b1ae2bc8b6caa359ce88bc7a45b
SHA1 (patch-ext_openssl_ossl__ssl.c) = 24e794aae278da6204e29212d9e2add0b0119ea4
SHA1 (patch-lib_mkmf.rb) = d01302bac014ec1d72bbf19df64bc2c93c07ec5e

View file

@ -1,9 +1,10 @@
$NetBSD: patch-configure,v 1.2 2016/05/15 14:19:56 taca Exp $
$NetBSD: patch-configure,v 1.3 2017/07/06 16:35:05 taca Exp $
* Adding Interix support.
* Ignore doxygen.
* Pass LDFLAGS to LIBRUBY_DLDFLAGS via DLDFLAGS as Ruby 2.4 dose.
--- configure.orig 2016-04-25 18:08:47.000000000 +0000
--- configure.orig 2017-03-29 16:45:31.000000000 +0000
+++ configure
@@ -5678,7 +5678,7 @@ esac
else
@ -14,7 +15,15 @@ $NetBSD: patch-configure,v 1.2 2016/05/15 14:19:56 taca Exp $
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for real target cpu" >&5
$as_echo_n "checking for real target cpu... " >&6; }
@@ -9179,6 +9179,10 @@ esac
@@ -7553,6 +7553,7 @@ fi
+: ${DLDFLAGS="$LDFLAGS"}
case $RUBY_PATCHLEVEL in #(
-*) :
@@ -9235,6 +9236,10 @@ esac
LIBS="-lm $LIBS"
ac_cv_func_round=no
;; #(
@ -25,7 +34,7 @@ $NetBSD: patch-configure,v 1.2 2016/05/15 14:19:56 taca Exp $
nacl) :
LIBS="-lm $LIBS"
@@ -17907,6 +17911,8 @@ else
@@ -17963,6 +17968,8 @@ else
# ifdef _MSC_VER
# include <malloc.h>
# define alloca _alloca
@ -34,7 +43,7 @@ $NetBSD: patch-configure,v 1.2 2016/05/15 14:19:56 taca Exp $
# else
# ifdef HAVE_ALLOCA_H
# include <alloca.h>
@@ -22407,7 +22413,9 @@ esac ;; #(
@@ -22463,7 +22470,9 @@ esac ;; #(
interix*) :
: ${LDSHARED='$(CC) -shared'}
XLDFLAGS="$XLDFLAGS -Wl,-E"
@ -44,7 +53,26 @@ $NetBSD: patch-configure,v 1.2 2016/05/15 14:19:56 taca Exp $
rb_cv_dlopen=yes ;; #(
freebsd*|dragonfly*) :
@@ -23585,7 +23593,7 @@ esac
@@ -23630,7 +23639,17 @@ esac
;; #(
linux* | gnu* | k*bsd*-gnu | atheos* | kopensolaris*-gnu | haiku*) :
- LIBRUBY_DLDFLAGS='-Wl,-soname,lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR)'" $LDFLAGS_OPTDIR"
+ # RUBY_APPEND_OPTIONS(LIBRUBY_DLDFLAGS)
+ for rb_opt in '-Wl,-soname,lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR)' "$LDFLAGS_OPTDIR"; do
+ case " ${LIBRUBY_DLDFLAGS-} " in #(
+ *" ${rb_opt} "*) :
+ ;; #(
+ ' ') :
+ LIBRUBY_DLDFLAGS="${rb_opt}" ;; #(
+ *) :
+ LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS ${rb_opt}" ;;
+esac
+ done
LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR).$(MINOR) lib$(RUBY_SO_NAME).so'
if test "$load_relative" = yes; then
libprefix="'\$\${ORIGIN}/../${libdir_basename}'"
@@ -23641,7 +23660,7 @@ esac
freebsd*|dragonfly*) :
SOLIBS='$(LIBS)'
@ -53,7 +81,45 @@ $NetBSD: patch-configure,v 1.2 2016/05/15 14:19:56 taca Exp $
if test "$rb_cv_binary_elf" != "yes" ; then
LIBRUBY_SO="$LIBRUBY_SO.\$(TEENY)"
LIBRUBY_ALIASES=''
@@ -23654,7 +23662,12 @@ esac
@@ -23651,7 +23670,17 @@ esac
SOLIBS='$(LIBS)'
LIBRUBY_SO='lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR).$(TEENY)'
- LIBRUBY_DLDFLAGS='-Wl,-soname,lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR)'" $LDFLAGS_OPTDIR"
+ # RUBY_APPEND_OPTIONS(LIBRUBY_DLDFLAGS)
+ for rb_opt in '-Wl,-soname,lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR)' "$LDFLAGS_OPTDIR"; do
+ case " ${LIBRUBY_DLDFLAGS-} " in #(
+ *" ${rb_opt} "*) :
+ ;; #(
+ ' ') :
+ LIBRUBY_DLDFLAGS="${rb_opt}" ;; #(
+ *) :
+ LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS ${rb_opt}" ;;
+esac
+ done
if test "$rb_cv_binary_elf" = yes; then # ELF platforms
LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR) lib$(RUBY_SO_NAME).so'
else # a.out platforms
@@ -23683,7 +23712,17 @@ esac
;; #(
aix*) :
- LIBRUBY_DLDFLAGS="${linker_flag}-bnoentry $XLDFLAGS $LDFLAGS_OPTDIR"
+ # RUBY_APPEND_OPTIONS(LIBRUBY_DLDFLAGS)
+ for rb_opt in "${linker_flag}-bnoentry" "$XLDFLAGS" "$LDFLAGS_OPTDIR"; do
+ case " ${LIBRUBY_DLDFLAGS-} " in #(
+ *" ${rb_opt} "*) :
+ ;; #(
+ ' ') :
+ LIBRUBY_DLDFLAGS="${rb_opt}" ;; #(
+ *) :
+ LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS ${rb_opt}" ;;
+esac
+ done
LIBRUBYARG_SHARED='-L${libdir} -l${RUBY_SO_NAME}'
SOLIBS='-lm -lc'
;; #(
@@ -23710,7 +23749,12 @@ esac
;; #(
interix*) :
@ -61,13 +127,13 @@ $NetBSD: patch-configure,v 1.2 2016/05/15 14:19:56 taca Exp $
+ SOLIBS='$(LIBS)'
+ LIBRUBY_SO='lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR).$(TEENY)'
+ # link explicitly to 0x48000000
+ LIBRUBY_DLDFLAGS='-Wl,-h,lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR) -Wl,--image-base,1207959552'
+ LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS "'-Wl,-h,lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR) -Wl,--image-base,1207959552'
+ LIBRUBYARG_SHARED='-Wl,-R -Wl,${PREFIX}/lib} -L${libdir} -L. -l$(RUBY_SO_NAME)'
+ LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).so.$(MAJOR)$(MINOR) lib$(RUBY_SO_NAME).so'
;; #(
mingw*|cygwin*|mswin*) :
@@ -23822,7 +23835,7 @@ if test "$enable_rpath" = yes; then
@@ -23878,7 +23922,7 @@ if test "$enable_rpath" = yes; then
esac
rpathflag=`IFS="$PATH_SEPARATOR"
echo x "$rpathflag" |
@ -76,7 +142,7 @@ $NetBSD: patch-configure,v 1.2 2016/05/15 14:19:56 taca Exp $
`
LIBRUBY_RPATHFLAGS="$LIBRUBY_RPATHFLAGS${rpathflag}"
LIBRUBYARG_SHARED="$LIBRUBY_RPATHFLAGS $LIBRUBYARG_SHARED"
@@ -24213,11 +24226,7 @@ if test "$install_doc" != no; then
@@ -24269,11 +24313,7 @@ if test "$install_doc" != no; then
else
RDOCTARGET="nodoc"
fi
@ -89,7 +155,7 @@ $NetBSD: patch-configure,v 1.2 2016/05/15 14:19:56 taca Exp $
else
RDOCTARGET="nodoc"
CAPITARGET="nodoc"
@@ -26250,17 +26259,7 @@ which seems to be undefined. Please mak
@@ -26306,17 +26346,7 @@ which seems to be undefined. Please mak
"Makefile":F)
tmpmk=confmk$$.tmp
{