This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[PATCH] ld: Clarify --wrap documentation
- From: Sebastian Huber <sebastian dot huber at embedded-brains dot de>
- To: binutils at sourceware dot org
- Date: Thu, 10 Jan 2019 15:11:46 +0100
- Subject: [PATCH] ld: Clarify --wrap documentation
ld/
ld.texi (--wrap): Add example to emphasise that only undefined
references are replaced by the linker
---
ld/ld.texi | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/ld/ld.texi b/ld/ld.texi
index cc0d220fa0..03c5581a3b 100644
--- a/ld/ld.texi
+++ b/ld/ld.texi
@@ -2392,6 +2392,25 @@ you should not put the definition of @code{__real_malloc} in the same
file as @code{__wrap_malloc}; if you do, the assembler may resolve the
call before the linker has a chance to wrap it to @code{malloc}.
+Only undefined references are replaced by the linker. So, module internal
+references to @var{symbol} are not resolved to @code{__wrap_@var{symbol}}. In
+the next example, the call to @code{f} in @code{g} is not resolved to
+@code{__wrap_f}.
+
+@smallexample
+int
+f (void)
+@{
+ return 123;
+@}
+
+int
+g (void)
+@{
+ return f();
+@}
+@end smallexample
+
@kindex --eh-frame-hdr
@kindex --no-eh-frame-hdr
@item --eh-frame-hdr
--
2.16.4