Message ID | ac0488f7-4e2d-94f8-4462-c58ad61e4c87@suse.cz |
---|---|
State | New |
Headers | show |
Series | lto: fix documentation about -fpie and -fpic options | expand |
On Wed, Aug 26, 2020 at 10:13 AM Martin Liška <mliska@suse.cz> wrote: > > Hey. > > We should document how we currently merge pie and pie options > as we fixed PR80838. > > Ready for master? OK. > Thanks, > Martin > > gcc/ChangeLog: > > * doc/invoke.texi: Document how are pie and pic options merged. > --- > gcc/doc/invoke.texi | 17 ++++++++++++++--- > 1 file changed, 14 insertions(+), 3 deletions(-) > > diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi > index 4cf6b204b56..95d3699d1fa 100644 > --- a/gcc/doc/invoke.texi > +++ b/gcc/doc/invoke.texi > @@ -11569,9 +11569,20 @@ There are some code generation flags preserved by GCC when > generating bytecodes, as they need to be used during the final link. > Currently, the following options and their settings are taken from > the first object file that explicitly specifies them: > -@option{-fPIC}, @option{-fpic}, @option{-fpie}, @option{-fcommon}, > -@option{-fexceptions}, @option{-fnon-call-exceptions}, @option{-fgnu-tm} > -and all the @option{-m} target flags. > +@option{-fcommon}, @option{-fexceptions}, @option{-fnon-call-exceptions}, > +@option{-fgnu-tm} and all the @option{-m} target flags. > + > +The following options @option{-fPIC}, @option{-fpic}, @option{-fpie} and > +@option{-fPIE} are combined based on the following scheme: > + > +@smallexample > +@option{-fPIC} + @option{-fpic} = @option{-fpic} > +@option{-fPIC} + @option{-fno-pic} = @option{-fno-pic} > +@option{-fpic/-fPIC} + (no option) = (no option) > +@option{-fPIC} + @option{-fPIE} = @option{-fPIE} > +@option{-fpic} + @option{-fPIE} = @option{-fpie} > +@option{-fPIC/-fpic} + @option{-fpie} = @option{-fpie} > +@end smallexample > > Certain ABI-changing flags are required to match in all compilation units, > and trying to override this at link time with a conflicting value > -- > 2.28.0 >
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi index 4cf6b204b56..95d3699d1fa 100644 --- a/gcc/doc/invoke.texi +++ b/gcc/doc/invoke.texi @@ -11569,9 +11569,20 @@ There are some code generation flags preserved by GCC when generating bytecodes, as they need to be used during the final link. Currently, the following options and their settings are taken from the first object file that explicitly specifies them: -@option{-fPIC}, @option{-fpic}, @option{-fpie}, @option{-fcommon}, -@option{-fexceptions}, @option{-fnon-call-exceptions}, @option{-fgnu-tm} -and all the @option{-m} target flags. +@option{-fcommon}, @option{-fexceptions}, @option{-fnon-call-exceptions}, +@option{-fgnu-tm} and all the @option{-m} target flags. + +The following options @option{-fPIC}, @option{-fpic}, @option{-fpie} and +@option{-fPIE} are combined based on the following scheme: + +@smallexample +@option{-fPIC} + @option{-fpic} = @option{-fpic} +@option{-fPIC} + @option{-fno-pic} = @option{-fno-pic} +@option{-fpic/-fPIC} + (no option) = (no option) +@option{-fPIC} + @option{-fPIE} = @option{-fPIE} +@option{-fpic} + @option{-fPIE} = @option{-fpie} +@option{-fPIC/-fpic} + @option{-fpie} = @option{-fpie} +@end smallexample Certain ABI-changing flags are required to match in all compilation units, and trying to override this at link time with a conflicting value