From f523aaa039cc0ab59791045a840e4e35f1b1eb24 Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Wed, 26 Aug 2020 10:10:39 +0200 Subject: [PATCH] lto: fix documentation about -fpie and -fpic options 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.30.2