[PATCH][BZ #18508] S390: Fix "backtrace() returns infinitely deep stack frames with makecontext()".
Stefan Liebler
stli@linux.vnet.ibm.com
Fri Jul 3 07:58:00 GMT 2015
ping
On 06/26/2015 01:11 PM, Stefan Liebler wrote:
> ping
>
> On 06/19/2015 12:44 PM, Stefan Liebler wrote:
>> PING
>>
>> On 06/15/2015 10:47 AM, Stefan Liebler wrote:
>>> On 06/12/2015 05:40 PM, Andreas Schwab wrote:
>>>> Stefan Liebler <stli@linux.vnet.ibm.com> writes:
>>>>
>>>>> Is there a way to load the correct libgcc_s.so on all architectures?
>>>>
>>>> #include <gnu/lib-names.h>
>>>> dlopen(LIBGCC_S_SO, ...)
>>>>
>>>> Andreas.
>>>>
>>> Thanks.
>>> Here is the patch with the enhanced tst-makecontext testcase.
>>> It calls _Unwind_Backtrace within cf() function, which is called in a
>>> makecontext context and check if the callback function is not called
>>> infinitely times.
>>>
>>> Tested on s390/s390x before and after this patch.
>>> Before: Test fails; After: Test succeeds.
>>>
>>> Ok to commit?
>>>
>>> Bye Stefan
>>>
>>> ---
>>> 2015-06-15 Stefan Liebler <stli@linux.vnet.ibm.com>
>>>
>>> [BZ #18508]
>>> * stdlib/Makefile ($(objpfx)tst-makecontext3):
>>> Depend on $(libdl).
>>> * stdlib/tst-makecontext.c (cf): Test if _Unwind_Backtrace
>>> is not called infinitely times.
>>> (backtrace_helper): New function.
>>> (trace_arg): New struct.
>>> (st1): Enlarge stack size.
>>> * sysdeps/unix/sysv/linux/s390/s390-32/__makecontext_ret.S:
>>> (__makecontext_ret): Omit cfi_startproc and cfi_endproc.
>>> * sysdeps/unix/sysv/linux/s390/s390-64/__makecontext_ret.S:
>>> Likewise.
>>
>>
>
>
More information about the Libc-alpha
mailing list