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" \
);
# define RESTORE2(name, syscall) \
asm \
( \
- ".align 8\n" \
- "__" #name ":\n" \
+ ".align 8\n" \
+ "__" #name ":\n" \
" popl %eax\n" \
" movl $" #syscall ", %eax\n" \
" int $0x80" \