mirror of
https://sourceware.org/git/glibc.git
synced 2024-11-23 09:43:32 +08:00
Properly terminate FDE in makecontext for ix86 (bug 18635)
This commit is contained in:
parent
8cf0ac959d
commit
bbab82c25d
@ -1,3 +1,10 @@
|
||||
2015-08-04 Andreas Schwab <schwab@suse.de>
|
||||
|
||||
[BZ #18635]
|
||||
* sysdeps/unix/sysv/linux/i386/makecontext.S: Terminate FDE before
|
||||
ret.
|
||||
* sysdeps/i386/i686/Makefile (test-xfail-tst-makecontext): Remove.
|
||||
|
||||
2015-08-01 Carlos O'Donell <carlos@redhat.com>
|
||||
|
||||
* po/pl.po: Updated translation.
|
||||
|
4
NEWS
4
NEWS
@ -27,8 +27,8 @@ Version 2.22
|
||||
18512, 18513, 18519, 18520, 18522, 18527, 18528, 18529, 18530, 18532,
|
||||
18533, 18534, 18536, 18539, 18540, 18542, 18544, 18545, 18546, 18547,
|
||||
18549, 18553, 18557, 18558, 18569, 18583, 18585, 18586, 18592, 18593,
|
||||
18594, 18602, 18612, 18613, 18619, 18633, 18641, 18643, 18648, 18657,
|
||||
18676, 18694, 18696.
|
||||
18594, 18602, 18612, 18613, 18619, 18633, 18635, 18641, 18643, 18648,
|
||||
18657, 18676, 18694, 18696.
|
||||
|
||||
* Cache information can be queried via sysconf() function on s390 e.g. with
|
||||
_SC_LEVEL1_ICACHE_SIZE as argument.
|
||||
|
@ -18,9 +18,3 @@ ASFLAGS-.op += -Wa,-mtune=i686
|
||||
ASFLAGS-.og += -Wa,-mtune=i686
|
||||
ASFLAGS-.oS += -Wa,-mtune=i686
|
||||
endif
|
||||
|
||||
ifeq ($(subdir),stdlib)
|
||||
# _Unwind_Backtrace from libgcc produces a segmentation fault if it was
|
||||
# called within a context created by makecontext. See Bug 18635.
|
||||
test-xfail-tst-makecontext = yes
|
||||
endif
|
||||
|
@ -83,6 +83,10 @@ ENTRY(__makecontext)
|
||||
#else
|
||||
movl $L(exitcode), (%edx)
|
||||
#endif
|
||||
/* We need to terminate the FDE here instead of after ret because
|
||||
the unwinder looks at ra-1 for unwind information. */
|
||||
cfi_endproc
|
||||
|
||||
/* 'makecontext' returns no value. */
|
||||
ret
|
||||
|
||||
@ -92,7 +96,6 @@ ENTRY(__makecontext)
|
||||
the context 'makecontext' manipulated at the time of the
|
||||
'makecontext' call. If the pointer is NULL the process must
|
||||
terminate. */
|
||||
cfi_endproc
|
||||
L(exitcode):
|
||||
/* This removes the parameters passed to the function given to
|
||||
'makecontext' from the stack. EBX contains the number of
|
||||
|
Loading…
Reference in New Issue
Block a user