--- a/lib/sigsegv.c
+++ b/lib/sigsegv.c
@@ -244,8 +244,8 @@ int libsigsegv_version = LIBSIGSEGV_VERS
 /* Assume the structure of ucontext_t in
    glibc/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h.  */
 /* Because of the union, both definitions should be equivalent.  */
-#    if 0
-#     define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) ucp)->uc_mcontext.regs->gpr[1]
+#    ifndef __GLIBC__
+#     define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) ucp)->uc_mcontext.gregs[1]
 #    else
 #     define SIGSEGV_FAULT_STACKPOINTER  ((ucontext_t *) ucp)->uc_mcontext.uc_regs->gregs[1]
 #    endif
