From 96b26b1ee291f96d6d5540966118b3599f8375b4 Mon Sep 17 00:00:00 2001 From: Stacey Marshall Date: Thu, 18 Nov 2021 10:01:47 +0000 Subject: [PATCH] sunos: Oracle Developer Studio support (#3364) Oracle Solaris linker visibility support. Option "-fvisibility=hidden" requires public functions to be defined as "__global". fs_utime_round test failed as timespec.tv_nsec conversion to double resulted in negative number. Skipped this test. Note that it was necessary to compile with C99 language features. --- include/uv.h | 2 ++ test/test-fs.c | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/include/uv.h b/include/uv.h index 77503bde..61a2c546 100644 --- a/include/uv.h +++ b/include/uv.h @@ -43,6 +43,8 @@ extern "C" { /* Building static library. */ # define UV_EXTERN /* nothing */ # endif +#elif defined(__sun) +# define UV_EXTERN __global #elif __GNUC__ >= 4 # define UV_EXTERN __attribute__((visibility("default"))) #else diff --git a/test/test-fs.c b/test/test-fs.c index f2336e1e..5478a290 100644 --- a/test/test-fs.c +++ b/test/test-fs.c @@ -844,7 +844,7 @@ static void check_utime(const char* path, } else { double st_atim; double st_mtim; -#ifndef __APPLE__ +#if !defined(__APPLE__) && !defined(__sun) /* TODO(vtjnash): would it be better to normalize this? */ ASSERT_DOUBLE_GE(s->st_atim.tv_nsec, 0); ASSERT_DOUBLE_GE(s->st_mtim.tv_nsec, 0);