OpenJDK 6 build 14 source posted

Andrew Haley aph at redhat.com
Thu Dec 4 11:39:43 UTC 2008


Martin Buchholz wrote:
> On Wed, Dec 3, 2008 at 11:38, Joe Darcy <Joe.Darcy at sun.com> wrote:
>> The source bundle for OpenJDK 6 build 14 is available for download from:
>>
>>    http://download.java.net/openjdk/jdk6/
> 
> The new Hotspot 11 failed to compile on a modified 64-bit (debian arch=amd64)
> Ubuntu dapper system as follows:
> 
> cc1plus: warnings being treated as errors
> /usr/local/google/home/martin/ws/buildAllOpenJDK6/hotspot/src/share/vm/utilities/ostream.cpp:
> In member function 'bool networkStream::connect(const char*, short
> int)':
> /usr/local/google/home/martin/ws/buildAllOpenJDK6/hotspot/src/share/vm/utilities/ostream.cpp:835:
> warning: comparison is always false due to limited range of data type
> 
> 32-bit systems are unaffected (not sure why).

It's a bug.  The code is basically this:


#include <stdint.h>

typedef uint32_t in_addr_t;
in_addr_t s_addr;

int pp ()
{
  return (s_addr == (unsigned long)-1);
}


Promoting -1 to unsigned long on an LP64 machine gives
0xffffffffffffffff, which won't fit in an in_addr_t.

Another weird corner case in C: 6.3.1.3 para 2.

Andrew.



More information about the build-dev mailing list