my @def_cppflags = ();
my @def_cppflags_fortify = (
'-D_FORTIFY_SOURCE=2', # must be first, see cppflags_fortify_broken()
+ # If you add another flag fix hack below (search for "Hack to fix").
);
my @def_cppflags_fortify_bad = (
# These flags may overwrite -D_FORTIFY_SOURCE=2.
'-fpic',
'-shared',
);
-# References to all flags checked by the parser.
+# References to all flags checked by the flag checker.
my @flag_refs = (
\@def_cflags,
\@def_cflags_format,
@ldflags = (@ldflags, @def_ldflags_bindnow);
}
+ # Hack to fix cppflags_fortify_broken() if --ignore-flag
+ # -D_FORTIFY_SOURCE=2 is used to ignore missing fortification. Only works
+ # as long as @def_cppflags_fortify contains only one variable.
+ if (scalar @def_cppflags_fortify == 0) {
+ $harden_fortify = 0;
+ }
+
# Ignore flags for this arch if requested.
if ($arch and exists $option_ignore_arch_flag{$arch}) {
my @flag_refs = (\@cflags, \@cxxflags, \@cppflags, \@ldflags);