[Pkg-samba-maint] Bug#812264: What's going on here
Roderich Schupp
roderich.schupp at gmail.com
Wed Apr 6 11:56:20 UTC 2016
FYI, this FTBFS is only accidentally caused by GCC 6:
- the linker complains that tolower() is implemented in serveral object
files
- in /usr/include/ctype.h (line ~216) we find
__extern_inline int
__NTH (tolower (int __c))
{
return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c;
}
- __extern_inline is defined as (/usr/include/x86_64-linux-gnu/sys/cdefs.h,
line 333)
#define __extern_inline extern __inline __attribute__ ((__gnu_inline__))
- this definition would NOT cause tolower() to be compiled into any object
files, but if we
look at the preprocessed source4/heimdal/lib/roken/vis.c, we see that the
above lines
from ctype.h come out as
extern __inline int
__attribute__ ((__nothrow__ , __leaf__)) tolower (int __c)
{
return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c;
}
i.e. " __attribute__ ((__gnu_inline__))" is missing
- the reason is that source4/heimdal/lib/roken/roken-common.h (line 275) has
#ifndef HAVE___ATTRIBUTE__
#define __attribute__(x)
#endif
i.e. it #define's __attribute__ away and that is caused by
(source4/heimdal_build/roken.h, line 143):
#if (__GNUC__ >= 3) && (__GNUC_MINOR__ >= 1 )
#ifndef HAVE___ATTRIBUTE__
#define HAVE___ATTRIBUTE__
#endif
#endif
- accidentally GCC 6 is still at 6.0, hence __GNUC_MINOR__=0, so
HAVE___ATTRIBUTE__ doesn't get #defined;
it works with current GCC 5 in unstable as its version is 5.1.x
My guess is that the author of the above lines really meant "gcc since
3.1". Patch attached.
Cheers, Roderich
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/pkg-samba-maint/attachments/20160406/1530fcd6/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fix-roken-gcc-check.patch
Type: text/x-patch
Size: 531 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-samba-maint/attachments/20160406/1530fcd6/attachment-0001.bin>
More information about the Pkg-samba-maint
mailing list