summary refs log tree commit diff
path: root/stdlib/tst-makecontext.c
Commit message (Collapse)AuthorAgeFilesLines
* S390: Fix "backtrace() returns infinitely deep stack frames with ↵Stefan Liebler2015-07-071-1/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | makecontext()" [BZ #18508]. On s390/s390x backtrace(buffer, size) returns the series of called functions until "makecontext_ret" and additional entries (up to "size") with "makecontext_ret". GDB-backtrace is also warning: "Backtrace stopped: previous frame identical to this frame (corrupt stack?)" To reproduce this scenario you have to setup a new context with makecontext() and activate it with setcontext(). See e.g. cf() function in testcase stdlib/tst-makecontext.c. Or see bug in libgo "Bug 66303 - runtime.Caller() returns infinitely deep stack frames on s390x " (https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66303). This patch omits the cfi_startproc/cfi_endproc directives in ENTRY/END macro of __makecontext_ret. Thus no frame information is generated in .eh_frame and backtrace stops after __makecontext_ret. There is also no .eh_frame info for _start or thread_start functions. ChangeLog: [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.
* Update copyright dates with scripts/update-copyrights.Joseph Myers2015-01-021-1/+1
|
* Update copyright notices with scripts/update-copyrightsAllan McRae2014-01-011-1/+1
|
* Update copyright notices with scripts/update-copyrights.Joseph Myers2013-01-021-1/+1
|
* setcontext: Clarify termination when uc_link is the null pointer.Thomas Schwinge2012-07-171-1/+3
|
* Replace FSF snail mail address with URLs.Paul Eggert2012-02-091-3/+2
|
* * stdlib/tst-makecontext.c (othervar): New variable. Jakub Jelinek2008-04-101-1/+2
| | | | | | | | (cf): Test sign extending the argument to long. 2008-04-10 Jakub Jelinek <jakub@redhat.com> * stdlib/tst-makecontext.c (othervar): New variable. (cf): Test sign extending the argument to long.
* * sysdeps/powerpc/powerpc32/power5/fpu/s_isnan.S: New file.Ulrich Drepper2008-04-101-1/+3
| | | | | | | | | * sysdeps/powerpc/powerpc32/power5/fpu/s_isnanf.S: New file. * sysdeps/powerpc/powerpc32/power6/fpu/s_isnan.S: New file. * sysdeps/powerpc/powerpc32/power6/fpu/s_isnanf.S: New file. * sysdeps/powerpc/powerpc64/power5/fpu/s_isnan.S: New file. * sysdeps/powerpc/powerpc64/power6/fpu/s_isnan.S: New file. * sysdeps/powerpc/powerpc64/power6x/fpu/s_isnan.S: New file.
* [BZ #5436]Ulrich Drepper2008-04-091-3/+3
| | | | | | | | | | | | | | 2008-04-09 Ulrich Drepper <drepper@redhat.com> * stdlib/tst-makecontext.c: Change parameter to cf to negative value to check for correct sign extension. [BZ #5436] * sysdeps/unix/sysv/linux/x86_64/makecontext.c (__makecontext): Copy 64-bit parameter values even though this is not required in the standard. * sysdeps/unix/sysv/linux/x86_64/vfork.S (__vfork): Record return PC save.
* Include errno.h. Change main() to do_test(). Define TEST_FUNCTION. Include ↵Ulrich Drepper2007-01-111-3/+13
| | | | test-skeleton.c. (do_test): Check errno and exit(0) if ENOSYS.
* * stdlib/Makefile (tests): Add tst-makecontext.Ulrich Drepper2006-12-191-0/+57
| | | | | | | * stdlib/tst-makecontext.c: New test. * sysdeps/unix/sysv/linux/powerpc/powerpc32/makecontext.S (__makecontext): Don't realign uc_mcontext.uc_regs.
* (CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.Ulrich Drepper2004-12-221-67/+0
|
* 2.5-18.1Jakub Jelinek2007-07-121-0/+67