On Wednesday 14 March 2012 22:19:08 Dmitry V. Levin wrote:
> On Wed, Mar 14, 2012 at 08:39:35PM -0400, Mike Frysinger wrote:
> > alpha looks broken with signals ... these funcs pass the target's syscall
> > arg pointer to the C library's sigprocmask() which obviously won't be
> > valid: signal.c: In function ‘sys_sigprocmask’:
> > signal.c:1185:3: warning: passing argument 1 of ‘printsigmask’ makes
> > pointer from integer without a cast signal.c:352:1: note: expected
> > ‘struct sigset_t *’ but argument is of type ‘long int’ signal.c:1188:3:
> > warning: passing argument 2 of ‘sprintsigmask’ makes pointer from
> > integer without a cast signal.c:283:1: note: expected ‘struct sigset_t
> > *’ but argument is of type ‘long int’
> 
> The code is in "#ifdef ALPHA" section.  Yes, it looks odd, but those lines
> remain essentially unchanged since the previous century.  Is there anybody
> who can look into this?

ah, probably hasn't been a problem because the alpha syscall table hasn't 
wired up this print handler in a long time :)

commit cc4b8f426a4ae9350cfe41b42b488b5d11836bd8
Author: Wichert Akkerman <[email protected]>
Date:   Wed Jun 9 12:50:10 1999 +0000

    Update syscall list for Linux/alpha

--- a/linux/alpha/syscallent.h
+++ b/linux/alpha/syscallent.h

-   { 3,    TS, sys_sigprocmask,    "sigprocmask"   }, /* 48 */
+   { 3,    TS, printargs,      "osf_sigprocmask"}, /* 48 */

and indeed, once i write a small test app that calls this syscall, strace 
segfaults when trying to trace it.  i'll poke around a little bit.
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.

------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Strace-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/strace-devel

Reply via email to