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: New gnulib wrappers with glibc 2.21.


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.


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