summaryrefslogtreecommitdiff
path: root/libgo
diff options
context:
space:
mode:
authorian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2012-01-17 14:18:39 +0000
committerian <ian@138bc75d-0d04-0410-961f-82ee72b054a4>2012-01-17 14:18:39 +0000
commit12adcb643403db8821332960ca7e1ba8eed12058 (patch)
tree8775f5c85585ca6af63878cc44d09a490ccd93c3 /libgo
parent0fd261dc4017c0786d65a6bda69817762f1a54d9 (diff)
downloadgcc-12adcb643403db8821332960ca7e1ba8eed12058.tar.gz
libgo: Solaris and Irix compatibility patches.
From Rainer Orth. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183246 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgo')
-rwxr-xr-xlibgo/configure1
-rw-r--r--libgo/configure.ac1
-rw-r--r--libgo/runtime/go-map-delete.c2
-rw-r--r--libgo/runtime/go-map-index.c4
-rw-r--r--libgo/runtime/mem.c6
5 files changed, 10 insertions, 4 deletions
diff --git a/libgo/configure b/libgo/configure
index 7e8a38d37b4..8c8fe38bc8e 100755
--- a/libgo/configure
+++ b/libgo/configure
@@ -13467,6 +13467,7 @@ is_darwin=no
is_freebsd=no
is_irix=no
is_linux=no
+is_netbsd=no
is_rtems=no
is_solaris=no
GOOS=unknown
diff --git a/libgo/configure.ac b/libgo/configure.ac
index 81326557afa..cd6b1a9ac82 100644
--- a/libgo/configure.ac
+++ b/libgo/configure.ac
@@ -126,6 +126,7 @@ is_darwin=no
is_freebsd=no
is_irix=no
is_linux=no
+is_netbsd=no
is_rtems=no
is_solaris=no
GOOS=unknown
diff --git a/libgo/runtime/go-map-delete.c b/libgo/runtime/go-map-delete.c
index cb10d8dcdc0..b25760fc820 100644
--- a/libgo/runtime/go-map-delete.c
+++ b/libgo/runtime/go-map-delete.c
@@ -20,7 +20,7 @@ __go_map_delete (struct __go_map *map, const void *key)
const struct __go_map_descriptor *descriptor;
const struct __go_type_descriptor *key_descriptor;
uintptr_t key_offset;
- _Bool (*equalfn) (const void*, const void*, size_t);
+ _Bool (*equalfn) (const void*, const void*, uintptr_t);
size_t key_hash;
size_t key_size;
size_t bucket_index;
diff --git a/libgo/runtime/go-map-index.c b/libgo/runtime/go-map-index.c
index ffb532bee88..a602d2ad04a 100644
--- a/libgo/runtime/go-map-index.c
+++ b/libgo/runtime/go-map-index.c
@@ -21,7 +21,7 @@ __go_map_rehash (struct __go_map *map)
const struct __go_type_descriptor *key_descriptor;
uintptr_t key_offset;
size_t key_size;
- size_t (*hashfn) (const void *, size_t);
+ uintptr_t (*hashfn) (const void *, uintptr_t);
uintptr_t old_bucket_count;
void **old_buckets;
uintptr_t new_bucket_count;
@@ -80,7 +80,7 @@ __go_map_index (struct __go_map *map, const void *key, _Bool insert)
const struct __go_map_descriptor *descriptor;
const struct __go_type_descriptor *key_descriptor;
uintptr_t key_offset;
- _Bool (*equalfn) (const void*, const void*, size_t);
+ _Bool (*equalfn) (const void*, const void*, uintptr_t);
size_t key_hash;
size_t key_size;
size_t bucket_index;
diff --git a/libgo/runtime/mem.c b/libgo/runtime/mem.c
index 04fca2c65b1..a1c5eaa36d7 100644
--- a/libgo/runtime/mem.c
+++ b/libgo/runtime/mem.c
@@ -1,3 +1,7 @@
+/* Defining _XOPEN_SOURCE hides the declaration of madvise() on Solaris <
+ 11 and the MADV_DONTNEED definition on IRIX 6.5. */
+#undef _XOPEN_SOURCE
+
#include <errno.h>
#include <unistd.h>
@@ -67,7 +71,7 @@ runtime_SysAlloc(uintptr n)
}
void
-runtime_SysUnused(void *v, uintptr n)
+runtime_SysUnused(void *v __attribute__ ((unused)), uintptr n __attribute__ ((unused)))
{
#ifdef MADV_DONTNEED
runtime_madvise(v, n, MADV_DONTNEED);