Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 41848 Details for
Bug 67632
Porting: libsigsegv-2.1
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch for configure lock
libsigsegv-2.1-macosx.patch (text/plain), 3.44 KB, created by
Joe Jezak (RETIRED)
on 2004-10-15 03:37:55 UTC
(
hide
)
Description:
Patch for configure lock
Filename:
MIME Type:
Creator:
Joe Jezak (RETIRED)
Created:
2004-10-15 03:37:55 UTC
Size:
3.44 KB
patch
obsolete
>--- /var/tmp/portage/libsigsegv-2.1/work/libsigsegv-2.1/configure Thu Aug 21 21:27:56 2003 >+++ configure Mon Aug 9 19:54:50 2004 >@@ -10986,9 +10986,9 @@ > > #include <signal.h> > #include "$srcdir/src/fault-macos-powerpc.c" >-void sigsegv_handler (int sig, int code, struct sigcontext *scp) >+void sigsegv_handler (int sig, siginfo_t *sip, struct sigcontext *scp) > { >- void *fault_address = (void *) (get_fault_addr (scp)); >+ void *fault_address = (void *) (get_fault_addr (scp, sip->si_addr)); > } > > int >@@ -11037,6 +11037,7 @@ > #if HAVE_SYS_SIGNAL_H > # include <sys/signal.h> > #endif >+#include <sys/ucontext.h> > #include "$srcdir/src/fault-macos-powerpc.c" > #include <sys/types.h> > #include <sys/mman.h> >@@ -11061,9 +11062,9 @@ > #endif > unsigned long page; > int handler_called = 0; >-void sigsegv_handler (int sig, int code, struct sigcontext *scp) >+void sigsegv_handler (int sig, siginfo_t *sip, struct sigcontext *scp) > { >- void *fault_address = (void *) (get_fault_addr (scp)); >+ void *fault_address = (void *) (get_fault_addr (scp, sip->si_addr)); > handler_called++; > if (handler_called == 10) > exit (4); >@@ -11102,7 +11103,7 @@ > sigemptyset(&action.sa_mask); > > action.sa_handler = (void (*) (int)) &sigsegv_handler; >- action.sa_flags = 0; >+ action.sa_flags = SA_SIGINFO; > > sigaction (SIGSEGV, &action, (struct sigaction *) NULL); > sigaction (SIGBUS, &action, (struct sigaction *) NULL); >--- /var/tmp/portage/libsigsegv-2.1/work/libsigsegv-2.1/src/fault-macos-powerpc.c Mon Sep 30 20:46:54 2002 >+++ fault-macos-powerpc.c Mon Aug 9 19:58:53 2004 >@@ -31,10 +31,11 @@ > #define EXTRACT_DISP(iw) ((short *) &(iw))[1] > > static void * >-get_fault_addr (struct sigcontext *scp) >+get_fault_addr (struct sigcontext *scp,unsigned int *ir) > { >- unsigned int instr = *((unsigned int *) scp->sc_ir); >- unsigned int *regs = &((unsigned int *) scp->sc_regs)[2]; >+ unsigned int instr = *ir; >+ unsigned int *regs = & ((struct ucontext *)scp)->uc_mcontext->ss.r0 ; >+ > int disp = 0; > int tmp; > unsigned int baseA = 0; >@@ -42,6 +43,7 @@ > unsigned int addr; > unsigned int alignmask = 0xFFFFFFFF; > >+ > switch (EXTRACT_OP1 (instr)) > { > case 38: /* stb */ >@@ -56,8 +58,10 @@ > case 36: /* stw */ > case 37: /* stwu */ > tmp = EXTRACT_REGA (instr); >+ >+ > if (tmp > 0) >- baseA = regs[tmp]; >+ baseA = regs[tmp]; > disp = EXTRACT_DISP (instr); > break; > case 31: >@@ -120,5 +124,6 @@ > > addr = (baseA + baseB) + disp; > addr &= alignmask; >+ > return (void *) addr; > } >--- /var/tmp/portage/libsigsegv-2.1/work/libsigsegv-2.1/src/fault-macos-powerpc.h Thu Apr 3 06:56:20 2003 >+++ fault-macos-powerpc.h Mon Aug 9 20:17:16 2004 >@@ -15,12 +15,14 @@ > along with this program; if not, write to the Free Software Foundation, > Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ > >+#include <sys/ucontext.h> > #include "fault-macos-powerpc.c" > >-#define SIGSEGV_FAULT_HANDLER_ARGLIST int sig, int code, struct sigcontext *scp >-#define SIGSEGV_FAULT_ADDRESS (unsigned long) get_fault_addr (scp) >+#define SIGSEGV_FAULT_HANDLER_ARGLIST int sig, siginfo_t *sip, struct sigcontext *scp >+#define SIGSEGV_FAULT_ADDRESS (unsigned long) get_fault_addr (scp, sip->si_addr) > #define SIGSEGV_FAULT_CONTEXT scp > #if 0 > #define SIGSEGV_FAULT_STACKPOINTER (&((unsigned int *) scp->sc_regs)[2])[1] > #endif > #define SIGSEGV_FAULT_STACKPOINTER (scp->sc_regs ? ((unsigned int *) scp->sc_regs)[3] : scp->sc_sp) >+#define SIGSEGV_FAULT_ADDRESS_FROM_SIGINFO
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 67632
: 41848