Module Name: src Committed By: joerg Date: Wed Aug 13 14:43:48 UTC 2014
Modified Files: src/doc: TODO.clang src/lib/libc/compat/sys: compat___semctl13.c compat_semctl.c src/lib/libc/sys: semctl.c Log Message: Use the lint path as workaround for Clang on 32bit PPC for now. Document this hack. To generate a diff of this commit: cvs rdiff -u -r1.13 -r1.14 src/doc/TODO.clang cvs rdiff -u -r1.4 -r1.5 src/lib/libc/compat/sys/compat___semctl13.c \ src/lib/libc/compat/sys/compat_semctl.c cvs rdiff -u -r1.16 -r1.17 src/lib/libc/sys/semctl.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/doc/TODO.clang diff -u src/doc/TODO.clang:1.13 src/doc/TODO.clang:1.14 --- src/doc/TODO.clang:1.13 Sun Aug 10 19:12:08 2014 +++ src/doc/TODO.clang Wed Aug 13 14:43:48 2014 @@ -1,4 +1,4 @@ -$NetBSD: TODO.clang,v 1.13 2014/08/10 19:12:08 joerg Exp $ +$NetBSD: TODO.clang,v 1.14 2014/08/13 14:43:48 joerg Exp $ Hacks for the clang integration ------------------------------- @@ -14,3 +14,9 @@ g++ otherwise on trivial input. src/external/mit/xorg/lib/pixman uses -fno-integrated-as on ARM for the macro (ab)use. + +Clang does support union arguments for va_arg on 32bit PowerPC, hack +around to get the files to compiles are in: + lib/libc/compat/sys/compat___semctl13.c + lib/libc/compat/sys/compat_semctl.c + lib/libc/sys/semctl.c Index: src/lib/libc/compat/sys/compat___semctl13.c diff -u src/lib/libc/compat/sys/compat___semctl13.c:1.4 src/lib/libc/compat/sys/compat___semctl13.c:1.5 --- src/lib/libc/compat/sys/compat___semctl13.c:1.4 Sun Aug 10 17:55:08 2014 +++ src/lib/libc/compat/sys/compat___semctl13.c Wed Aug 13 14:43:48 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: compat___semctl13.c,v 1.4 2014/08/10 17:55:08 joerg Exp $ */ +/* $NetBSD: compat___semctl13.c,v 1.5 2014/08/13 14:43:48 joerg Exp $ */ /*- * Copyright (c) 2008 The NetBSD Foundation, Inc. @@ -37,7 +37,7 @@ */ #include <sys/cdefs.h> #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: compat___semctl13.c,v 1.4 2014/08/10 17:55:08 joerg Exp $"); +__RCSID("$NetBSD: compat___semctl13.c,v 1.5 2014/08/13 14:43:48 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include "namespace.h" @@ -47,6 +47,9 @@ __RCSID("$NetBSD: compat___semctl13.c,v #include <compat/sys/time.h> #include <sys/sem.h> #include <compat/sys/sem.h> +#if defined(__clang__) && defined(__powerpc__) && !defined(__powerpc64__) +#define __lint__ +#endif #ifdef __lint__ #include <string.h> #endif Index: src/lib/libc/compat/sys/compat_semctl.c diff -u src/lib/libc/compat/sys/compat_semctl.c:1.4 src/lib/libc/compat/sys/compat_semctl.c:1.5 --- src/lib/libc/compat/sys/compat_semctl.c:1.4 Sun Aug 10 17:55:08 2014 +++ src/lib/libc/compat/sys/compat_semctl.c Wed Aug 13 14:43:48 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: compat_semctl.c,v 1.4 2014/08/10 17:55:08 joerg Exp $ */ +/* $NetBSD: compat_semctl.c,v 1.5 2014/08/13 14:43:48 joerg Exp $ */ /* * Copyright (c) 1994, 1995 Christopher G. Demetriou @@ -36,7 +36,7 @@ #include <sys/cdefs.h> #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: compat_semctl.c,v 1.4 2014/08/10 17:55:08 joerg Exp $"); +__RCSID("$NetBSD: compat_semctl.c,v 1.5 2014/08/13 14:43:48 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #define __LIBC12_SOURCE__ @@ -46,6 +46,9 @@ __RCSID("$NetBSD: compat_semctl.c,v 1.4 #include <sys/null.h> #include <compat/sys/sem.h> #include <stdarg.h> +#if defined(__clang__) && defined(__powerpc__) && !defined(__powerpc64__) +#define __lint__ +#endif #ifdef __lint__ #include <string.h> #endif Index: src/lib/libc/sys/semctl.c diff -u src/lib/libc/sys/semctl.c:1.16 src/lib/libc/sys/semctl.c:1.17 --- src/lib/libc/sys/semctl.c:1.16 Sun Aug 10 17:55:09 2014 +++ src/lib/libc/sys/semctl.c Wed Aug 13 14:43:48 2014 @@ -1,4 +1,4 @@ -/* $NetBSD: semctl.c,v 1.16 2014/08/10 17:55:09 joerg Exp $ */ +/* $NetBSD: semctl.c,v 1.17 2014/08/13 14:43:48 joerg Exp $ */ /*- * Copyright (c) 2000 The NetBSD Foundation, Inc. @@ -30,13 +30,16 @@ */ #include <sys/cdefs.h> #if defined(LIBC_SCCS) && !defined(lint) -__RCSID("$NetBSD: semctl.c,v 1.16 2014/08/10 17:55:09 joerg Exp $"); +__RCSID("$NetBSD: semctl.c,v 1.17 2014/08/13 14:43:48 joerg Exp $"); #endif /* LIBC_SCCS and not lint */ #include <sys/types.h> #include <sys/ipc.h> #include <sys/sem.h> #include <stdarg.h> +#if defined(__clang__) && defined(__powerpc__) && !defined(__powerpc64__) +#define __lint__ +#endif #ifdef __lint__ #include <string.h> #endif