OSDN Git Service

2011-12-23 Tristan Gingold <gingold@adacore.com>
[pf3gnuchains/gcc-fork.git] / gcc / config / netbsd.h
index 68a4bf5..e9290c2 100644 (file)
@@ -1,6 +1,6 @@
 /* Base configuration file for all NetBSD targets.
    Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-   2007 Free Software Foundation, Inc.
+   2007, 2009, 2010, 2011 Free Software Foundation, Inc.
 
 This file is part of GCC.
 
@@ -158,10 +158,6 @@ along with GCC; see the file COPYING3.  If not see
 #undef TARGET_POSIX_IO
 #define TARGET_POSIX_IO
 
-/* Handle #pragma weak and #pragma pack.  */
-
-#define HANDLE_SYSV_PRAGMA 1
-
 /* Don't assume anything about the header files.  */
 #undef  NO_IMPLICIT_EXTERN_C
 #define NO_IMPLICIT_EXTERN_C    1
@@ -177,50 +173,3 @@ along with GCC; see the file COPYING3.  If not see
 
 #undef WINT_TYPE
 #define WINT_TYPE "int"
-\f
-
-/* Attempt to turn on execute permission for the stack.  This may be
-   used by INITIALIZE_TRAMPOLINE of the target needs it (that is,
-   if the target machine can change execute permissions on a page).
-
-   There is no way to query the execute permission of the stack, so
-   we always issue the mprotect() call.
-
-   Note that we go out of our way to use namespace-non-invasive calls
-   here.  Unfortunately, there is no libc-internal name for mprotect().
-
-   Also note that no errors should be emitted by this code; it is considered
-   dangerous for library calls to send messages to stdout/stderr.  */
-
-#define NETBSD_ENABLE_EXECUTE_STACK                                    \
-extern void __enable_execute_stack (void *);                           \
-void                                                                   \
-__enable_execute_stack (void *addr)                                    \
-{                                                                      \
-  extern int mprotect (void *, size_t, int);                           \
-  extern int __sysctl (int *, unsigned int, void *, size_t *,          \
-                      void *, size_t);                                 \
-                                                                       \
-  static int size;                                                     \
-  static long mask;                                                    \
-                                                                       \
-  char *page, *end;                                                    \
-                                                                       \
-  if (size == 0)                                                       \
-    {                                                                  \
-      int mib[2];                                                      \
-      size_t len;                                                      \
-                                                                       \
-      mib[0] = 6; /* CTL_HW */                                         \
-      mib[1] = 7; /* HW_PAGESIZE */                                    \
-      len = sizeof (size);                                             \
-      (void) __sysctl (mib, 2, &size, &len, NULL, 0);                  \
-      mask = ~((long) size - 1);                                       \
-    }                                                                  \
-                                                                       \
-  page = (char *) (((long) addr) & mask);                              \
-  end  = (char *) ((((long) (addr + TRAMPOLINE_SIZE)) & mask) + size); \
-                                                                       \
-  /* 7 == PROT_READ | PROT_WRITE | PROT_EXEC */                                \
-  (void) mprotect (page, end - page, 7);                               \
-}