open() is buggy in recent glibc (was: Koji cannot build openldap)
Jakub Jelinek
jakub at redhat.com
Sat Aug 4 20:14:46 UTC 2007
On Sat, Aug 04, 2007 at 01:36:54PM +0200, Enrico Scholz wrote:
> Jakub Jelinek <jakub at redhat.com> writes:
>
> > It includes <fcntl.h>, which provides open, and POSIX allows
> > functions to be defined as function-like macros. Until recently
> > glibc didn't define open as a function like macro, but in glibc
> > 2.6.90 and later it does when -D_FORTIFY_SOURCE=2, to enforce
> > correct use of open/open64/openat/openat64.
>
> New code seems to be buggy and fails at legitimate use of open()
>
> | fd = open(file, O_RDONLY);
>
> with
>
> | src/vlimit.c: In function 'readFile':
> | src/vlimit.c:280: warning: ISO C forbids empty initializer braces
> | src/vlimit.c:280: error: zero or negative size array '___arr'
> | src/vlimit.c:280: warning: ISO C forbids zero-size array '__open_too_many_args'
> | src/vlimit.c:280: warning: ISO C forbids braced-groups within expressions
>
> http://koji.fedoraproject.org/koji/getfile?taskID=88648&name=build.log
>
>
> Beside the error, it clutters the build with bogus 'ISO C forbids ...'
> warnings.
Should be fixed in glibc CVS, see
http://sources.redhat.com/ml/glibc-cvs/2007-q3/msg00564.html
We just forgot to enclose it into __extension__ (the bits/fcntl2.h
is only ever included when compiling with GCC).
Will build a fixed glibc rpm soonish.
Jakub
More information about the Fedora-maintainers
mailing list