[RFH]: 8186443: Missing stdint.h for zero builds

John Paul Adrian Glaubitz glaubitz at physik.fu-berlin.de
Fri Aug 18 14:27:54 UTC 2017


Hi!

Zero currently fails to build from source because the definitions from
stdint.h are missing:

In file included from /tmp/glaubitz/hs/hotspot/test/native/runtime/test_vmStructs.cpp:25:0:
/tmp/glaubitz/hs/hotspot/src/share/vm/runtime/vmStructs.hpp:71:3: error: ‘int32_t’ does not name a type
    int32_t isStatic; // Indicates whether following field is an offset or an address
    ^
/tmp/glaubitz/hs/hotspot/src/share/vm/runtime/vmStructs.hpp:72:3: error: ‘uint64_t’ does not name a type
    uint64_t offset; // Offset of field within structure; only used for nonstatic fields
    ^
/tmp/glaubitz/hs/hotspot/src/share/vm/runtime/vmStructs.hpp:81:3: error: ‘int32_t’ does not name a type
    int32_t isOopType; // Does this type represent an oop typedef? (i.e., "Method*" or
    ^
/tmp/glaubitz/hs/hotspot/src/share/vm/runtime/vmStructs.hpp:83:3: error: ‘int32_t’ does not name a type
    int32_t isIntegerType; // Does this type represent an integer type (of arbitrary size)?
    ^
/tmp/glaubitz/hs/hotspot/src/share/vm/runtime/vmStructs.hpp:84:3: error: ‘int32_t’ does not name a type
    int32_t isUnsigned; // If so, is it unsigned?
    ^
/tmp/glaubitz/hs/hotspot/src/share/vm/runtime/vmStructs.hpp:85:3: error: ‘uint64_t’ does not name a type
    uint64_t size; // Size, in bytes, of the type
    ^
/tmp/glaubitz/hs/hotspot/src/share/vm/runtime/vmStructs.hpp:90:3: error: ‘int32_t’ does not name a type
    int32_t value; // Value of constant
    ^
/tmp/glaubitz/hs/hotspot/src/share/vm/runtime/vmStructs.hpp:95:3: error: ‘uint64_t’ does not name a type
    uint64_t value; // Value of constant
    ^

I'm asking for help because I haven't come up with a proper patch yet to fix this particular issue.
It does not affect any of the other CPU targets (tested linux-x86, ppc64el, sparc), so this must
be another case of neglected code.

A work-around is to patch vmStructs.hpp to include stdint.h to fix the problem:

diff -r 9a75c2f7bf06 src/share/vm/runtime/vmStructs.hpp
--- a/src/share/vm/runtime/vmStructs.hpp Wed Aug 16 16:00:15 2017 +0200
+++ b/src/share/vm/runtime/vmStructs.hpp Fri Aug 18 16:13:38 2017 +0200
@@ -25,6 +25,8 @@
  #ifndef SHARE_VM_RUNTIME_VMSTRUCTS_HPP
  #define SHARE_VM_RUNTIME_VMSTRUCTS_HPP
  
+#include <stdint.h>
+
  #include "utilities/debug.hpp"
  #ifdef COMPILER1
  #include "c1/c1_Runtime1.hpp"

But that's obviously not the right fix because that would affect the other CPU targets as well.

Any ideas?

Adrian

-- 
  .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaubitz at debian.org
`. `'   Freie Universitaet Berlin - glaubitz at physik.fu-berlin.de
   `-    GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913


More information about the hotspot-dev mailing list