This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc 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]

Re: [PATCH][BZ #18508] S390: Fix "backtrace() returns infinitely deep stack frames with makecontext()".


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.




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