[PATCH v2] ld: Document -pie -Ttext-segment=ORG generates ET_EXEC
H.J. Lu
hjl.tools@gmail.com
Sat May 25 14:44:59 GMT 2024
This is the v2 patch I am checking in.
H.J.
---
-Ttext-segment=ORG is used to set the address of the first byte of the
text segment to ORG. When -pie is used with -Ttext-segment=ORG, the
output executable is marked ET_EXEC so that the address of the first
byte of the text segment will be guaranteed to be ORG at run-time.
Otherwise, kernel may load ET_DYN executable at some random addresses.
PR ld/31795
* ld.texi: Document -pie -Ttext-segment=ORG generates ET_EXEC.
Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
---
ld/ld.texi | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/ld/ld.texi b/ld/ld.texi
index dd0af8e4f5e..ef3706fa7ac 100644
--- a/ld/ld.texi
+++ b/ld/ld.texi
@@ -2694,7 +2694,10 @@ Same as @option{--section-start}, with @code{.bss}, @code{.data} or
@item -Ttext-segment=@var{org}
@cindex text segment origin, cmd line
When creating an ELF executable, it will set the address of the first
-byte of the text segment.
+byte of the text segment. Note that when @option{-pie} is used with
+@option{-Ttext-segment=@var{org}}, the output executable is marked
+ET_EXEC so that the address of the first byte of the text segment will
+be guaranteed to be @var{org} at run time.
@kindex -Trodata-segment=@var{org}
@item -Trodata-segment=@var{org}
--
2.45.1
More information about the Binutils
mailing list