# Regex to catch compiler commands.
my $cc_regex = qr/
- (?<!\.)(?:cc|gcc|g\+\+|c\+\+)
- (?:-[\d.]+)?
+ (?<!\s-) # ignore options, e.g. "-c++" [sic!] (used by swig)
+ (?<!\.) # ignore file names, e.g. "test.gcc"
+ (?:cc|gcc|g\+\+|c\+\+)
+ (?:-[\d.]+)? # version suffix, e.g. "gcc-4.6"
/x;
# Full regex which matches the complete compiler name. Used in a few places to
# prevent false negatives.
my ($abi, $os, $cpu) = Dpkg::Arch::debarch_to_debtriplet($arch);
# Disable unsupported hardening options.
- if ($cpu =~ /^(ia64|alpha|mips|mipsel|hppa)$/ or $arch eq 'arm') {
+ if ($cpu =~ /^(?:ia64|alpha|mips|mipsel|hppa)$/ or $arch eq 'arm') {
$harden_stack = 0;
}
- if ($cpu =~ /^(ia64|hppa|avr32)$/) {
+ if ($cpu =~ /^(?:ia64|hppa|avr32)$/) {
$harden_relro = 0;
$harden_bindnow = 0;
}