summaryrefslogtreecommitdiff
path: root/libstdc++-v3/config/os
diff options
context:
space:
mode:
Diffstat (limited to 'libstdc++-v3/config/os')
-rw-r--r--libstdc++-v3/config/os/solaris/solaris2.5/bits/os_defines.h15
-rw-r--r--libstdc++-v3/config/os/solaris/solaris2.6/bits/os_defines.h13
2 files changed, 25 insertions, 3 deletions
diff --git a/libstdc++-v3/config/os/solaris/solaris2.5/bits/os_defines.h b/libstdc++-v3/config/os/solaris/solaris2.5/bits/os_defines.h
index 61bcd200a83..c947be7c6c8 100644
--- a/libstdc++-v3/config/os/solaris/solaris2.5/bits/os_defines.h
+++ b/libstdc++-v3/config/os/solaris/solaris2.5/bits/os_defines.h
@@ -1,4 +1,4 @@
-// Specific definitions for Solaris 2.5 -*- C++ -*-
+// Specific definitions for Solaris 2.6 -*- C++ -*-
// Copyright (C) 2000 Free Software Foundation, Inc.
//
@@ -31,10 +31,21 @@
#ifndef _GLIBCPP_OS_DEFINES
# define _GLIBCPP_OS_DEFINES
+// Need these to get sane definitions, esp. of 64-bit types and typedefs.
+#define _XOPEN_SOURCE 500
+#define _LARGEFILE64_SOURCE 1
+#define __EXTENSIONS__
/* System-specific #define, typedefs, corrections, etc, go here. This
file will come before all others. */
-
+// These are typedefs which libio assumes are already in place (because
+// they really are, under Linux).
+#define __off_t off_t
+#define __off64_t off64_t
+#define __ssize_t ssize_t
+
+// Without this all the libio vtbls are offset wrongly.
+#define _G_USING_THUNKS 0
#endif
diff --git a/libstdc++-v3/config/os/solaris/solaris2.6/bits/os_defines.h b/libstdc++-v3/config/os/solaris/solaris2.6/bits/os_defines.h
index 9913f738f45..c947be7c6c8 100644
--- a/libstdc++-v3/config/os/solaris/solaris2.6/bits/os_defines.h
+++ b/libstdc++-v3/config/os/solaris/solaris2.6/bits/os_defines.h
@@ -31,10 +31,21 @@
#ifndef _GLIBCPP_OS_DEFINES
# define _GLIBCPP_OS_DEFINES
+// Need these to get sane definitions, esp. of 64-bit types and typedefs.
+#define _XOPEN_SOURCE 500
+#define _LARGEFILE64_SOURCE 1
+#define __EXTENSIONS__
/* System-specific #define, typedefs, corrections, etc, go here. This
file will come before all others. */
-
+// These are typedefs which libio assumes are already in place (because
+// they really are, under Linux).
+#define __off_t off_t
+#define __off64_t off64_t
+#define __ssize_t ssize_t
+
+// Without this all the libio vtbls are offset wrongly.
+#define _G_USING_THUNKS 0
#endif