This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug sanitizer/55679] new asan tests from r194458 fail on x86_64-apple-darwin10


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* } } */


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]