-
Bug
-
Resolution: Fixed
-
P4
-
18
-
b03
-
x86_64
-
linux
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8273524 | 17.0.2 | Matthias Baesken | P4 | Resolved | Fixed | b01 |
After 8265783: Create a separate library for x86 Intel SVML assembly intrinsics
we run into build errors when older (than 2.25) binutils are used on linux x86_64 .
See https://bugs.openjdk.java.net/browse/JDK-8265783
On an old Ubuntu Linux with binutils 2.24 and gcc-7.3 we noticed this build error :
* For target support_native_jdk.incubator.vector_libsvml_svml_d_acos_linux_x86.o:
svml_d_acos.c: Assembler messages:
svml_d_acos.c:1137: Error: operand type mismatch for `vorpd'
svml_d_acos.c:1138: Error: operand type mismatch for `vandpd'
svml_d_acos.c:1149: Error: operand type mismatch for `vxorpd'
svml_d_acos.c:1155: Error: operand type mismatch for `vorpd'
svml_d_acos.c:1166: Error: operand type mismatch for `vxorpd'
svml_d_acos.c:1191: Error: operand type mismatch for `vorpd'
svml_d_acos.c:1196: Error: operand type mismatch for `vxorpd'
svml_d_acos.c:1199: Error: operand type mismatch for `vorpd'
svml_d_acos.c:1201: Error: operand type mismatch for `vxorpd'
svml_d_acos.c:1205: Error: operand type mismatch for `vxorpd'
No issue has been seen however with gcc-7/gcc-8 and later binutils (e.g. 2.29).
Is there some minimum binutils requirement for this to compile ?
If so, should we check for the binutils version in configure (or is it something else
and not related to binutils) ?
Answer:
Yes this is due to binutils. Minimum required would be binutils 2.25 where AVX512 support was added for Skylake.
So some check for the binutils version might be beneficial (there is already a linker version check in place that could be reused).
we run into build errors when older (than 2.25) binutils are used on linux x86_64 .
See https://bugs.openjdk.java.net/browse/JDK-8265783
On an old Ubuntu Linux with binutils 2.24 and gcc-7.3 we noticed this build error :
* For target support_native_jdk.incubator.vector_libsvml_svml_d_acos_linux_x86.o:
svml_d_acos.c: Assembler messages:
svml_d_acos.c:1137: Error: operand type mismatch for `vorpd'
svml_d_acos.c:1138: Error: operand type mismatch for `vandpd'
svml_d_acos.c:1149: Error: operand type mismatch for `vxorpd'
svml_d_acos.c:1155: Error: operand type mismatch for `vorpd'
svml_d_acos.c:1166: Error: operand type mismatch for `vxorpd'
svml_d_acos.c:1191: Error: operand type mismatch for `vorpd'
svml_d_acos.c:1196: Error: operand type mismatch for `vxorpd'
svml_d_acos.c:1199: Error: operand type mismatch for `vorpd'
svml_d_acos.c:1201: Error: operand type mismatch for `vxorpd'
svml_d_acos.c:1205: Error: operand type mismatch for `vxorpd'
No issue has been seen however with gcc-7/gcc-8 and later binutils (e.g. 2.29).
Is there some minimum binutils requirement for this to compile ?
If so, should we check for the binutils version in configure (or is it something else
and not related to binutils) ?
Answer:
Yes this is due to binutils. Minimum required would be binutils 2.25 where AVX512 support was added for Skylake.
So some check for the binutils version might be beneficial (there is already a linker version check in place that could be reused).
- backported by
-
JDK-8273524 linux x86_64 check for binutils 2.25 or higher after 8265783
-
- Resolved
-
- relates to
-
JDK-8265783 Create a separate library for x86 Intel SVML assembly intrinsics
-
- Resolved
-
- links to
-
Commit openjdk/jdk17u/271403bc
-
Commit openjdk/jdk/18a1dd26
-
Review openjdk/jdk17u/46
-
Review openjdk/jdk/4548
(1 links to)