On 8/9/2005, "alexander" <[EMAIL PROTECTED]> wrote:

[...]
>Unfortunately I'm experiencing some problems right now. From time to time
>I'm getting a
>
>'Bus error: 10 (core dumped)'
>
>This however appears randomly. One time I run the app everything works fine,the
>next time it core dumps. Are there any errors in my code?
>
>%define SYSARCH                165     ; syscall sysarch(2)
>%define I386_SET_IOPERM 4      ; i386_set_ioperm(2) number
>
>ioperm_args    dd      378h
>               dd      3
>               dd      1
>
>OpenIO:
>       push byte ioperm_args
>       push dword I386_SET_IOPERM
>       mov eax,SYSARCH
>       Call _syscall
[...]

You need to push a _pointer_ to a structure as your second argument to
sysarch(2).  This means something more along the lines of:

ioperm_args   dd  378h
              dd  3
              dd  1

argp          dd  ioperm_args

[...]
      push dword argp
      push dword I386_SET_IOPERM
[...]


Get this wrong, and you'll have unpredictable results.

ari
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"

Reply via email to