blocking incompatible flags
Peter S. Mazinger
ps.m@gmx.net
Mon Nov 15 09:31:00 GMT 2004
Hello!
Proposed blocking flags to add to cc1_options:
as discussed earlier (related to pie patches) this is my new proposed
version.
I know there were objections to mix compile time flags w/ linker flags
There are 2 ways out of this:
1. leave them out (fno-PIC|fno-pic|fPIE|fpie)
2. those who want to choose 1. before deciding so, please reconfigure your
own specs file by adding
%{shared:-fPIE} (or %{shared: -fno-PIC} to cc1 and rebuild your system
If you were right, then all the builds have to succeed (and will, if the
libs are built all the time in 2 steps, first compiling and after that
linking, then the 2 flags won't disturb each other)
Successful build means libraries w/o text relocations.
The above combination will produce faulty libs, if compiling and linking
is done in one step.
If you don't end up w/ text relocations in the libs then I was wrong and
the compiler flags do not have to be added.
No ChangeLog entry until I know what will really be added.
Please CC to me
Thanks, Peter
--
Peter S. Mazinger <ps dot m at gmx dot net> ID: 0xA5F059F2
Key fingerprint = 92A4 31E1 56BC 3D5A 2D08 BB6E C389 975E A5F0 59F2
-------------- next part --------------
--- gcc/gcc.c.mps Sun Nov 14 21:10:35 2004
+++ gcc/gcc.c Sun Nov 14 21:43:17 2004
@@ -794,6 +794,8 @@
/* NB: This is shared amongst all front-ends. */
static const char *cc1_options =
"%{pg:%{fomit-frame-pointer:%e-pg and -fomit-frame-pointer are incompatible}}\
+ %{shared:%{static|pie|fPIE|fpie|fno-PIC|fno-pic:%e-shared and -static|pie|fPIE|fpie|fno-PIC|fno-pic are incompatible}}\
+ %{pie:%{static|pg|p|profile:%e-pie and -static|pg|p|profile are incompatible}}\
%1 %{!Q:-quiet} -dumpbase %B %{d*} %{m*} %{a*}\
%{c|S:%{o*:-auxbase-strip %*}%{!o*:-auxbase %b}}%{!c:%{!S:-auxbase %b}}\
%{g*} %{O*} %{W*&pedantic*} %{w} %{std*&ansi}\
More information about the Gcc-patches
mailing list