kernel patch needed for wine?
Sam Fourman Jr.
sfourman at gmail.com
Wed Jun 30 21:22:09 UTC 2010
On Wed, Jun 30, 2010 at 11:26 AM, Garrett Cooper <yanefbsd at gmail.com> wrote:
> On Wed, Jun 30, 2010 at 8:43 AM, Sam Fourman Jr. <sfourman at gmail.com> wrote:
>>> Which patch ? icebp generates the SIGTRAP on latest 8-stable, verified
>>> by the following trivival assembler program:
>>> .text
>>> .globl main
>>> main:
>>> .byte 0xf1
>>> xorl %edi,%edi
>>> call exit
>>>
>>
Here is the C program that the linux people used as a test case.
***************************************************************
#include <stdio.h>
#include <signal.h>
void trap_handler(int sig)
{
printf("trapped\n");
}
/*
* icebp
* ret
*/
char icebp_func[] = "\xf1\xc3";
typedef void (*icebp_call)(void);
int main(int argc, char **argv)
{
icebp_call func = (icebp_call)icebp_func;
signal(SIGTRAP, trap_handler);
func();
return 0;
}
***************************************************************
My question is why doe the above code not print trapped on amd64?
FreeBSD 8.1 i386 this code prints "Trapped" as intended
FreeBSD 8.1 amd64 this code prints "Segmentation fault: 11"
FreeBSD 8.1 amd64 chrooted to 32bit prints "Segmentation fault"
I did verify that from Linux amd64 this works and prints "Trapped"
uname -a
Linux workstation 2.6.32-23-generic #37-Ubuntu SMP Fri Jun 11 08:03:28
UTC 2010 x86_64 GNU/Linux
Thank you much for everyones help
Sam Fourman Jr.
Fourman Networks
http://www.fourmannetworks.com
More information about the freebsd-hackers
mailing list