Re: [PATCH] parisc: futex: Use same lock set as lws calls
|[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
On 17-Oct-11, at 2:10 PM, John David Anglin wrote:
Possibly, this is related to the following bug that I found last week building mpfr-3.1.0:The cancellation issues happen in tst-cancel*. I believe the cancellation issues are toolchain issues and I need to look into them.http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50691A call to __tls_get_addr clobbers first argument of call to mpfr_cache. Don't have afix at the moment, but there is a simple testcase.
I looked at this a bit. The problem is legitimize_tls_address doesn't work properly. First, GCC doesn't know that the libcall needs r26 and ret0 when the __thread variable is an argument to a call. Secondly, the implementation of __tls_get_addr clobbers some other call clobbered registers. I'm thinking the glibc implementation might need to be in assembly language so that the clobbered registers are limited (i.e., it needs to
save registers). This all seems really ugly... The issues occur in generating PIC code. Thoughts? Dave -- John David Anglin dave.anglin@xxxxxxxx -- To unsubscribe from this list: send the line "unsubscribe linux-parisc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html