gcc/ada/gcc-interface/lang-specs.h has this:

  {"@ada",
   "\
 %{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are
incompatible}}\
 %{!S:%{!c:%e-c or -S required for Ada}}\
 gnat1 %{I*} %{k8:-gnatk8} %{Wall:-gnatwa} %{w:-gnatws} %{!Q:-quiet}\
    %{nostdinc*} %{nostdlib*}\
    -dumpbase %{.adb:%b.adb}%{.ads:%b.ads}%{!.adb:%{!.ads:%b.ada}}\
    %{c|S:%{o*:-auxbase-strip %*}%{!o*:-auxbase %b}}%{!c:%{!S:-auxbase
%b}} \
    %{O*} %{W*} %{w} %{p} %{pg:-p} %{d*} %{f*}\
    %{coverage:-fprofile-arcs -ftest-coverage} "
   "%{gnatea:-gnatez} %{g*&m*} "
#if defined(TARGET_VXWORKS_RTP)
   "%{fRTS=rtp:-mrtp} %{fRTS=rtp-smp:-mrtp}
%{fRTS=ravenscar-cert-rtp:-mrtp}"
#endif
   "%1 %{!S:%{o*:%w%*-gnatO}} \
    %i %{S:%W{o*}%{!o*:-o %b.s}} \
    %{gnatc*|gnats*: -o %j} %{-param*} \
    %{!gnatc*:%{!gnats*:%(invoke_as)}}", 0, 0, 0},

In contrast to other front ends, “%(cc1_options)” is missing, so
Fedora's approach to hardening flag injection does not work.

Can we just add “%(cc1_options)”, or is there a reason why it is missing?

-- 
Florian Weimer / Red Hat Product Security

Reply via email to