-
Type:
Enhancement
-
Resolution: Fixed
-
Priority:
P3
-
Affects Version/s: hs24, hs25
-
Component/s: hotspot
-
b11
| Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
|---|---|---|---|---|---|---|
| JDK-8004522 | 8 | David Holmes | P3 | Closed | Fixed | b67 |
| JDK-8017842 | 7u45 | David Holmes | P3 | Closed | Fixed | b01 |
| JDK-8004385 | 7u40 | David Holmes | P3 | Closed | Fixed | b04 |
| JDK-8004090 | hs24 | David Holmes | P3 | Closed | Fixed | master |
Abstract_VM_Version::internal_vm_info_string allows the version string to contain an optional FLOAT_ARCH component that can be set externally by invoking the compiler with -DFLOAT_ARCH=...
At present the code assumes/requires that FLOAT_ARCH is set to a string literal, hence in normal invocation you would have to invoke the compiler as:
gcc -DFLOAT_ARCH='"my-float-arch"'
However if the compiler is invoked by a makefile, and you try to set this via a make variable, or even by a shell variable that invokes make from a script, then you need to use multiple levels of "escape" characters to ensure that the final result is a string literal. This is impractical in general.
A simpler solution is to change Abstract_VM_Version::internal_vm_info_string to not expect a string literal and to stringify it using the XSTR macro (already used elsewhere in the VM_version code).
At present the code assumes/requires that FLOAT_ARCH is set to a string literal, hence in normal invocation you would have to invoke the compiler as:
gcc -DFLOAT_ARCH='"my-float-arch"'
However if the compiler is invoked by a makefile, and you try to set this via a make variable, or even by a shell variable that invokes make from a script, then you need to use multiple levels of "escape" characters to ensure that the final result is a string literal. This is impractical in general.
A simpler solution is to change Abstract_VM_Version::internal_vm_info_string to not expect a string literal and to stringify it using the XSTR macro (already used elsewhere in the VM_version code).
- backported by
-
JDK-8004090 Abstract_VM_Version::internal_vm_info_string needs to stringify FLOAT_ARCH for ease of use
-
- Closed
-
-
JDK-8004385 Abstract_VM_Version::internal_vm_info_string needs to stringify FLOAT_ARCH for ease of use
-
- Closed
-
-
JDK-8004522 Abstract_VM_Version::internal_vm_info_string needs to stringify FLOAT_ARCH for ease of use
-
- Closed
-
-
JDK-8017842 Abstract_VM_Version::internal_vm_info_string needs to stringify FLOAT_ARCH for ease of use
-
- Closed
-