[RFC] Fix various compiler warning

Rob Landley rob at landley.net
Mon Nov 3 22:35:47 UTC 2008


On Monday 03 November 2008 10:12:00 Hans-Christian Egtvedt wrote:
> When working on latest trunk today I noticed some compiler warnings
> here and there. Should I just fix them as indicated in patch below?

I'd hold off until after 0.9.30, which should be in the next day or two.  
(Bernhard wants to clear up the "why is ldd executing programs" thing, 
apparently _dl_exit(0) isn't triggering which is just _weird_.  I'm unaware 
of any other pending TODO items for the release...)  Random cleanups right 
before a release have more potential to introduce typos than benefit when so 
little testing time is left...

That said, the patch doesn't look like it would hurt anything.  Your first one 
is just renaming a local variable, total nonissue.  The second one is 
checking a #define that's never #defined anyway.  (I did a find on the entire 
directory, that #if and the corresponding #endif is the only file in the 
whole of uclibc where that symbol occurs.  There's no config entry for it, no 
header contains it, etc.

Then again I've never been quite clear on what symbol versioning does.  I know 
we're not link time compatable with glibc anyway, so I don't understand what 
that code is _for_...

Besides, these aren't the only warnings.  Check the build logs I posted on 
http://uclibc.org/~landley/fwl and you'll see tons.  From armv4l:

libc/sysdeps/linux/arm/posix_fadvise.c: In function '__libc_posix_fadvise':
libc/sysdeps/linux/arm/posix_fadvise.c:20: warning: right shift count >= width 
of type
libc/sysdeps/linux/arm/posix_fadvise.c:20: warning: right shift count >= width 
of type
In file included from libc/misc/time/wcsftime.c:8:
libc/misc/time/time.c:2436:2: warning: #warning wcsftime a  CC 
libc/misc/ttyent/getttyent.os
lways fails
In file included from libc/misc/wctype/wctrans.c:8:
libc/misc/wctype/_wctype.c: In function 'wctrans':
libc/misc/wctype/_wctype.c:916: warning: pointer targets in assignment differ 
in signedness
libc/misc/wctype/_wctype.c:919: warning: pointer targets in passing argument 2 
of 'strcmp' differ in signedness
In file included from libc/misc/wctype/towctrans.c:8:
libc/misc/wctype/_wctype.c:740:2: warning: #warning _tolower is undefined!
libc/misc/wctype/_wctype.c:744:2: warning: #warning _toupper is undefined!
In file included from libc/misc/wctype/wctype.c:8:
libc/misc/wctype/_wctype.c: In function 'wctype':
libc/misc/wctype/_wctype.c:516: warning: pointer targets in passing argument 2 
of 'strcmp' differ in signedness
libc/stdio/popen.c:146:2: warning: #warning is pclose correct wrt the new 
mutex semantics?
libc/stdio/_stdio.c:195:2: warning: #warning check
libc/stdio/__fpending.c:22:2: warning: #warning Note: Unlike the glibc 
version, this __fpending returns bytes in buffer for wide streams too!
In file included from libc/stdio/_vfprintf_internal.c:9:
libc/stdio/_vfprintf.c: In function '_do_one_spec':
libc/stdio/_vfprintf.c:1819: warning: pointer targets in passing argument 1 
of '__stdio_fwrite' differ in signedness
libc/stdio/_vfprintf.c:1829: warning: pointer targets in passing argument 1 
of '__stdio_fwrite' differ in signedness
libc/stdio/_scanf.c: In function 'vfscanf':
libc/stdio/_scanf.c:1194: warning: 'invert' may be used uninitialized in this 
function

There are tons more, I just got tired of copying them.

Plus the big long bit where it calls rm on a bunch of headers for three 
screens full.  (An entire shell script seems to get echoed to stdout right in 
the middle of the build...)

Oh, and install spits out lots of gunk like:

install -d /home/landley/firmware/firmware/build/cross-compiler-armv4l//include
top_builddir=./ \
        ./extra/scripts/install_headers.sh 
include /home/landley/firmware/firmware/build/cross-compiler-armv4l//include

Screens and screens of it, and if you're doing a "make -j 3 install" as your 
build that stuff gets interlaced with the other output...

Rob



More information about the uClibc mailing list