summaryrefslogtreecommitdiff
path: root/sysdeps/unix/sysv/linux/i386/sigaction.c
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2000-04-30 06:52:59 +0000
committerUlrich Drepper <drepper@redhat.com>2000-04-30 06:52:59 +0000
commitadcf0e4a330995739a4298abd33588e44bd329a1 (patch)
tree1673e40e79e85dc9912d0a8119664f88290dd656 /sysdeps/unix/sysv/linux/i386/sigaction.c
parent9d4d69b88b5e601029d86ce037552bceea931c0b (diff)
downloadglibc-adcf0e4a330995739a4298abd33588e44bd329a1.tar.gz
Update.
* iconv/iconv_prog.c (main): Handle input file name "-" correctly. Recognize option -s, -c, and -l. 2000-04-20 Thorsten Kukuk <kukuk@suse.de> * nscd/nscd.c: Start new session for nscd, drop privilegs to configured user if requested and no -S parameter are used. * nscd/nscd.conf: Add new option "server-user". * nscd/nscd_conf.c: Add support for new "server-user" option. * nscd/nscd.h: Add declaration for server_user variable. Based on patch by Chris Wing <wingc@engin.umich.edu> 2000-04-29 Mark Kettenis <kettenis@gnu.org> * sysdeps/unix/sysv/linux/i386/sigaction.c: Add comment explaining that changing the __restore and __restore_rt signal return code will break GDB. 2000-04-29 Mark Kettenis <kettenis@gnu.org> * sysdeps/unix/sysv/linux/i386/sys/ucontext.h: Do not include <sys/user.h>. 2000-04-29 Mark Kettenis <kettenis@gnu.org> * conform/data/ucontext.h-data: Allow ss_* instead of SS_*. 2000-04-29 Ulrich Drepper <drepper@redhat.com>
Diffstat (limited to 'sysdeps/unix/sysv/linux/i386/sigaction.c')
-rw-r--r--sysdeps/unix/sysv/linux/i386/sigaction.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/sysdeps/unix/sysv/linux/i386/sigaction.c b/sysdeps/unix/sysv/linux/i386/sigaction.c
index 2571f1d922..5e431218e9 100644
--- a/sysdeps/unix/sysv/linux/i386/sigaction.c
+++ b/sysdeps/unix/sysv/linux/i386/sigaction.c
@@ -148,12 +148,20 @@ __sigaction (int sig, const struct sigaction *act, struct sigaction *oact)
weak_alias (__sigaction, sigaction)
+/* NOTE: Please think twice before making any changes to the bits of
+ code below. GDB needs some intimate knowledge about it to
+ recognize them as signal trampolines, and make backtraces through
+ signal handlers work right. Important are both the names
+ (__restore and __restore_rt) and the exact instruction sequence.
+ If you ever feel the need to make any changes, please notify the
+ appropriate GDB maintainer. */
+
#define RESTORE(name, syscall) RESTORE2 (name, syscall)
#define RESTORE2(name, syscall) \
asm \
( \
".align 16\n" \
- "__" #name ":\n" \
+ "__" #name ":\n" \
" movl $" #syscall ", %eax\n" \
" int $0x80" \
);
@@ -168,8 +176,8 @@ RESTORE (restore_rt, __NR_rt_sigreturn)
# define RESTORE2(name, syscall) \
asm \
( \
- ".align 8\n" \
- "__" #name ":\n" \
+ ".align 8\n" \
+ "__" #name ":\n" \
" popl %eax\n" \
" movl $" #syscall ", %eax\n" \
" int $0x80" \