Blob Blame Raw
--- support/configure.pl.orig	2019-08-18 16:18:04.877818161 -0600
+++ support/configure.pl	2019-08-18 16:22:18.491652323 -0600
@@ -1000,6 +1000,7 @@ int main() {
    }
 
    $LDsharedFLAGS=$Config::Config{lddlflags};
+   $LDsharedFLAGS =~ s/ -specs=\S+redhat-hardened-cc1//g;
 
    if ($^O eq "darwin") {
       # MacOS magic again: remove multi-architecture options for fat binaries
@@ -1029,6 +1030,8 @@ int main() {
 
       if ($options{callable} ne ".none.") {
          $LDcallableFLAGS="$LDsharedFLAGS $Config::Config{ldflags}";
+         $LDcallableFLAGS =~ s/ -specs=\S+redhat-hardened-ld//g;
+         $LDcallableFLAGS =~ s/ -Wl,-z,now//g;
          $LDsonameFLAGS = "-Wl,-soname,";
       } else {
          $LDcallableFLAGS="none";
@@ -1721,10 +1724,17 @@ sub write_perl_specific_configuration_fi
    my ($xsubpp) = grep { -e $_ } map { "$Config::Config{$_}/ExtUtils/xsubpp" } qw(privlib vendorlib);
    my ($typemap) = grep { -e $_ } map { "$Config::Config{$_}/ExtUtils/typemap" } qw(privlib vendorlib);
 
+   # Turn off the hardening flags
+   my $GlueFLAGS=$Config::Config{ccflags};
+   $GlueFLAGS =~ s/ -specs=\\S+redhat-hardened-cc1//g;
+   my $PerlFLAGS=$Config::Config{ccdlflags};
+   $PerlFLAGS =~ s/ -specs=\\S+redhat-hardened-ld//g;
+   $PerlFLAGS =~ s/ -Wl,-z,now//g;
+
    print $conf <<"---";
 PERL=$Config::Config{perlpath}
-CXXglueFLAGS=$includePerlCore$Config::Config{archlibexp}/CORE $Config::Config{ccflags} -DPerlVersion=$PerlVersion $no_warn
-LIBperlFLAGS=-L$Config::Config{archlib}/CORE -lperl $Config::Config{ccdlflags}
+CXXglueFLAGS=$includePerlCore$Config::Config{archlibexp}/CORE $GlueFLAGS -DPerlVersion=$PerlVersion $no_warn
+LIBperlFLAGS=-L$Config::Config{archlib}/CORE -lperl $PerlFLAGS
 ExtUtils_xsubpp=$xsubpp
 ExtUtils_typemap=$typemap
 ---