Definition of __USE_MISC?

Florian Weimer fweimer@redhat.com
Thu Oct 5 09:50:00 GMT 2017


On 10/05/2017 08:07 AM, Sebastian Huber wrote:
> Hello,
> 
> according to the comment in features.h we have:
> 
> __USE_MISC        Define things from 4.3BSD or System V Unix.
> 
> What about interfaces that are present on newer BSD systems by default, 
> e.g. we have in glibc strings.h:
> 
> /* The following two functions are non-standard but necessary for non-32 
> bit
>     platforms.  */
> # ifdef    __USE_GNU
> extern int ffsl (long int __l) __THROW __attribute_const__;
> __extension__ extern int ffsll (long long int __ll)
>       __THROW __attribute_const__;
> # endif
> 
> In FreeBSD strings.h we have:
> 
> #if __BSD_VISIBLE
> int     ffsl(long) __pure2;
> int     ffsll(long long) __pure2;
> int     fls(int) __pure2;
> int     flsl(long) __pure2;
> int     flsll(long long) __pure2;
> #endif
> 
> Would it be possible to change the guard in glibc to __USE_MISC?

Yes, it should be a simple change.  I was worried about the long long 
part initially, but we have precedent for using long long under 
__USE_MISC (strtouq in <stdlib.h>).

Patch attached.

Thanks,
Florian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: ffsl.patch
Type: text/x-patch
Size: 669 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/libc-alpha/attachments/20171005/37e6aee5/attachment.bin>


More information about the Libc-alpha mailing list