[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
get-rusage-data: avoid warnings on Mac OS X
From: |
Bruno Haible |
Subject: |
get-rusage-data: avoid warnings on Mac OS X |
Date: |
Sat, 22 Apr 2017 14:59:25 +0200 |
User-agent: |
KMail/5.1.3 (Linux/4.4.0-72-generic; KDE/5.18.0; x86_64; ; ) |
On Mac OS X, with CPPFLAGS=-Wall, I'm seeing these warnings:
get-rusage-data.c:230:30: warning: 'sbrk' is deprecated
[-Wdeprecated-declarations]
void *new_page = sbrk (pagesize);
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/unistd.h:587:7:
note: 'sbrk' has been explicitly marked deprecated here
void *sbrk(int);
^
get-rusage-data.c:235:17: warning: 'sbrk' is deprecated
[-Wdeprecated-declarations]
sbrk (- pagesize);
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/unistd.h:587:7:
note: 'sbrk' has been explicitly marked deprecated here
void *sbrk(int);
^
get-rusage-data.c:274:30: warning: 'sbrk' is deprecated
[-Wdeprecated-declarations]
void *new_page = sbrk (pagesize);
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/unistd.h:587:7:
note: 'sbrk' has been explicitly marked deprecated here
void *sbrk(int);
^
get-rusage-data.c:279:17: warning: 'sbrk' is deprecated
[-Wdeprecated-declarations]
sbrk (- pagesize);
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/unistd.h:587:7:
note: 'sbrk' has been explicitly marked deprecated here
void *sbrk(int);
^
get-rusage-data.c:363:15: warning: 'sbrk' is deprecated
[-Wdeprecated-declarations]
brk_value = sbrk (0);
^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/unistd.h:587:7:
note: 'sbrk' has been explicitly marked deprecated here
void *sbrk(int);
^
This fixes it.
2017-04-22 Bruno Haible <address@hidden>
get-rusage-data: Avoid warnings on Mac OS X.
* lib/get-rusage-data.c: On Mac OS X, don't define
get_rusage_data_via_setrlimit nor get_rusage_data_via_iterator.
(get_rusage_data) [Mac OS X]: Just return 0.
diff --git a/lib/get-rusage-data.c b/lib/get-rusage-data.c
index 62293ad..1fc8202 100644
--- a/lib/get-rusage-data.c
+++ b/lib/get-rusage-data.c
@@ -148,13 +148,16 @@
#include "vma-iter.h"
-#if HAVE_SETRLIMIT && defined RLIMIT_DATA
+#if !(defined __APPLE__ && defined __MACH__) || defined TEST
+/* Implement get_rusage_data_via_setrlimit(). */
-# ifdef _AIX
-# define errno_expected() (errno == EINVAL || errno == EFAULT)
-# else
-# define errno_expected() (errno == EINVAL)
-# endif
+# if HAVE_SETRLIMIT && defined RLIMIT_DATA
+
+# ifdef _AIX
+# define errno_expected() (errno == EINVAL || errno == EFAULT)
+# else
+# define errno_expected() (errno == EINVAL)
+# endif
static uintptr_t
get_rusage_data_via_setrlimit (void)
@@ -163,7 +166,7 @@ get_rusage_data_via_setrlimit (void)
struct rlimit orig_limit;
-# ifdef __hpux
+# ifdef __hpux
/* On HP-UX 11.00, setrlimit() RLIMIT_DATA of does not work: It cannot
restore the previous limits.
On HP-UX 11.11, setrlimit() RLIMIT_DATA of does not work: It sometimes
@@ -177,7 +180,7 @@ get_rusage_data_via_setrlimit (void)
|| strcmp (buf.release + strlen (buf.release) - 5, "11.11") == 0))
return 0;
}
-# endif
+# endif
/* Record the original limit. */
if (getrlimit (RLIMIT_DATA, &orig_limit) < 0)
@@ -310,7 +313,7 @@ get_rusage_data_via_setrlimit (void)
return result;
}
-#else
+# else
static uintptr_t
get_rusage_data_via_setrlimit (void)
@@ -318,10 +321,15 @@ get_rusage_data_via_setrlimit (void)
return 0;
}
+# endif
+
#endif
-#if VMA_ITERATE_SUPPORTED
+#if !(defined __APPLE__ && defined __MACH__) || defined TEST
+/* Implement get_rusage_data_via_iterator(). */
+
+# if VMA_ITERATE_SUPPORTED
struct locals
{
@@ -346,7 +354,7 @@ vma_iterate_callback (void *data, uintptr_t start,
uintptr_t end,
static uintptr_t
get_rusage_data_via_iterator (void)
{
-# if ((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) || defined
__BEOS__ || defined __HAIKU__
+# if ((defined _WIN32 || defined __WIN32__) && !defined __CYGWIN__) ||
defined __BEOS__ || defined __HAIKU__
/* On native Windows, there is no sbrk() function.
On Haiku, sbrk(0) always returns 0. */
static void *brk_value;
@@ -357,13 +365,13 @@ get_rusage_data_via_iterator (void)
if (brk_value == NULL)
return 0;
}
-# else
+# else
void *brk_value;
brk_value = sbrk (0);
if (brk_value == (void *)-1)
return 0;
-# endif
+# endif
{
struct locals l;
@@ -376,7 +384,7 @@ get_rusage_data_via_iterator (void)
}
}
-#else
+# else
static uintptr_t
get_rusage_data_via_iterator (void)
@@ -384,13 +392,20 @@ get_rusage_data_via_iterator (void)
return 0;
}
+# endif
+
#endif
uintptr_t
get_rusage_data (void)
{
-#if (defined __APPLE__ && defined __MACH__) || defined __CYGWIN__ /* Mac OS X,
Cygwin */
+#if (defined __APPLE__ && defined __MACH__) /* Mac OS X */
+ /* get_rusage_data_via_setrlimit() does not work: it always returns 0.
+ get_rusage_data_via_iterator() does not work: it always returns 0x400000.
+ And sbrk() is deprecated. */
+ return 0;
+#elif defined __CYGWIN__ /* Cygwin */
/* get_rusage_data_via_setrlimit() does not work.
Prefer get_rusage_data_via_iterator(). */
return get_rusage_data_via_iterator ();
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- get-rusage-data: avoid warnings on Mac OS X,
Bruno Haible <=