[PATCH] ld: Document -pie -Ttext-segment=ORG generates ET_EXEC

H.J. Lu hjl.tools@gmail.com
Sat May 25 14:38:29 GMT 2024


-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 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..1f383dd37a4 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 @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