Skip to content
Snippets Groups Projects
Commit 24815819 authored by Alexandre Julliard's avatar Alexandre Julliard
Browse files

Build an explicit argument structure for mmap instead of relying on

the stack layout.
parent 0a8e15ab
Branches
Tags
No related merge requests found
......@@ -753,13 +753,31 @@ static void *unaligned_mmap( void *addr, size_t length, unsigned int prot,
if (!offset_high && (offset_low & page_mask))
{
int ret;
struct
{
void *addr;
unsigned int length;
unsigned int prot;
unsigned int flags;
unsigned int fd;
unsigned int offset;
} args;
args.addr = addr;
args.length = length;
args.prot = prot;
args.flags = flags;
args.fd = fd;
args.offset = offset_low;
__asm__ __volatile__("push %%ebx\n\t"
"movl %2,%%ebx\n\t"
"int $0x80\n\t"
"popl %%ebx"
: "=a" (ret)
: "0" (90), /* SYS_mmap */
"g" (&addr) );
"g" (&args) );
if (ret < 0 && ret > -4096)
{
errno = -ret;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment