This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: New gnulib wrappers with glibc 2.21.
- From: Paul Eggert <eggert at cs dot ucla dot edu>
- To: Carlos O'Donell <carlos at redhat dot com>, GNU C Library <libc-alpha at sourceware dot org>
- Date: Tue, 10 Feb 2015 16:00:51 -0800
- Subject: Re: New gnulib wrappers with glibc 2.21.
- Authentication-results: sourceware.org; auth=none
- References: <54D91281 dot 8080203 at redhat dot com>
On 02/09/2015 12:03 PM, Carlos O'Donell wrote:
Would you please help me out by going through the gnulib testing
independently and tell me if you see any wrappers that
are not in the current "Kknown problems" list?
https://sourceware.org/glibc/wiki/Testing/Gnulib
In particular I'm looking to see if you get the same results as I did
above.
I didn't reproduce your results on Fedora 21 x86-64, possibly because
there was trouble with the recipe: the include file <linux/limits.h> was
not found. Also, some of the other directories in the recipe didn't
exist. I eventually got the gnulib directory to build by using this
command:
./configure CC="gcc -Wl,-rpath=$GLIBC_INSTALL_DIR/lib
-Wl,--dynamic-linker=$GLIBC_INSTALL_DIR/lib/ld-linux-x86-64.so.2"
CPPFLAGS="-nostdinc -I`gcc -print-file-name=include-fixed`
-I$GLIBC_INSTALL_DIR/include -I`gcc -print-file-name=include`
-I/usr/include -Wall"
but that trailing "-I/usr/include" looks suspicious. Anyway, I did the
above, and then this:
make
cd gllib
nm -o *.o | sed -n 's/:.* T rpl_.*//p' | uniq
and ignored the .o files listed under "Known problems" in
<https://sourceware.org/glibc/wiki/Testing/Gnulib>, I saw the following
unexpected files:
isnand.o
isnanf.o
isnanl.o
mbrlen.o
mbrtowc.o
The isnan* failures were because glibc isnanl etc. don't consider
pseudo-denormals to be NaNs; see
<https://www.gnu.org/software/gnulib/manual/html_node/isnan.html>. I
don't see a bug report filed for this, perhaps one should be.
The mbrlen and mbrtwoc failures were because of glibc bug 16950 -
mbrtowc on empty buffer returns 0, should return (size_t) -2.
It did, it added:
iconv.o
iconv_open.o
math.o
mbrlen.o
mbrtowc.o
sys_socket.o
unistd.o
wctype-h.o
You didn't get any isnan*.o files. Those bugs are platform-dependent
and perhaps your platform doesn't have the bugs.
You got mbrlen.o and mbrtowc.o, same as me, most likely for the same
reasons.
For the other files you got, I observe this:
$ nm iconv.o iconv_open.o math.o sys_socket.o unistd.o wctype-h.o
nm: 'iconv.o': No such file
nm: 'iconv_open.o': No such file
math.o:
sys_socket.o:
unistd.o:
wctype-h.o:
That is, I didn't get the iconv files (it's not clear why you got them,
but your config.log should tell you why), and the other files define no
symbols so they do not indicate any glibc bugs on my platform (and
gnulib should perhaps be changed to not create those files unless
they're actually needed). You might double-check by running the same
'nm' on your platform.