On Wed, 20 Jan 2021 04:29:52 GMT, Andrew John Hughes <and...@openjdk.org> wrote:
> The latest GCC fails if -fcf-protection is used with an x86 (32-bit) target > that doesn't support CMOV: > > https://gcc.gnu.org/git/?p=gcc.git;a=blobdiff;f=gcc/config/i386/i386-options.c;h=a70f6edf7b0bfa6994db372c2507dbacb5526646;hp=6819a04238965f0ad63b10323823caa2fb8b147c;hb=77d372abec0fbf2cfe922e3140ee3410248f979e;hpb=5ebdd53534db25401473db5f6a0ad30f41410241 > > At least back to OpenJDK 11, the JDK build forces -march=i586 and the build > fails with '-fcf-protection is not compatible with this target' > > This patch uses -march=i686 instead if -fcf-protection is detected in the > compiler flags. It also makes it clear which is being set in the configure > output, rather than silently setting the flag. This pull request has now been integrated. Changeset: 07851474 Author: Andrew John Hughes <and...@openjdk.org> URL: https://git.openjdk.java.net/jdk/commit/07851474 Stats: 14 lines in 1 file changed: 12 ins; 0 del; 2 mod 8259949: x86 32-bit build fails when -fcf-protection is passed in the compiler flags Use -march=i686 instead of -march=i586 if -fcf-protection is passed to the build as CMOV is required Reviewed-by: erikj ------------- PR: https://git.openjdk.java.net/jdk/pull/2153