------- Comment #10 from vapier at gentoo dot org 2010-08-15 21:01 ------- from the glibc-2.11.2/signal/ subdir:
$ gcc -Wall -Winline -Wwrite-strings -Wstrict-prototypes -std=gnu99 -O2 -fgnu89-inline -fmerge-all-constants -fno-strict-aliasing -fno-unwind-tables -g -pipe '-DWRAPPER_INCLUDE=<nptl/sigaction.c>' -I../include -I/var/tmp/portage/sys-libs/glibc-2.11.2/work/build-amd64-x86_64-pc-linux-gnu-nptl/signal -I/var/tmp/portage/sys-libs/glibc-2.11.2/work/build-amd64-x86_64-pc-linux-gnu-nptl -I../sysdeps/x86_64/elf -I../nptl/sysdeps/unix/sysv/linux/x86_64 -I../sysdeps/unix/sysv/linux/x86_64 -I../sysdeps/unix/sysv/linux/wordsize-64 -I../nptl/sysdeps/unix/sysv/linux -I../nptl/sysdeps/pthread -I../sysdeps/pthread -I../ports/sysdeps/unix/sysv/linux -I../sysdeps/unix/sysv/linux -I../sysdeps/gnu -I../sysdeps/unix/common -I../sysdeps/unix/mman -I../sysdeps/unix/inet -I../nptl/sysdeps/unix/sysv -I../ports/sysdeps/unix/sysv -I../sysdeps/unix/sysv -I../sysdeps/unix/x86_64 -I../nptl/sysdeps/unix -I../ports/sysdeps/unix -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/x86_64/fpu -I../nptl/sysdeps/x86_64 -I../sysdeps/x86_64 -I../sysdeps/wordsize-64 -I../sysdeps/ieee754/ldbl-96 -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754 -I../sysdeps/generic/elf -I../sysdeps/generic -I../nptl -I../ports -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/include -isystem /usr/lib/gcc/x86_64-pc-linux-gnu/4.3.4/include-fixed -isystem /usr/include -D_LIBC_REENTRANT -include ../include/libc-symbols.h -U_FORTIFY_SOURCE -DPIC ../sysdeps/unix/sysv/linux/x86_64/sigaction.c -c -o sigaction.o -fPIC -fPIE $ objdump -d -r sigaction.o | grep rax.*restore db: 48 8b 05 2e ff ff ff mov -0xd2(%rip),%rax # 10 <__restore_rt> emphasis is that it is PIC+PIE+NOSHARED -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45286