Source-Changes-D archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: CVS commit: src/sys/arch/vax/boot/xxboot



he%NetBSD.org@localhost wrote:

> Module Name:  src
> Committed By: he
> Date:         Thu Mar 19 14:11:21 UTC 2009
> 
> Modified Files:
>       src/sys/arch/vax/boot/xxboot: bootxx.c
> 
> Log Message:
> It seems gcc is unhappy about a literal 0 as a pointer argument
> to memcpy().  Work around that by using a local variable instead.
> (This looks a bit dubious, but who am I to judge the restrictions
> in the standalone environment on the vax -- this should not change
> the semantics of what was here before.)

Ah, maybe that's one of the reason why some standalone programs
still use b*() functions, i.e. <lib/libkern/libkern.h> replaces
mem*() functions with __builtin_mem*() ones which could be larger.

How about this patch?

---
Index: libkern/libkern.h
===================================================================
RCS file: /cvsroot/src/sys/lib/libkern/libkern.h,v
retrieving revision 1.87
diff -u -r1.87 libkern.h
--- libkern/libkern.h   18 Mar 2009 12:25:06 -0000      1.87
+++ libkern/libkern.h   19 Mar 2009 15:03:48 -0000
@@ -257,11 +257,12 @@
 void   *memcpy(void *, const void *, size_t);
 int     memcmp(const void *, const void *, size_t);
 void   *memset(void *, int, size_t);
-#if __GNUC_PREREQ__(2, 95) && (__GNUC_PREREQ__(4, 0) || !defined(__vax__))
+#if __GNUC_PREREQ__(2, 95) && (__GNUC_PREREQ__(4, 0) || !defined(__vax__)) && \
+    !defined(_STANDALONE)
 #define        memcpy(d, s, l)         __builtin_memcpy(d, s, l)
 #define        memcmp(a, b, l)         __builtin_memcmp(a, b, l)
 #endif
-#if __GNUC_PREREQ__(2, 95) && !defined(__vax__)
+#if __GNUC_PREREQ__(2, 95) && !defined(__vax__) && !defined(_STANDALONE)
 #define        memset(d, v, l)         __builtin_memset(d, v, l)
 #endif
 
@@ -269,7 +270,7 @@
 int     strcmp(const char *, const char *);
 size_t  strlen(const char *);
 char   *strsep(char **, const char *);
-#if __GNUC_PREREQ__(2, 95)
+#if __GNUC_PREREQ__(2, 95) && !defined(_STANDALONE)
 #define        strcpy(d, s)            __builtin_strcpy(d, s)
 #define        strcmp(a, b)            __builtin_strcmp(a, b)
 #define        strlen(a)               __builtin_strlen(a)

---
Izumi Tsutsui


Home | Main Index | Thread Index | Old Index