Compiling a 64-bit gdb 7.7 on Solaris (8 to 11) with gcc fails in bfd: cc1: warnings being treated as errors /vol/src/gnu/gdb/gdb-7.7/bfd/cache.c: In function 'bfd_cache_max_open': /vol/src/gnu/gdb/gdb-7.7/bfd/cache.c:85: error: comparison between signed and unsigned integer expressions This is about && rlim.rlim_cur != RLIM_INFINITY) where has typedef unsigned long rlim_t; #define RLIM_INFINITY (-3l) While I've raised the issue with Oracle, the problem can easily be avoided by casting RLIM_INFINITY to rlim_t, as the following patch does. Ok for mainline? Rainer 2014-02-06 Rainer Orth * cache.c (bfd_cache_max_open): Case RLIM_INFINITY to rlim_t.