[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