This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: tst-pthread-getattr changes break sparc
- From: Siddhesh Poyarekar <siddhesh at redhat dot com>
- To: David Miller <davem at davemloft dot net>
- Cc: libc-alpha at sourceware dot org
- Date: Fri, 27 Jul 2012 16:06:51 +0530
- Subject: Re: tst-pthread-getattr changes break sparc
- References: <20120724.165326.1443468626697317666.davem@davemloft.net>
On Tue, 24 Jul 2012 16:53:26 -0700 (PDT), David wrote:
> The trick you use to try and avoid touching the allocated stack space
> in allocate_and_test() doesn't work on sparc. Any alloca() call must
> absolutely, at all times, be within the stack rlimit even if you do
> not touch the allocated memory space explicitly.
>
> At any moment we can trap into the operating system and that will
> cause the current register window to be saved wherever the stack
> pointer is. After the alloca() call, this stack pointer will be
> beyond what is allowed by the rlimit setting.
>
> And this causes tst-pthread-getattr as currently implemented to fail
> on sparc.
I've been thinking about this and realized that even if I manage to get
the stack pointer to get just within the rlimit to verify that the
memory at top of stack is accessible, the above behaviour will still
break the test. So I would then have to leave sufficient space for the
register window so that all of it is written within rlimit.
This means that I won't be checking the top of stack with the test,
which basically misses the point of doing this test at all. Would it be
a better idea instead to disable this test for sparc in the Makefile?
Regards,
Siddhesh