diff --git a/java-1.8.0-openjdk-gcc11.patch b/java-1.8.0-openjdk-gcc11.patch new file mode 100644 index 0000000..2d0820d --- /dev/null +++ b/java-1.8.0-openjdk-gcc11.patch @@ -0,0 +1,74 @@ +diff --git a/openjdk/hotspot/src/share/vm/adlc/adlparse.cpp b/openjdk/hotspot/src/share/vm/adlc/adlparse.cpp +index 31955ff7..6dcd90ac 100644 +--- openjdk/hotspot/src/share/vm/adlc/adlparse.cpp ++++ openjdk/hotspot/src/share/vm/adlc/adlparse.cpp +@@ -4564,7 +4564,7 @@ char *ADLParser::get_paren_expr(const char *description, bool include_location) + // string(still inside the file buffer). Returns a pointer to the string or + // NULL if some other token is found instead. + char *ADLParser::get_ident_common(bool do_preproc) { +- register char c; ++ char c; + char *start; // Pointer to start of token + char *end; // Pointer to end of token + +@@ -4762,7 +4762,7 @@ char *ADLParser::get_unique_ident(FormDict& dict, const char* nameDescription){ + // invokes a parse_err if the next token is not an integer. + // This routine does not leave the integer null-terminated. + int ADLParser::get_int(void) { +- register char c; ++ char c; + char *start; // Pointer to start of token + char *end; // Pointer to end of token + int result; // Storage for integer result +diff --git a/openjdk/hotspot/src/share/vm/adlc/arena.cpp b/openjdk/hotspot/src/share/vm/adlc/arena.cpp +index d7e4fc6e..406187ae 100644 +--- openjdk/hotspot/src/share/vm/adlc/arena.cpp ++++ openjdk/hotspot/src/share/vm/adlc/arena.cpp +@@ -79,7 +79,7 @@ Arena::Arena( Arena *a ) + // Total of all Chunks in arena + size_t Arena::used() const { + size_t sum = _chunk->_len - (_max-_hwm); // Size leftover in this Chunk +- register Chunk *k = _first; ++ Chunk *k = _first; + while( k != _chunk) { // Whilst have Chunks in a row + sum += k->_len; // Total size of this Chunk + k = k->_next; // Bump along to next Chunk +@@ -93,7 +93,7 @@ void* Arena::grow( size_t x ) { + // Get minimal required size. Either real big, or even bigger for giant objs + size_t len = max(x, Chunk::size); + +- register Chunk *k = _chunk; // Get filled-up chunk address ++ Chunk *k = _chunk; // Get filled-up chunk address + _chunk = new (len) Chunk(len); + + if( k ) k->_next = _chunk; // Append new chunk to end of linked list +diff --git a/openjdk/hotspot/src/share/vm/adlc/dict2.cpp b/openjdk/hotspot/src/share/vm/adlc/dict2.cpp +index f341a2b6..2dc60b25 100644 +--- openjdk/hotspot/src/share/vm/adlc/dict2.cpp ++++ openjdk/hotspot/src/share/vm/adlc/dict2.cpp +@@ -283,9 +283,9 @@ void Dict::print(PrintKeyOrValue print_key, PrintKeyOrValue print_value) { + // limited to MAXID characters in length. Experimental evidence on 150K of + // C text shows excellent spreading of values for any size hash table. + int hashstr(const void *t) { +- register char c, k = 0; +- register int sum = 0; +- register const char *s = (const char *)t; ++ char c, k = 0; ++ int sum = 0; ++ const char *s = (const char *)t; + + while (((c = s[k]) != '\0') && (k < MAXID-1)) { // Get characters till nul + c = (char) ((c << 1) + 1); // Characters are always odd! +diff --git a/openjdk/hotspot/src/share/vm/adlc/main.cpp b/openjdk/hotspot/src/share/vm/adlc/main.cpp +index 52044f12..40bcda74 100644 +--- openjdk/hotspot/src/share/vm/adlc/main.cpp ++++ openjdk/hotspot/src/share/vm/adlc/main.cpp +@@ -58,7 +58,7 @@ int main(int argc, char *argv[]) + + // Read command line arguments and file names + for( int i = 1; i < argc; i++ ) { // For all arguments +- register char *s = argv[i]; // Get option/filename ++ char *s = argv[i]; // Get option/filename + + if( *s++ == '-' ) { // It's a flag? (not a filename) + if( !*s ) { // Stand-alone `-' means stdin diff --git a/java-1.8.0-openjdk.spec b/java-1.8.0-openjdk.spec index bfbb066..ee762e5 100644 --- a/java-1.8.0-openjdk.spec +++ b/java-1.8.0-openjdk.spec @@ -260,7 +260,7 @@ %global updatever %(VERSION=%{whole_update}; echo ${VERSION##*u}) # eg jdk8u60-b27 -> b27 %global buildver %(VERSION=%{version_tag}; echo ${VERSION##*-}) -%global rpmrelease 0 +%global rpmrelease 1 # Define milestone (EA for pre-releases, GA ("fcs") for releases) # Release will be (where N is usually a number starting at 1): # - 0.N%%{?extraver}%%{?dist} for EA releases, @@ -1294,6 +1294,8 @@ Patch401: pr3655-toggle_system_crypto_policy.patch # JDK-8218811: replace open by os::open in hotspot coding # This fixes a GCC 10 build issue Patch111: jdk8218811-perfMemory_linux.patch +# Similar for GCC 11 +Patch112: %{name}-gcc11.patch ############################################# # @@ -1724,6 +1726,7 @@ sh %{SOURCE12} %patch575 %patch577 %patch111 +%patch112 %patch13 # RPM-only fixes @@ -2406,6 +2409,9 @@ require "copy_jdk_configs.lua" %endif %changelog +* Sat Oct 31 2020 Jeff Law - 1:1.8.0.272.b10-1 +- Avoid "register" for C++17 + * Sat Oct 17 2020 Andrew Hughes - 1:1.8.0.272.b10-0 - Update to aarch64-shenandoah-jdk8u272-b10. - Switch to GA mode for final release.