From: Sebastian Huber Date: Thu, 10 Jan 2019 14:05:19 +0000 (+0100) Subject: ld: Clarify --wrap documentation X-Git-Tag: binutils-2_32~71 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=4ea904edb7b04ad526bd8a5401729a6c1f5a982f;p=thirdparty%2Fbinutils-gdb.git ld: Clarify --wrap documentation ld/ * ld.texi (--wrap): Add example to emphasise that only undefined references are replaced by the linker. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index 2c211fe3fef..274f4af998d 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,8 @@ +2019-01-14 Sebastian Huber + + * ld.texi (--wrap): Add example to emphasise that only undefined + references are replaced by the linker. + 2019-01-09 Nick Clifton * po/es.po: Updated Spanish translation. diff --git a/ld/ld.texi b/ld/ld.texi index cc0d220fa00..5179af3e0e1 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, translation unit +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