[PATCH] Remove ancient __signbit inlines

Wilco Dijkstra Wilco.Dijkstra@arm.com
Wed Sep 27 12:32:00 GMT 2017


Joseph Myers wrote:

> When submitting a patch, please always include a description of how it was 
> tested.

So far I've tested it on AArch64. This particular patch is trivially proven to
not affect the GLIBC binaries due to (a) only removing code guarded by
__GNUC_PREREQ with an older version than the minimum required for
building GLIBC, and (b) removing inlines that are not used inside GLIBC.

For the __fabs and __copysign inlines (a) applies.
For the __signbit inlines (b) applies, and in many cases (a) as well.

I'll try setting up the build many GLIBC script to ensure there is no trivial edit
mistake like unmatched #endif. 

> Note that the copysign/fabs inlines removed include ones for __copysign / 
> __fabs functions which are *not* inlined by the compiler automatically.

Yes I've noticed there are still a few calls to __fabs, I'll fix those in a seperate
path. Any remaining __fabs inlines can be removed too (I'll try to avoid 
float128 changes as it appears quite complex).

Renaming __copysign is possible too, but given that one is already inlined,
it seems best to first enable inlining for all simple math functions (round, rint,
ceil etc). I'll do this like sqrt so it works on all targets without requiring target
specific inlines. Hopefully we can get rid of all target math inlines this release!

Wilco


More information about the Libc-alpha mailing list