Bug 5287 - FreeBSD pre10 compilation warnings report
FreeBSD pre10 compilation warnings report
Status: CLOSED WONTFIX
Product: rsync
Classification: Unclassified
Component: core
3.0.0
x86 FreeBSD
: P3 minor
: ---
Assigned To: Wayne Davison
Rsync QA Contact
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2008-02-27 13:22 UTC by hoffa
Modified: 2008-07-26 10:32 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description hoffa 2008-02-27 13:22:47 UTC
rsync typically configures and compiles very cleanly.
This is an FYI for anyone that may like to tidy up
any valid issues before the release of 3.0.0.

FreeBSD RELENG_4
untar 3.0.0pre10
./configure
yields these arguments
gcc -I. -I. -g -O2 -DHAVE_CONFIG_H -Wall -W -I./popt -c <.c> -o <.o>
make

rsync.c: In function `read_ndx_and_attrs':
rsync.c:213: warning: `flist' might be used uninitialized in this function
rsync.c: In function `set_file_attrs':
rsync.c:343: warning: unused parameter `fnamecmp'
generator.c: In function `delete_item':
generator.c:212: warning: `desc' might be used uninitialized in this function
generator.c: In function `unchanged_attrs':
generator.c:555: warning: unused parameter `fname'
generator.c: In function `itemize':
generator.c:597: warning: unused parameter `fnamecmp'
generator.c: In function `try_dests_non':
generator.c:1021: warning: `type' might be used uninitialized in this function
sender.c: In function `write_ndx_and_attrs':
sender.c:150: warning: unused parameter `fname'
sender.c:150: warning: unused parameter `file'
io.c: In function `mplex_write':
io.c:468: warning: unused parameter `convert'
uidlist.c: In function `match_uid':
uidlist.c:210: warning: comparison between signed and unsigned
uidlist.c: In function `match_gid':
uidlist.c:222: warning: comparison between signed and unsigned
uidlist.c:226: warning: comparison between signed and unsigned
uidlist.c: In function `add_uid':
uidlist.c:249: warning: comparison between signed and unsigned
uidlist.c: In function `add_gid':
uidlist.c:267: warning: comparison between signed and unsigned
Comment 1 Wayne Davison 2008-02-28 16:29:03 UTC
The "might be used uninitialized" warnings are because your gcc is not understanding that exit_cleanup() does not return.  If your gcc is <= 2, then the NORETURN modifier won't be defined, and you'd see those warnings.  If you want to verify this, it might help to tweak the following define in rsync.h to add an exit(42) call at the end (separated by a comma, not a semicolon):

#define exit_cleanup(code) _exit_cleanup(code, __FILE__, __LINE__), exit(42)

The unused parameter warnings are because you don't have ACL and xattr support enabled.  I'm not inclined to try to silence those at the moment.  (I might do so eventually.)

The "comparison between signed and unsigned" warnings have already been fixed in the dev version (in the git repository and nighty tar files).

Thanks for testing!
Comment 2 Wayne Davison 2008-03-17 12:00:43 UTC
As I alluded to in my prior comment, I did some work to silence the "unused parameter" warnings.  They should be gone on any compiler that supports the -Wno-unused-parameter option (i.e. modern gcc versions).  That flag is added anytime one of the larger features is disabled (ACLs, xattrs, iconv), but is not added when doing a fullly-enabled build.

So, the only remaining warnings should be the "might be used uninitialized" warnings, and those would also go away with a more modern gcc.