[PATCH] In _IEEE_LIBM mode, use weak symbols instead of wrapper funcs [v3]
Craig Howland
howland@LGSInnovations.com
Fri Sep 21 20:29:00 GMT 2018
On 09/21/2018 03:53 PM, Keith Packard wrote:
> When the math library is compiled to just use bare IEEE_LIBM mode, many
> public functions are just wrappers around the __ieee754 version.
> Eliminate the extra function by creating a weak alias symbol for the
> public name directly from the ieee754 name.
>
> v2:
> Use __weak_reference macro instead of using
> '__attribute__((weak, alias' to make this code portable
> to non-ELF systems.
>
> v3:
> Use __strong_reference macro instead of __weak_reference to
> avoid changing the symbol in the resulting library. Make the
> use of this and the un-definition of the wrapper functions
> conditional on both the definition of _IEEE_LIBM and
> __strong_reference so that systems without the latter will
> still compile the wrapper functions and work properly.
I don't see anything which makes the definition of __strong_reference dependent
upon target. In sys/cdefs.h it is only dependent upon __GNUC__.
More information about the Newlib
mailing list