]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
PR19871, description of --pie
authorAlan Modra <amodra@gmail.com>
Thu, 29 Feb 2024 22:30:27 +0000 (09:00 +1030)
committerAlan Modra <amodra@gmail.com>
Thu, 29 Feb 2024 22:52:32 +0000 (09:22 +1030)
Say why we even mention shared libraries here (ET_DYN), and clarify
symbol resolution.  There are of course many other ways that PIEs
resemble PDEs more closely than shared libraries.

PR 19871
* ld.texi (-pie): Clarify.

ld/ld.texi

index 3cba778c9fbca1e92edd502d023639cbd7759f7a..6f234752278404defbc4165281785fe068e4de71 100644 (file)
@@ -2298,12 +2298,13 @@ the i386 PE and ELF targetted ports of the linker.
 @item -pie
 @itemx --pic-executable
 @cindex position independent executables
-Create a position independent executable.  This is currently only supported on
-ELF platforms.  Position independent executables are similar to shared
-libraries in that they are relocated by the dynamic linker to the virtual
-address the OS chooses for them (which can vary between invocations).  Like
-normal dynamically linked executables they can be executed and symbols
-defined in the executable cannot be overridden by shared libraries.
+Create a position independent executable.  This is currently only
+supported on ELF platforms.  Position independent executables are
+relocated by the dynamic linker to the virtual address the OS chooses
+for them, which can vary between invocations.  They are marked ET_DYN
+in the ELF file header, but differ from shared libraries in a number
+of ways.  In particular, defined symbols in a PIE by default can not
+be overridden by another object as they can be in a shared library.
 
 @kindex -no-pie
 @item -no-pie