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

libjvm library not reproducibly comparable between vendors

    XMLWordPrintable

Details

    • b24
    • generic

    Description

      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.

      Attachments

        Issue Links

          Activity

            People

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

              Dates

                Created:
                Updated:
                Resolved: