This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Remove ancient __signbit inlines


On Tue, 26 Sep 2017, Wilco Dijkstra wrote:

> Remove __signbit inlines from mathinline.h.  Math.h already uses
> the builtin when supported, so additional inlines are only used
> on pre 4.0 GCCs.  Similarly remove a few old copysign and fabs
> inlines.

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

In this case, I'd expect compilation testing for at least one 
configuration using each header that is changed (except ColdFire which 
lacks a working glibc build at present), with before-and-after comparison 
of stripped binaries and an explanation if the stripped binaries differed 
in any way.

The patch is OK if it's passed such testing with unchanged stripped 
binaries.

Note that the copysign/fabs inlines removed include ones for __copysign / 
__fabs functions which are *not* inlined by the compiler automatically.  
The removal is still OK given that those inlines wouldn't have been active 
with any compiler version supported for building glibc.  But glibc does 
have internal __fabs* calls that it would make sense to change to call the 
public functions directly so __fabs* inlines are never necessary (and 
internal __copysign* calls that it would make sense to change to call 
copysign* directly so that the inline in 
sysdeps/generic/math_private_calls.h can be removed).  (Changes to call 
fabsl in ldbl-128ibm would need -fno-builtin-fabsl additions to 
sysdeps/powerpc/nofpu/Makefile and both such changes would need powerpc32 
soft-float / e500v1 compilation testing to make sure no ldbl-128ibm 
functions get called internally by double functions resulting in namespace 
issues.  Care would also be needed not to get localplt issues for fabsf128 
or copysignf128 in configurations using float128, as only 
__builtin_fabsf128 / __builtin_copysignf128 get inlined by the compiler.)

-- 
Joseph S. Myers
joseph@codesourcery.com


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]