]> git.kaiwu.me - nginx.git/commitdiff
Perl: pass additional linker options to perl module.
authorKonstantin Pavlov <thresh@nginx.com>
Tue, 20 Sep 2016 19:11:23 +0000 (22:11 +0300)
committerKonstantin Pavlov <thresh@nginx.com>
Tue, 20 Sep 2016 19:11:23 +0000 (22:11 +0300)
Previously flags passed by --with-ld-opt were not used when building perl
module, which meant hardening flags provided by package build systems were not
applied.

auto/lib/perl/conf
auto/lib/perl/make
auto/make
src/http/modules/perl/Makefile.PL

index f5f5d3e57ee871c26310bc3ea8f7a8ecfd04bf99..d891d821acdbf54742ed6f091f79e7e0e49c5205 100644 (file)
@@ -28,8 +28,10 @@ if test -n "$NGX_PERL_VER"; then
         exit 1;
     fi
 
-    NGX_PERL_CFLAGS="$CFLAGS `$NGX_PERL -MExtUtils::Embed -e ccopts`"
     NGX_PM_CFLAGS=`$NGX_PERL -MExtUtils::Embed -e ccopts`
+    NGX_PM_LDFLAGS=`$NGX_PERL -MConfig -e 'print $Config{lddlflags}'`
+
+    NGX_PERL_CFLAGS="$CFLAGS `$NGX_PERL -MExtUtils::Embed -e ccopts`"
 
     # gcc 4.1/4.2 warn about unused values in pTHX_
     NGX_PERL_CFLAGS=`echo $NGX_PERL_CFLAGS \
index 8af8902f5c0b8f5b2fe3c154c5a99fad11a28751..350090c76231ca353ac1ba75830bc6f6bb7c364f 100644 (file)
@@ -35,6 +35,7 @@ $NGX_OBJS/src/http/modules/perl/Makefile: \\
 
        cd $NGX_OBJS/src/http/modules/perl \\
                && NGX_PM_CFLAGS="\$(NGX_PM_CFLAGS) -g $NGX_CC_OPT" \\
+                       NGX_PM_LDFLAGS="$NGX_LD_OPT \$(NGX_PM_LDFLAGS)" \\
                        NGX_INCS="$CORE_INCS $NGX_OBJS $HTTP_INCS" \\
                        NGX_DEPS="\$(CORE_DEPS) \$(HTTP_DEPS)" \\
                $NGX_PERL Makefile.PL \\
index 5589bee8b43b69ca97efe039fa2e4996398db2ff..84d266819b6c03d2395956d23d6e41dd5c334684 100644 (file)
--- a/auto/make
+++ b/auto/make
@@ -31,6 +31,7 @@ END
 if test -n "$NGX_PERL_CFLAGS"; then
     echo NGX_PERL_CFLAGS = $NGX_PERL_CFLAGS                   >> $NGX_MAKEFILE
     echo NGX_PM_CFLAGS = $NGX_PM_CFLAGS                       >> $NGX_MAKEFILE
+    echo NGX_PM_LDFLAGS = $NGX_PM_LDFLAGS                     >> $NGX_MAKEFILE
 fi
 
 
index 03348b555fcea1fe0e9b17be8fe885be9937b9a0..7edadcb3d53e08c8bbc1dece9da0b4f4354c5def 100644 (file)
@@ -16,6 +16,8 @@ WriteMakefile(
     CCFLAGS           => "$ENV{NGX_PM_CFLAGS}",
     OPTIMIZE          => '-O',
 
+    LDDLFLAGS         => "$ENV{NGX_PM_LDFLAGS}",
+
     INC               => join(" ", map {
                              m#^/# ? "-I $_" : "-I ../../../../../$_"
                          } (split /\s+/, $ENV{NGX_INCS})),