aboutsummaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2020-08-26 10:10:39 +0200
committerMartin Liska <mliska@suse.cz>2020-08-26 13:18:51 +0200
commitf523aaa039cc0ab59791045a840e4e35f1b1eb24 (patch)
tree498edcab26dce79df4034a9fdee3208441204dfe /gcc/doc
parente3684bcbf88b438ca1f0749de8843ddd5b72ad59 (diff)
downloadgcc-f523aaa039cc0ab59791045a840e4e35f1b1eb24.zip
gcc-f523aaa039cc0ab59791045a840e4e35f1b1eb24.tar.gz
gcc-f523aaa039cc0ab59791045a840e4e35f1b1eb24.tar.bz2
lto: fix documentation about -fpie and -fpic options
gcc/ChangeLog: * doc/invoke.texi: Document how are pie and pic options merged.
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/invoke.texi17
1 files changed, 14 insertions, 3 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 4cf6b20..95d3699d 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