changeset 9474:782f3b88b5ba default tip

8267545: [8u] Enable Xcode 12 builds on macOS Summary: Makefile and source code patches to enable Xcode 12 builds Reviewed-by: simonis, andrew Contributed-by: benty@amazon.com, hohensee@amazon.com
author phh
date Wed, 09 Jun 2021 21:45:47 +0000
parents f5e5d3ac66a0
children
files make/bsd/makefiles/gcc.make make/bsd/makefiles/jsig.make src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp src/share/vm/utilities/ostream.cpp
diffstat 4 files changed, 18 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/make/bsd/makefiles/gcc.make	Tue Jun 01 05:34:18 2021 +0100
+++ b/make/bsd/makefiles/gcc.make	Wed Jun 09 21:45:47 2021 +0000
@@ -362,7 +362,15 @@
 # Linker flags
 
 # statically link libstdc++.so, work with gcc but ignored by g++
-STATIC_STDCXX = -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
+ifeq ($(OS_VENDOR), Darwin)
+  ifeq ($(USE_CLANG), true)
+    STATIC_STDCXX = -Wl,-Bstatic -lc++ -Wl,-Bdynamic
+  else
+    STATIC_STDCXX = -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
+  endif
+else
+  STATIC_STDCXX = -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic
+endif
 
 ifeq ($(USE_CLANG),)
   # statically link libgcc and/or libgcc_s, libgcc does not exist before gcc-3.x.
--- a/make/bsd/makefiles/jsig.make	Tue Jun 01 05:34:18 2021 +0100
+++ b/make/bsd/makefiles/jsig.make	Wed Jun 09 21:45:47 2021 +0000
@@ -54,6 +54,11 @@
 
 LFLAGS_JSIG += -D_GNU_SOURCE -pthread $(LDFLAGS_HASH_STYLE) $(EXTRA_LDFLAGS)
 
+ifeq ($(OS_VENDOR), Darwin)
+# bring in minimum version argument or we'll fail on OSX 10.10
+LFLAGS_JSIG += $(LFLAGS)
+endif
+
 # DEBUG_BINARIES overrides everything, use full -g debug information
 ifeq ($(DEBUG_BINARIES), true)
   JSIG_DEBUG_CFLAGS = -g
--- a/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp	Tue Jun 01 05:34:18 2021 +0100
+++ b/src/os_cpu/bsd_x86/vm/os_bsd_x86.cpp	Wed Jun 09 21:45:47 2021 +0000
@@ -846,7 +846,7 @@
   *size = pthread_get_stacksize_np(self);
   // workaround for OS X 10.9.0 (Mavericks)
   // pthread_get_stacksize_np returns 128 pages even though the actual size is 2048 pages
-  if (pthread_main_np() == 1) {
+  if (::pthread_main_np() == 1) {
     if ((*size) < (DEFAULT_MAIN_THREAD_STACK_PAGES * (size_t)getpagesize())) {
       char kern_osrelease[256];
       size_t kern_osrelease_size = sizeof(kern_osrelease);
--- a/src/share/vm/utilities/ostream.cpp	Tue Jun 01 05:34:18 2021 +0100
+++ b/src/share/vm/utilities/ostream.cpp	Wed Jun 09 21:45:47 2021 +0000
@@ -673,7 +673,10 @@
 static int vsnprintf_wrapper(char* buf, size_t len, const char* fmt, ...) {
   va_list args;
   va_start(args, fmt);
+PRAGMA_DIAG_PUSH
+PRAGMA_FORMAT_NONLITERAL_IGNORED_INTERNAL
   int result = os::vsnprintf(buf, len, fmt, args);
+PRAGMA_DIAG_POP
   va_end(args);
   return result;
 }