Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8308407

libjvm library not reproducibly comparable between vendors

XMLWordPrintable

    • b24
    • generic

      When two different vendors build the identical openjdk source with their separate vendor string branding, the libjvm.so/jvm.dll is not comparable by simply redacting the Vendor string. The reason for this is because abstract_vm_version.obj has a variable length C const string depending on the vendor string length, which results in non-deterministic padding and object offsets.

      By ensuring the vm_vendor static C const string is always padded, the libjvm library can be made "comparable".

      The VENDOR name is the only vendor branding string that gets used by libjvm. The other vendor strings, vendor-url, vendor-bug-url and vendor-vm-bug-url, are only used within VersionProps.java, which can be deterministically compared.

            aleonard Andrew Leonard
            aleonard Andrew Leonard
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: