[binutils-gdb] PR19871, description of --pie
Alan Modra
amodra@sourceware.org
Thu Feb 29 22:57:45 GMT 2024
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=d5c5b27095e3ba5bf589ee3ecf1d22c7ba9212ab
commit d5c5b27095e3ba5bf589ee3ecf1d22c7ba9212ab
Author: Alan Modra <amodra@gmail.com>
Date: Fri Mar 1 09:00:27 2024 +1030
PR19871, description of --pie
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.
Diff:
---
ld/ld.texi | 13 +++++++------
1 file changed, 7 insertions(+), 6 deletions(-)
diff --git a/ld/ld.texi b/ld/ld.texi
index 3cba778c9fb..6f234752278 100644
--- a/ld/ld.texi
+++ b/ld/ld.texi
@@ -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
More information about the Binutils-cvs
mailing list