diff options
| -rw-r--r-- | recipes-core/openjdk/openjdk-8-release-172b11-common.inc | 1 | ||||
| -rw-r--r-- | recipes-core/openjdk/patches-openjdk-8/hotspot-handle-gcc7-format-overflow.patch | 25 |
2 files changed, 26 insertions, 0 deletions
diff --git a/recipes-core/openjdk/openjdk-8-release-172b11-common.inc b/recipes-core/openjdk/openjdk-8-release-172b11-common.inc index 0cda4bb..ad20585 100644 --- a/recipes-core/openjdk/openjdk-8-release-172b11-common.inc +++ b/recipes-core/openjdk/openjdk-8-release-172b11-common.inc | |||
| @@ -20,6 +20,7 @@ PATCHES_URI = "\ | |||
| 20 | ${HOTSPOT_UB_PATCH} \ | 20 | ${HOTSPOT_UB_PATCH} \ |
| 21 | ${LIBPNG_NEON_PATCH} \ | 21 | ${LIBPNG_NEON_PATCH} \ |
| 22 | file://handle_extra_output.patch \ | 22 | file://handle_extra_output.patch \ |
| 23 | file://hotspot-handle-gcc7-format-overflow.patch \ | ||
| 23 | " | 24 | " |
| 24 | HOTSPOT_UB_PATCH = "\ | 25 | HOTSPOT_UB_PATCH = "\ |
| 25 | file://0014-hotspot-zero-fix-undefined-behaviour-gcc-v8-fix.patch \ | 26 | file://0014-hotspot-zero-fix-undefined-behaviour-gcc-v8-fix.patch \ |
diff --git a/recipes-core/openjdk/patches-openjdk-8/hotspot-handle-gcc7-format-overflow.patch b/recipes-core/openjdk/patches-openjdk-8/hotspot-handle-gcc7-format-overflow.patch new file mode 100644 index 0000000..83626b3 --- /dev/null +++ b/recipes-core/openjdk/patches-openjdk-8/hotspot-handle-gcc7-format-overflow.patch | |||
| @@ -0,0 +1,25 @@ | |||
| 1 | # HG changeset patch | ||
| 2 | # User Andreas Obergschwandtner <andreas.obergschwandtner@skidata.com> | ||
| 3 | # Date 1537519446 -7200 | ||
| 4 | # Fri Sep 21 10:44:06 2018 +0200 | ||
| 5 | # Node ID 213da2c3ee54a558abd30b0230afa40d4b4e7f83 | ||
| 6 | # Parent 80ee2541504ec08d65da9d968a18a00a69858ce0 | ||
| 7 | Handle format error for GCC >= 7 | ||
| 8 | |||
| 9 | diff --git a/hotspot/src/share/vm/adlc/output_c.cpp b/hotspot/src/share/vm/adlc/output_c.cpp | ||
| 10 | --- a/hotspot/src/share/vm/adlc/output_c.cpp | ||
| 11 | +++ b/hotspot/src/share/vm/adlc/output_c.cpp | ||
| 12 | @@ -436,9 +436,11 @@ | ||
| 13 | for (i = maxcycleused; i > 0; i /= 10) | ||
| 14 | cycledigit++; | ||
| 15 | |||
| 16 | - int maskdigit = 0; | ||
| 17 | - for (i = rescount; i > 0; i /= 10) | ||
| 18 | + int maskdigit = 1; | ||
| 19 | + for (i = rescount / 10; i > 0; i /= 10) | ||
| 20 | maskdigit++; | ||
| 21 | + if (maskdigit > 10) | ||
| 22 | + maskdigit = 10; | ||
| 23 | |||
| 24 | static const char* pipeline_use_cycle_mask = "Pipeline_Use_Cycle_Mask"; | ||
| 25 | static const char* pipeline_use_element = "Pipeline_Use_Element"; | ||
