On Mon, Mar 26, 2018 at 1:31 PM, Andreas Schwab <sch...@linux-m68k.org> wrote: > On Mär 26 2018, Jason Merrill <ja...@redhat.com> wrote: > >> On Sat, Mar 24, 2018 at 4:51 AM, Andreas Schwab <sch...@linux-m68k.org> >> wrote: >>> On Mär 23 2018, Jason Merrill <ja...@redhat.com> wrote: >>> >>>> diff --git a/gcc/testsuite/g++.dg/asan/asan.exp >>>> b/gcc/testsuite/g++.dg/asan/asan.exp >>>> index 4ee8dd98697..a22d2ac5e20 100644 >>>> --- a/gcc/testsuite/g++.dg/asan/asan.exp >>>> +++ b/gcc/testsuite/g++.dg/asan/asan.exp >>>> @@ -24,6 +24,13 @@ load_lib asan-dg.exp >>>> dg-init >>>> asan_init >>>> >>>> +# asan doesn't work if there's a ulimit on virtual memory. >>>> +if ![is_remote target] { >>>> + if [regexp {^[0-9]+$} "[exec ulimit -v]"] { >>> >>> Does that actually work? >> >> It does for me. >> >>> ulimit is a shell builtin, but exec does not use the shell. >> >> It's also a separate executable. > > Not for me. > >>> Also, you get an error if the command returns a non-zero >>> status, or isn't found. >> >> In that case, the result of the exec won't be a string of numbers, so >> we run the tests. > > The error will abort the whole script.
Ah, good point. How about this? # asan doesn't work if there's a ulimit on virtual memory. if ![is_remote target] { if [catch {exec sh ulimit -v} ulimit_v] { # failed to get ulimit } elseif [regexp {^[0-9]+$} $ulimit_v] { # ulimit -v gave a numeric limit return } } Jason