This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug sanitizer/55679] new asan tests from r194458 fail on x86_64-apple-darwin10
- From: "dominiq at lps dot ens.fr" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Sun, 16 Dec 2012 21:41:25 +0000
- Subject: [Bug sanitizer/55679] new asan tests from r194458 fail on x86_64-apple-darwin10
- Auto-submitted: auto-generated
- References: <bug-55679-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55679
--- Comment #17 from Dominique d'Humieres <dominiq at lps dot ens.fr> 2012-12-16 21:41:25 UTC ---
(In reply to comment #15)
> The absence of RLIMIT_AS support on darwin appears to be a longstanding
> issue...
>
> http://lists.apple.com/archives/Unix-porting/2007/Apr/msg00026.html
>
> and really should be fixed since SUSv3 Unix (which darwin claims to be) demands
> it.
I have investigated the behavior of get/setrlimit(RLIMIT_AS...):
(1) looking at sys/resource.h it appears that RLIMIT_AS is an (undocumented)
alias of RLIMIT_RSS.
(2) RLIMIT_AS seems to be correctly gotten/set by get/setrlimit.
(3) However this does seems to affect the behavior of malloc.
The following patch fixes the failure
--- ../_clean/gcc/testsuite/c-c++-common/asan/rlimit-mmap-test-1.c
2012-12-13 11:08:19.000000000 +0100
+++ gcc/testsuite/c-c++-common/asan/rlimit-mmap-test-1.c 2012-12-16
21:11:59.000000000 +0100
@@ -2,7 +2,7 @@
/* { dg-do run { target setrlimit } } */
/* { dg-skip-if "" { *-*-* } { "*" } { "-O0" } } */
-/* { dg-shouldfail "asan" } */
+/* { dg-shouldfail "asan" { ! *-*-darwin* } } */
#include <stdlib.h>
#include <assert.h>
@@ -18,4 +18,4 @@ int main(int argc, char **argv) {
return 0;
}
-/* { dg-output "AddressSanitizer is unable to mmap" } */
+/* { dg-output "AddressSanitizer is unable to mmap" { xfail *-*-darwin* } } */