From 1efa38d1a7eda7384e59feae004b653b6c192710 Mon Sep 17 00:00:00 2001 From: Ian Lance Taylor <ian@gcc.gnu.org> Date: Tue, 17 Jan 2012 14:18:39 +0000 Subject: [PATCH] libgo: Solaris and Irix compatibility patches. From Rainer Orth. From-SVN: r183246 --- libgo/configure | 1 + libgo/configure.ac | 1 + libgo/runtime/go-map-delete.c | 2 +- libgo/runtime/go-map-index.c | 4 ++-- libgo/runtime/mem.c | 6 +++++- 5 files changed, 10 insertions(+), 4 deletions(-) diff --git a/libgo/configure b/libgo/configure index 7e8a38d37b4c..8c8fe38bc8e9 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 81326557afa3..cd6b1a9ac824 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 cb10d8dcdc0e..b25760fc8204 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 ffb532bee888..a602d2ad04a6 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 04fca2c65b1a..a1c5eaa36d7f 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); -- GitLab