--- support/configure.pl.orig 2019-11-22 13:21:21.752679397 -0700
+++ support/configure.pl 2019-11-22 13:27:23.133985412 -0700
@@ -1001,6 +1001,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
@@ -1030,6 +1031,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";
@@ -1722,10 +1725,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
---