OpenJDK / bsd-port / jdk9 / hotspot
changeset 7060:32b18c8f19fa
8056039: Hotspot does not compile with clang 3.4 on Linux
Reviewed-by: brutisso, sla
author | mgerdin |
---|---|
date | Tue, 26 Aug 2014 11:53:24 +0200 |
parents | 2b1f46ac5d49 |
children | 452533d0addf |
files | src/os/aix/vm/os_aix.cpp src/os/bsd/vm/os_bsd.cpp src/os/linux/vm/os_linux.cpp src/os/solaris/vm/os_solaris.cpp src/share/vm/utilities/globalDefinitions.hpp src/share/vm/utilities/globalDefinitions_gcc.hpp src/share/vm/utilities/globalDefinitions_sparcWorks.hpp |
diffstat | 7 files changed, 7 insertions(+), 45 deletions(-) [+] |
line wrap: on
line diff
--- a/src/os/aix/vm/os_aix.cpp Wed Sep 10 11:55:33 2014 +0200 +++ b/src/os/aix/vm/os_aix.cpp Tue Aug 26 11:53:24 2014 +0200 @@ -4002,10 +4002,6 @@ return true; } -// int local_vsnprintf(char* buf, size_t count, const char* format, va_list args) { -// return ::vsnprintf(buf, count, format, args); -// } - // Is a (classpath) directory empty? bool os::dir_is_empty(const char* path) { DIR *dir = NULL;
--- a/src/os/bsd/vm/os_bsd.cpp Wed Sep 10 11:55:33 2014 +0200 +++ b/src/os/bsd/vm/os_bsd.cpp Tue Aug 26 11:53:24 2014 +0200 @@ -3797,11 +3797,6 @@ return true; } -ATTRIBUTE_PRINTF(3, 0) -int local_vsnprintf(char* buf, size_t count, const char* format, va_list args) { - return ::vsnprintf(buf, count, format, args); -} - // Is a (classpath) directory empty? bool os::dir_is_empty(const char* path) { DIR *dir = NULL;
--- a/src/os/linux/vm/os_linux.cpp Wed Sep 10 11:55:33 2014 +0200 +++ b/src/os/linux/vm/os_linux.cpp Tue Aug 26 11:53:24 2014 +0200 @@ -5007,10 +5007,6 @@ return true; } -int local_vsnprintf(char* buf, size_t count, const char* format, va_list args) { - return ::vsnprintf(buf, count, format, args); -} - // Is a (classpath) directory empty? bool os::dir_is_empty(const char* path) { DIR *dir = NULL;
--- a/src/os/solaris/vm/os_solaris.cpp Wed Sep 10 11:55:33 2014 +0200 +++ b/src/os/solaris/vm/os_solaris.cpp Tue Aug 26 11:53:24 2014 +0200 @@ -4729,27 +4729,6 @@ bool os::check_heap(bool force) { return true; } -typedef int (*vsnprintf_t)(char* buf, size_t count, const char* fmt, va_list argptr); -static vsnprintf_t sol_vsnprintf = NULL; - -int local_vsnprintf(char* buf, size_t count, const char* fmt, va_list argptr) { - if (!sol_vsnprintf) { - //search for the named symbol in the objects that were loaded after libjvm - void* where = RTLD_NEXT; - if ((sol_vsnprintf = CAST_TO_FN_PTR(vsnprintf_t, dlsym(where, "__vsnprintf"))) == NULL) - sol_vsnprintf = CAST_TO_FN_PTR(vsnprintf_t, dlsym(where, "vsnprintf")); - if (!sol_vsnprintf){ - //search for the named symbol in the objects that were loaded before libjvm - where = RTLD_DEFAULT; - if ((sol_vsnprintf = CAST_TO_FN_PTR(vsnprintf_t, dlsym(where, "__vsnprintf"))) == NULL) - sol_vsnprintf = CAST_TO_FN_PTR(vsnprintf_t, dlsym(where, "vsnprintf")); - assert(sol_vsnprintf != NULL, "vsnprintf not found"); - } - } - return (*sol_vsnprintf)(buf, count, fmt, argptr); -} - - // Is a (classpath) directory empty? bool os::dir_is_empty(const char* path) { DIR *dir = NULL;
--- a/src/share/vm/utilities/globalDefinitions.hpp Wed Sep 10 11:55:33 2014 +0200 +++ b/src/share/vm/utilities/globalDefinitions.hpp Tue Aug 26 11:53:24 2014 +0200 @@ -66,6 +66,9 @@ #ifndef ATTRIBUTE_PRINTF #define ATTRIBUTE_PRINTF(fmt, vargs) #endif +#ifndef ATTRIBUTE_SCANF +#define ATTRIBUTE_SCANF(fmt, vargs) +#endif #include "utilities/macros.hpp"
--- a/src/share/vm/utilities/globalDefinitions_gcc.hpp Wed Sep 10 11:55:33 2014 +0200 +++ b/src/share/vm/utilities/globalDefinitions_gcc.hpp Tue Aug 26 11:53:24 2014 +0200 @@ -271,15 +271,16 @@ #define PRAGMA_IMPLEMENTATION #pragma implementation #define VALUE_OBJ_CLASS_SPEC -#ifndef ATTRIBUTE_PRINTF // Diagnostic pragmas like the ones defined below in PRAGMA_FORMAT_NONLITERAL_IGNORED // were only introduced in GCC 4.2. Because we have no other possibility to ignore // these warnings for older versions of GCC, we simply don't decorate our printf-style // functions with __attribute__(format) in that case. #if ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 2)) || (__GNUC__ > 4) +#ifndef ATTRIBUTE_PRINTF #define ATTRIBUTE_PRINTF(fmt,vargs) __attribute__((format(printf, fmt, vargs))) -#else -#define ATTRIBUTE_PRINTF(fmt,vargs) +#endif +#ifndef ATTRIBUTE_SCANF +#define ATTRIBUTE_SCANF(fmt,vargs) __attribute__((format(scanf, fmt, vargs))) #endif #endif
--- a/src/share/vm/utilities/globalDefinitions_sparcWorks.hpp Wed Sep 10 11:55:33 2014 +0200 +++ b/src/share/vm/utilities/globalDefinitions_sparcWorks.hpp Tue Aug 26 11:53:24 2014 +0200 @@ -265,14 +265,6 @@ inline int wcslen(const jchar* x) { return wcslen((const wchar_t*)x); } - -// Misc -// NOTE: This one leads to an infinite recursion on Linux -#ifndef LINUX -int local_vsnprintf(char* buf, size_t count, const char* fmt, va_list argptr); -#define vsnprintf local_vsnprintf -#endif - // Portability macros #define PRAGMA_INTERFACE #define PRAGMA_IMPLEMENTATION