aboutsummaryrefslogtreecommitdiff
path: root/libobjc
diff options
context:
space:
mode:
Diffstat (limited to 'libobjc')
-rw-r--r--libobjc/ChangeLog8
-rw-r--r--libobjc/Object.m2
-rw-r--r--libobjc/encoding.c2
-rw-r--r--libobjc/sarray.c2
4 files changed, 11 insertions, 3 deletions
diff --git a/libobjc/ChangeLog b/libobjc/ChangeLog
index d09f410..abab0b9 100644
--- a/libobjc/ChangeLog
+++ b/libobjc/ChangeLog
@@ -1,3 +1,11 @@
+2000-04-12 Jakub Jelinek <jakub@redhat.com>
+
+ * Object.m (strlen): Provide prototype on all 64bit platforms,
+ not only alpha.
+ * sarray.c (memcpy): Likewise.
+ * encoding.c (objc_layout_finish_structure): Don't use
+ ROUND_TYPE_ALIGN on sparc.
+
2000-03-29 Zack Weinberg <zack@wolery.cumb.org>
* objc/Protocol.h, objc/objc-list.h: Change #endif labels to
diff --git a/libobjc/Object.m b/libobjc/Object.m
index 64b52f4..59851c1 100644
--- a/libobjc/Object.m
+++ b/libobjc/Object.m
@@ -320,7 +320,7 @@ extern int errno;
object_get_class_name(self), sel_get_name(aSel)];
}
-#ifdef __alpha__
+#if defined(__alpha__) || (defined(__sparc__) && (defined(__sparcv9) || defined(__arch64__))) || (defined(__ia64__) && defined(__LP64__))
extern size_t strlen(const char*);
#endif
diff --git a/libobjc/encoding.c b/libobjc/encoding.c
index 4749ba0..dde009c 100644
--- a/libobjc/encoding.c
+++ b/libobjc/encoding.c
@@ -878,7 +878,7 @@ void objc_layout_finish_structure (struct objc_struct_layout *layout,
in the record type. Round it up to a multiple of the record's
alignment. */
-#ifdef ROUND_TYPE_ALIGN
+#if defined(ROUND_TYPE_ALIGN) && !defined(__sparc__)
layout->record_align = ROUND_TYPE_ALIGN (layout->original_type,
1,
layout->record_align);
diff --git a/libobjc/sarray.c b/libobjc/sarray.c
index f5ace10..a71432ea 100644
--- a/libobjc/sarray.c
+++ b/libobjc/sarray.c
@@ -44,7 +44,7 @@ const char* __objc_sparse2_id = "2 level sparse indices";
const char* __objc_sparse3_id = "3 level sparse indices";
#endif
-#ifdef __alpha__
+#if defined(__alpha__) || (defined(__sparc__) && (defined(__sparcv9) || defined(__arch64__))) || (defined(__ia64__) && defined(__LP64__))
const void *memcpy (void*, const void*, size_t);
#endif