diff options
Diffstat (limited to 'sysdeps/unix/sysv/linux')
-rw-r--r-- | sysdeps/unix/sysv/linux/mips/mips32/kern64/sysdep.h | 0 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sh/bits/mman.h | 4 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/sparc/bits/mman.h | 6 | ||||
-rw-r--r-- | sysdeps/unix/sysv/linux/x86_64/makecontext.c | 20 |
5 files changed, 19 insertions, 15 deletions
diff --git a/sysdeps/unix/sysv/linux/mips/mips32/kern64/sysdep.h b/sysdeps/unix/sysv/linux/mips/mips32/kern64/sysdep.h deleted file mode 100644 index e69de29bb2..0000000000 --- a/sysdeps/unix/sysv/linux/mips/mips32/kern64/sysdep.h +++ /dev/null diff --git a/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h b/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h index a499a80ef9..9eb50aa96b 100644 --- a/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h +++ b/sysdeps/unix/sysv/linux/powerpc/sys/ucontext.h @@ -1,4 +1,4 @@ -/* Copyright (C) 1998, 1999, 2002, 2004 Free Software Foundation, Inc. +/* Copyright (C) 1998, 1999, 2002, 2004, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -70,8 +70,6 @@ typedef struct * can be refernced safely only after verifying that PPC_FEATURE_HAS_ALTIVEC * is set in AT_HWCAP. */ -# include <asm/types.h> - /* Number of general registers. */ # define NGREG 48 /* includes r0-r31, nip, msr, lr, etc. */ # define NFPREG 33 /* includes fp0-fp31 &fpscr. */ diff --git a/sysdeps/unix/sysv/linux/sh/bits/mman.h b/sysdeps/unix/sysv/linux/sh/bits/mman.h index 673c7295fb..656b5b673b 100644 --- a/sysdeps/unix/sysv/linux/sh/bits/mman.h +++ b/sysdeps/unix/sysv/linux/sh/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/SH version. - Copyright (C) 1997, 1999, 2000, 2003 Free Software Foundation, Inc. + Copyright (C) 1997, 1999, 2000, 2003, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -61,6 +61,8 @@ # define MAP_EXECUTABLE 0x1000 /* Mark it as an executable. */ # define MAP_LOCKED 0x2000 /* Lock the mapping. */ # define MAP_NORESERVE 0x4000 /* Don't check for reservations. */ +# define MAP_POPULATE 0x8000 /* Populate (prefault) pagetables. */ +# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ #endif /* Flags to `msync'. */ diff --git a/sysdeps/unix/sysv/linux/sparc/bits/mman.h b/sysdeps/unix/sysv/linux/sparc/bits/mman.h index cc4917a54b..410a38e8a5 100644 --- a/sysdeps/unix/sysv/linux/sparc/bits/mman.h +++ b/sysdeps/unix/sysv/linux/sparc/bits/mman.h @@ -1,5 +1,5 @@ /* Definitions for POSIX memory map interface. Linux/SPARC version. - Copyright (C) 1997, 1999, 2000, 2003 Free Software Foundation, Inc. + Copyright (C) 1997, 1999, 2000, 2003, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. The GNU C Library is free software; you can redistribute it and/or @@ -57,12 +57,14 @@ /* These are Linux-specific. */ #ifdef __USE_MISC -# define MAP_GROWSDOWN 0x0100 /* Stack-like segment. */ +# define MAP_GROWSDOWN 0x0200 /* Stack-like segment. */ # define MAP_DENYWRITE 0x0800 /* ETXTBSY */ # define MAP_EXECUTABLE 0x1000 /* Mark it as an executable. */ # define MAP_LOCKED 0x0100 /* Lock the mapping. */ # define MAP_NORESERVE 0x0040 /* Don't check for reservations. */ # define _MAP_NEW 0x80000000 /* Binary compatibility with SunOS. */ +# define MAP_POPULATE 0x8000 /* Populate (prefault) pagetables. */ +# define MAP_NONBLOCK 0x10000 /* Do not block on IO. */ #endif /* Flags to `msync'. */ diff --git a/sysdeps/unix/sysv/linux/x86_64/makecontext.c b/sysdeps/unix/sysv/linux/x86_64/makecontext.c index c763556b93..6597d8980b 100644 --- a/sysdeps/unix/sysv/linux/x86_64/makecontext.c +++ b/sysdeps/unix/sysv/linux/x86_64/makecontext.c @@ -1,5 +1,5 @@ /* Create new context. - Copyright (C) 2002, 2004 Free Software Foundation, Inc. + Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc. This file is part of the GNU C Library. Contributed by Andreas Jaeger <aj@suse.de>, 2002. @@ -20,6 +20,7 @@ #include <sysdep.h> #include <stdarg.h> +#include <stdint.h> #include <ucontext.h> #include "ucontext_i.h" @@ -52,28 +53,29 @@ void __makecontext (ucontext_t *ucp, void (*func) (void), int argc, ...) { extern void __start_context (void); - unsigned long *sp, idx_uc_link; + unsigned long int *sp, idx_uc_link; va_list ap; int i; /* Generate room on stack for parameter if needed and uc_link. */ - sp = (long *) ((long) ucp->uc_stack.ss_sp + ucp->uc_stack.ss_size); + sp = (unsigned long int *) ((uintptr_t) ucp->uc_stack.ss_sp + + ucp->uc_stack.ss_size); sp -= (argc > 6 ? argc - 6 : 0) + 1; /* Align stack and make space for trampoline address. */ - sp = (long *) ((((long) sp) & -16L) - 8); + sp = (unsigned long int *) ((((uintptr_t) sp) & -16L) - 8); idx_uc_link = (argc > 6 ? argc - 6 : 0) + 1; /* Setup context ucp. */ /* Address to jump to. */ - ucp->uc_mcontext.gregs[REG_RIP] = (long) func; + ucp->uc_mcontext.gregs[REG_RIP] = (long int) func; /* Setup rbx.*/ - ucp->uc_mcontext.gregs[REG_RBX] = (long) &sp[idx_uc_link]; - ucp->uc_mcontext.gregs[REG_RSP] = (long) sp; + ucp->uc_mcontext.gregs[REG_RBX] = (long int) &sp[idx_uc_link]; + ucp->uc_mcontext.gregs[REG_RSP] = (long int) sp; /* Setup stack. */ - sp[0] = (long) &__start_context; - sp[idx_uc_link] = (long) ucp->uc_link; + sp[0] = (unsigned long int) &__start_context; + sp[idx_uc_link] = (unsigned long int) ucp->uc_link; va_start (ap, argc); /* Handle arguments. */ |