Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F171065125
D14323.id39195.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
35 KB
Referenced Files
None
Subscribers
None
D14323.id39195.diff
View Options
Index: include/varargs.h
===================================================================
--- include/varargs.h
+++ include/varargs.h
@@ -31,15 +31,7 @@
#ifndef _VARARGS_H_
#define _VARARGS_H_
-#if defined(__GNUC__) && (__GNUC__ == 3 && __GNUC_MINOR__ > 2 || __GNUC__ >= 4)
-
-#error "<varargs.h> is obsolete with this version of GCC."
+#error "<varargs.h> is obsolete."
#error "Change your code to use <stdarg.h> instead."
-#else /* ! __GNUC__ post GCC 3.3 */
-
-#include <machine/varargs.h>
-
-#endif /* __GNUC__ post GCC 3.3 */
-
#endif /* !_VARARGS_H_ */
Index: sys/amd64/include/varargs.h
===================================================================
--- sys/amd64/include/varargs.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*-
- * SPDX-License-Identifier: BSD-4-Clause
- *
- * Copyright (c) 2002 David E. O'Brien. All rights reserved.
- * Copyright (c) 1990, 1993
- * The Regents of the University of California. All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Berkeley and its contributors.
- * 4. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)varargs.h 8.2 (Berkeley) 3/22/94
- * $FreeBSD$
- */
-
-#ifndef _MACHINE_VARARGS_H_
-#define _MACHINE_VARARGS_H_
-
-#ifndef _SYS_CDEFS_H_
-#error this file needs sys/cdefs.h as a prerequisite
-#endif
-
-#ifdef __GNUCLIKE_BUILTIN_VARARGS
-
-#include <sys/_types.h>
-
-#ifndef _VA_LIST_DECLARED
-#define _VA_LIST_DECLARED
-typedef __va_list va_list;
-#endif
-
-typedef int __builtin_va_alist_t __attribute__((__mode__(__word__)));
-
-#define va_alist __builtin_va_alist
-#define va_dcl __builtin_va_alist_t __builtin_va_alist; ...
-#define va_start(ap) __builtin_varargs_start(ap)
-#define va_arg(ap, type) __builtin_va_arg((ap), type)
-#define va_end(ap) __builtin_va_end(ap)
-
-#else /* !__GNUCLIKE_BUILTIN_VARARGS */
-
-typedef char *va_list;
-
-#define __va_size(type) \
- (((sizeof(type) + sizeof(int) - 1) / sizeof(int)) * sizeof(int))
-
-#if defined(__GNUCLIKE_BUILTIN_VAALIST)
-#define va_alist __builtin_va_alist
-#endif
-#define va_dcl int va_alist; ...
-
-#define va_start(ap) \
- ((ap) = (va_list)&va_alist)
-
-#define va_arg(ap, type) \
- (*(type *)((ap) += __va_size(type), (ap) - __va_size(type)))
-
-#define va_end(ap)
-
-#endif /* __GNUCLIKE_BUILTIN_VARARGS */
-
-#endif /* !_MACHINE_VARARGS_H_ */
Index: sys/i386/include/varargs.h
===================================================================
--- sys/i386/include/varargs.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*-
- * SPDX-License-Identifier: BSD-3-Clause
- *
- * Copyright (c) 2002 David E. O'Brien. All rights reserved.
- * Copyright (c) 1990, 1993
- * The Regents of the University of California. All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)varargs.h 8.2 (Berkeley) 3/22/94
- * $FreeBSD$
- */
-
-#ifndef _MACHINE_VARARGS_H_
-#define _MACHINE_VARARGS_H_
-
-#ifndef _SYS_CDEFS_H_
-#error this file needs sys/cdefs.h as a prerequisite
-#endif
-
-#ifdef __GNUCLIKE_BUILTIN_VARARGS
-
-#include <sys/_types.h>
-
-#ifndef _VA_LIST_DECLARED
-#define _VA_LIST_DECLARED
-typedef __va_list va_list;
-#endif
-
-typedef int __builtin_va_alist_t __attribute__((__mode__(__word__)));
-
-#define va_alist __builtin_va_alist
-#define va_dcl __builtin_va_alist_t __builtin_va_alist; ...
-#define va_start(ap) __builtin_varargs_start(ap)
-#define va_arg(ap, type) __builtin_va_arg((ap), type)
-#define va_end(ap) __builtin_va_end(ap)
-
-#else /* !__GNUCLIKE_BUILTIN_VARARGS */
-
-typedef char *va_list;
-
-#define __va_size(type) \
- (((sizeof(type) + sizeof(int) - 1) / sizeof(int)) * sizeof(int))
-
-#if defined(__GNUCLIKE_BUILTIN_VAALIST)
-#define va_alist __builtin_va_alist
-#endif
-#ifdef __CC_SUPPORTS_VARADIC_XXX
-#define va_dcl int va_alist; ...
-#else
-#define va_dcl int va_alist;
-#endif
-
-#define va_start(ap) \
- ((ap) = (va_list)&va_alist)
-
-#define va_arg(ap, type) \
- (*(type *)((ap) += __va_size(type), (ap) - __va_size(type)))
-
-#define va_end(ap)
-
-#endif /* __GNUCLIKE_BUILTIN_VARARGS */
-
-#endif /* !_MACHINE_VARARGS_H_ */
Index: sys/mips/include/stdarg.h
===================================================================
--- sys/mips/include/stdarg.h
+++ sys/mips/include/stdarg.h
@@ -1,144 +1,39 @@
-/*
- * JNPR: stdarg.h,v 1.3 2006/09/15 12:52:34 katta
+/*-
+ * SPDX-License-Identifier: BSD-2-Clause
+ *
+ * Copyright (c) 2017 Poul-Henning Kamp. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ *
* $FreeBSD$
*/
#ifndef _MACHINE_STDARG_H_
#define _MACHINE_STDARG_H_
-#include <sys/cdefs.h>
-#include <sys/_types.h>
+#include <sys/_stdarg.h>
-#if __GNUC__ >= 3
-
-#ifndef _VA_LIST_DECLARED
-#define _VA_LIST_DECLARED
-typedef __va_list va_list;
-#endif
-#define va_start(v,l) __builtin_va_start((v),l)
-#define va_end __builtin_va_end
-#define va_arg __builtin_va_arg
-#define va_copy __builtin_va_copy
-
-#else /* __GNUC__ */
-
-
-/* ---------------------------------------- */
-/* VARARGS for MIPS/GNU CC */
-/* ---------------------------------------- */
-
-#include <machine/endian.h>
-
-/* These macros implement varargs for GNU C--either traditional or ANSI. */
-
-/* Define __gnuc_va_list. */
-
-#ifndef __GNUC_VA_LIST
-#define __GNUC_VA_LIST
-
-typedef char * __gnuc_va_list;
-typedef __gnuc_va_list va_list;
-
-#endif /* ! __GNUC_VA_LIST */
-
-/* If this is for internal libc use, don't define anything but
- __gnuc_va_list. */
-
-#ifndef _VA_MIPS_H_ENUM
-#define _VA_MIPS_H_ENUM
-enum {
- __no_type_class = -1,
- __void_type_class,
- __integer_type_class,
- __char_type_class,
- __enumeral_type_class,
- __boolean_type_class,
- __pointer_type_class,
- __reference_type_class,
- __offset_type_class,
- __real_type_class,
- __complex_type_class,
- __function_type_class,
- __method_type_class,
- __record_type_class,
- __union_type_class,
- __array_type_class,
- __string_type_class,
- __set_type_class,
- __file_type_class,
- __lang_type_class
-};
-#endif
-
-/* In GCC version 2, we want an ellipsis at the end of the declaration
- of the argument list. GCC version 1 can't parse it. */
-
-#if __GNUC__ > 1
-#define __va_ellipsis ...
-#else
-#define __va_ellipsis
+#ifndef va_start
+ #error this file needs to be ported to your compiler
#endif
-
-#define va_start(__AP, __LASTARG) \
- (__AP = (__gnuc_va_list) __builtin_next_arg (__LASTARG))
-
-#define va_end(__AP) ((void)0)
-
-
-/* We cast to void * and then to TYPE * because this avoids
- a warning about increasing the alignment requirement. */
-/* The __mips64 cases are reversed from the 32 bit cases, because the standard
- 32 bit calling convention left-aligns all parameters smaller than a word,
- whereas the __mips64 calling convention does not (and hence they are
- right aligned). */
-
-#ifdef __mips64
-
-#define __va_rounded_size(__TYPE) (((sizeof (__TYPE) + 8 - 1) / 8) * 8)
-
-#define __va_reg_size 8
-
-#if defined(__MIPSEB__) || (BYTE_ORDER == BIG_ENDIAN)
-#define va_arg(__AP, __type) \
- ((__type *) (void *) (__AP = (char *) \
- ((((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8) \
- + __va_rounded_size (__type))))[-1]
-#else /* ! __MIPSEB__ && !BYTE_ORDER == BIG_ENDIAN */
-#define va_arg(__AP, __type) \
- ((__AP = (char *) ((((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8) \
- + __va_rounded_size (__type))), \
- *(__type *) (void *) (__AP - __va_rounded_size (__type)))
-#endif /* ! __MIPSEB__ && !BYTE_ORDER == BIG_ENDIAN */
-
-#else /* ! __mips64 */
-
-#define __va_rounded_size(__TYPE) \
- (((sizeof (__TYPE) + sizeof (int) - 1) / sizeof (int)) * sizeof (int))
-
-#define __va_reg_size 4
-
-#if defined(__MIPSEB__) || (BYTE_ORDER == BIG_ENDIAN)
-/* For big-endian machines. */
-#define va_arg(__AP, __type) \
- ((__AP = (char *) ((__alignof__ (__type) > 4 \
- ? ((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8 \
- : ((__PTRDIFF_TYPE__)__AP + 4 - 1) & -4) \
- + __va_rounded_size (__type))), \
- *(__type *) (void *) (__AP - __va_rounded_size (__type)))
-#else /* ! __MIPSEB__ && !BYTE_ORDER == BIG_ENDIAN */
-/* For little-endian machines. */
-#define va_arg(__AP, __type) \
- ((__type *) (void *) (__AP = (char *) ((__alignof__(__type) > 4 \
- ? ((__PTRDIFF_TYPE__)__AP + 8 - 1) & -8 \
- : ((__PTRDIFF_TYPE__)__AP + 4 - 1) & -4) \
- + __va_rounded_size(__type))))[-1]
-#endif /* ! __MIPSEB__ && !BYTE_ORDER == BIG_ENDIAN */
-#endif /* ! __mips64 */
-
-/* Copy __gnuc_va_list into another variable of this type. */
-#define __va_copy(dest, src) (dest) = (src)
-#define va_copy(dest, src) (dest) = (src)
-
-#endif /* __GNUC__ */
-#endif /* _MACHINE_STDARG_H_ */
+#endif /* !_MACHINE_STDARG_H_ */
Index: sys/mips/include/varargs.h
===================================================================
--- sys/mips/include/varargs.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* $NetBSD: varargs.h,v 1.16 1999/01/22 14:19:54 mycroft Exp $ */
-
-/*-
- * SPDX-License-Identifier: BSD-3-Clause
- *
- * Copyright (c) 1992, 1993
- * The Regents of the University of California. All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)varargs.h 8.2 (Berkeley) 3/22/94
- * JNPR: varargs.h,v 1.1 2006/08/07 05:38:57 katta
- * $FreeBSD$
- */
-
-#ifndef _MIPS_VARARGS_H_
-#define _MIPS_VARARGS_H_
-
-#include <machine/stdarg.h>
-
-#if __GNUC__ == 1
-#define __va_ellipsis
-#else
-#define __va_ellipsis ...
-#endif
-
-#define va_alist __builtin_va_alist
-#define va_dcl long __builtin_va_alist; __va_ellipsis
-
-#undef va_start
-#define va_start(ap) \
- ((ap) = (va_list)&__builtin_va_alist)
-
-#endif /* !_MIPS_VARARGS_H_ */
Index: sys/powerpc/include/stdarg.h
===================================================================
--- sys/powerpc/include/stdarg.h
+++ sys/powerpc/include/stdarg.h
@@ -1,8 +1,7 @@
/*-
- * SPDX-License-Identifier: BSD-3-Clause
+ * SPDX-License-Identifier: BSD-2-Clause
*
- * Copyright (c) 2002 David E. O'Brien. All rights reserved.
- * Copyright (c) 2000 Tsubai Masanari. All rights reserved.
+ * Copyright (c) 2017 Poul-Henning Kamp. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -12,141 +11,29 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+ * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+ * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+ * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+ * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
*
- * $NetBSD: stdarg.h,v 1.5 2000/02/27 17:50:21 tsubai Exp $
* $FreeBSD$
*/
#ifndef _MACHINE_STDARG_H_
#define _MACHINE_STDARG_H_
-#include <sys/cdefs.h>
-#include <sys/_types.h>
+#include <sys/_stdarg.h>
-#ifndef _VA_LIST_DECLARED
-#define _VA_LIST_DECLARED
-typedef __va_list va_list;
+#ifndef va_start
+ #error this file needs to be ported to your compiler
#endif
-#if defined(__GNUCLIKE_BUILTIN_STDARG)
-
-#define va_start(ap, last) \
- __builtin_va_start((ap), (last))
-
-#define va_arg(ap, type) \
- __builtin_va_arg((ap), type)
-
-#if __ISO_C_VISIBLE >= 1999
-#define va_copy(dest, src) \
- __builtin_va_copy((dest), (src))
-
-#define __va_copy(dest, src) \
- va_copy((dest), (src))
-#endif
-
-#define va_end(ap) \
- __builtin_va_end(ap)
-
-#else /* !__GNUCLIKE_BUILTIN_STDARG */
-
-#ifdef __lint__
-
-#define va_start(ap, last) ((ap) = *(va_list *)0)
-#define va_arg(ap, type) (*(type *)(void *)&(ap))
-
-#else
-
-#if defined(__GNUC_VA_LIST_COMPATIBILITY)
-#define va_start(ap, last) \
- (__builtin_next_arg(last), \
- __builtin_memcpy((void *)&(ap), __builtin_saveregs (), \
- sizeof(__gnuc_va_list)))
-#else
-#define va_start(ap, last) \
- (__builtin_next_arg(last), \
- (ap).__stack = __va_stack_args, \
- (ap).__base = __va_reg_args, \
- (ap).__gpr = __va_first_gpr, \
- (ap).__fpr = __va_first_fpr)
-#endif
-
-#define __va_first_gpr (__builtin_args_info(0))
-#define __va_first_fpr (__builtin_args_info(1) - 32 - 1)
-#define __va_stack_args \
- ((char *)__builtin_saveregs() + \
- (__va_first_gpr >= 8 ? __va_first_gpr - 8 : 0) * sizeof(int))
-#define __va_reg_args \
- ((char *)__builtin_frame_address(0) + __builtin_args_info(4))
-
-#define __INTEGER_TYPE_CLASS 1
-#define __REAL_TYPE_CLASS 8
-#define __RECORD_TYPE_CLASS 12
-
-#define __va_longlong(type) \
- (__builtin_classify_type(*(type *)0) == __INTEGER_TYPE_CLASS && \
- sizeof(type) == 8)
-
-#define __va_double(type) \
- (__builtin_classify_type(*(type *)0) == __REAL_TYPE_CLASS)
-
-#define __va_struct(type) \
- (__builtin_classify_type(*(type *)0) >= __RECORD_TYPE_CLASS)
-
-#define __va_size(type) \
- ((sizeof(type) + sizeof(int) - 1) / sizeof(int) * sizeof(int))
-
-#define __va_savedgpr(ap, type) \
- ((ap).__base + (ap).__gpr * sizeof(int) - sizeof(type))
-
-#define __va_savedfpr(ap, type) \
- ((ap).__base + 8 * sizeof(int) + (ap).__fpr * sizeof(double) - \
- sizeof(type))
-
-#define __va_stack(ap, type) \
- ((ap).__stack += __va_size(type) + \
- (__va_longlong(type) ? (int)(ap).__stack & 4 : 0), \
- (ap).__stack - sizeof(type))
-
-#define __va_gpr(ap, type) \
- ((ap).__gpr += __va_size(type) / sizeof(int) + \
- (__va_longlong(type) ? (ap).__gpr & 1 : 0), \
- (ap).__gpr <= 8 ? __va_savedgpr(ap, type) : __va_stack(ap, type))
-
-#define __va_fpr(ap, type) \
- ((ap).__fpr++, \
- (ap).__fpr <= 8 ? __va_savedfpr(ap, type) : __va_stack(ap, type))
-
-#define va_arg(ap, type) \
- (*(type *)(__va_struct(type) ? (*(void **)__va_gpr(ap, void *)) : \
- __va_double(type) ? __va_fpr(ap, type) : \
- __va_gpr(ap, type)))
-
-#endif /* __lint__ */
-
-#define va_end(ap)
-
-#if __ISO_C_VISIBLE >= 1999
-#if !defined(_ANSI_SOURCE) && \
- (!defined(_POSIX_C_SOURCE) && !defined(_XOPEN_SOURCE) || \
- defined(_ISOC99_SOURCE) || (__STDC_VERSION__ - 0) >= 199901L)
-#define va_copy(dest, src) \
- ((dest) = (src))
-#endif
-#endif
-
-#endif /* __GNUCLIKE_BUILTIN_STDARG */
-
-#endif /* _MACHINE_STDARG_H_ */
+#endif /* !_MACHINE_STDARG_H_ */
Index: sys/powerpc/include/varargs.h
===================================================================
--- sys/powerpc/include/varargs.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*-
- * SPDX-License-Identifier: BSD-3-Clause
- *
- * Copyright (c) 2002 David E. O'Brien. All rights reserved.
- * Copyright (c) 2000 Tsubai Masanari. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. The name of the author may not be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
- * $NetBSD: varargs.h,v 1.5 2000/02/27 17:50:22 tsubai Exp $
- * $FreeBSD$
- */
-
-#ifndef _MACHINE_VARARGS_H_
-#define _MACHINE_VARARGS_H_
-
-#ifndef _SYS_CDEFS_H_
-#error this file needs sys/cdefs.h as a prerequisite
-#endif
-
-#if defined(__GNUCLIKE_BUILTIN_VARARGS)
-
-#include <sys/_types.h>
-
-#ifndef _VA_LIST_DECLARED
-#define _VA_LIST_DECLARED
-typedef __va_list va_list;
-#endif
-
-typedef int __builtin_va_alist_t __attribute__((__mode__(__word__)));
-
-#define va_alist __builtin_va_alist
-#define va_dcl __builtin_va_alist_t __builtin_va_alist; ...
-#define va_start(ap) __builtin_varargs_start(ap)
-#define va_arg(ap, type) __builtin_va_arg((ap), type)
-#define va_end(ap) __builtin_va_end(ap)
-
-#else /* ! __GNUCLIKE_BUILTIN_VARARGS */
-
-#include <machine/stdarg.h>
-
-#ifdef __GNUCLIKE_BUILTIN_VAALIST
-#define va_alist __builtin_va_alist
-#define va_dcl int __builtin_va_alist; ...
-#else
-#error this file needs to be ported to your compiler
-#endif
-
-#undef va_start
-
-#ifdef __lint__
-#define va_start(ap) ((ap) = *(va_list *)0)
-#else
-#define va_start(ap) \
- ((ap).__stack = __va_stack_args, \
- (ap).__base = __va_reg_args, \
- (ap).__gpr = __va_first_gpr, \
- (ap).__fpr = __va_first_fpr)
-#endif
-
-#endif /* __GNUCLIKE_BUILTIN_VARARGS */
-
-#endif /* _MACHINE_VARARGS_H_ */
Index: sys/riscv/include/stdarg.h
===================================================================
--- sys/riscv/include/stdarg.h
+++ sys/riscv/include/stdarg.h
@@ -1,7 +1,7 @@
/*-
- * Copyright (c) 2002 David E. O'Brien. All rights reserved.
- * Copyright (c) 1991, 1993
- * The Regents of the University of California. All rights reserved.
+ * SPDX-License-Identifier: BSD-2-Clause
+ *
+ * Copyright (c) 2017 Poul-Henning Kamp. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -11,14 +11,11 @@
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
*
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
@@ -27,53 +24,16 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * @(#)stdarg.h 8.1 (Berkeley) 6/10/93
* $FreeBSD$
*/
#ifndef _MACHINE_STDARG_H_
#define _MACHINE_STDARG_H_
-#include <sys/cdefs.h>
-#include <sys/_types.h>
-
-#ifndef _VA_LIST_DECLARED
-#define _VA_LIST_DECLARED
-typedef __va_list va_list;
-#endif
-
-#ifdef __GNUCLIKE_BUILTIN_STDARG
-
-#define va_start(ap, last) \
- __builtin_va_start((ap), (last))
-
-#define va_arg(ap, type) \
- __builtin_va_arg((ap), type)
+#include <sys/_stdarg.h>
-#if __ISO_C_VISIBLE >= 1999
-#define va_copy(dest, src) \
- __builtin_va_copy((dest), (src))
+#ifndef va_start
+ #error this file needs to be ported to your compiler
#endif
-#define va_end(ap) \
- __builtin_va_end(ap)
-
-#elif defined(lint)
-/* Provide a fake implementation for lint's benefit */
-#define __va_size(type) \
- (((sizeof(type) + sizeof(long) - 1) / sizeof(long)) * sizeof(long))
-#define va_start(ap, last) \
- ((ap) = (va_list)&(last) + __va_size(last))
-#define va_copy(dst, src) \
- ((dst) = (src))
-#define va_arg(ap, type) \
- (*(type *)((ap) += __va_size(type), (ap) - __va_size(type)))
-#define va_end(ap)
-
-#else /* !__GNUCLIKE_BUILTIN_STDARG */
-
-#error no support for your compiler
-
-#endif /* __GNUCLIKE_BUILTIN_STDARG */
-
#endif /* !_MACHINE_STDARG_H_ */
Index: sys/sparc64/include/stdarg.h
===================================================================
--- sys/sparc64/include/stdarg.h
+++ sys/sparc64/include/stdarg.h
@@ -1,18 +1,7 @@
/*-
- * SPDX-License-Identifier: BSD-2-Clause-FreeBSD
+ * SPDX-License-Identifier: BSD-2-Clause
*
- * Copyright (c) 2002 David E. O'Brien. All rights reserved.
- * Copyright (c) 1992, 1993
- * The Regents of the University of California. All rights reserved.
- *
- * This software was developed by the Computer Systems Engineering group
- * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
- * contributed to Berkeley.
- *
- * All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Lawrence Berkeley Laboratory.
+ * Copyright (c) 2017 Poul-Henning Kamp. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -23,10 +12,10 @@
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
*
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
@@ -35,69 +24,16 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
- * @(#)stdarg.h 8.2 (Berkeley) 9/27/93
- * $NetBSD: stdarg.h,v 1.11 2000/07/23 21:36:56 mycroft Exp $
* $FreeBSD$
*/
#ifndef _MACHINE_STDARG_H_
#define _MACHINE_STDARG_H_
-#include <sys/cdefs.h>
-#include <sys/_types.h>
-
-#ifndef _VA_LIST_DECLARED
-#define _VA_LIST_DECLARED
-typedef __va_list va_list;
-#endif
-
-#ifdef __GNUCLIKE_BUILTIN_STDARG
-
-#define va_start(ap, last) \
- __builtin_va_start((ap), (last))
-
-#define va_arg(ap, type) \
- __builtin_va_arg((ap), type)
-
-#if __ISO_C_VISIBLE >= 1999
-#define va_copy(dest, src) \
- __builtin_va_copy((dest), (src))
-#endif
-
-#define va_end(ap) \
- __builtin_va_end(ap)
+#include <sys/_stdarg.h>
-#else /* ! __GNUCLIKE_BUILTIN_STDARG */
-
-#if !defined(__GNUCLIKE_BUILTIN_NEXT_ARG) && !defined(lint)
-#error no support for your compiler
+#ifndef va_start
+ #error this file needs to be ported to your compiler
#endif
-#define va_start(ap, last) \
- (__builtin_next_arg(last), (ap) = (va_list)__builtin_saveregs())
-
-#define va_end(ap)
-
-#define __va_arg8(ap, type) \
- (*(type *)(void *)((ap) += 8, (ap) - 8))
-#define __va_arg16(ap, type) \
- (*(type *)(void *)((ap) = (va_list)(((unsigned long)(ap) + 31) & -16),\
- (ap) - 16))
-#define __va_int(ap, type) \
- (*(type *)(void *)((ap) += 8, (ap) - sizeof(type)))
-
-#define __REAL_TYPE_CLASS 8
-#define __RECORD_TYPE_CLASS 12
-#define va_arg(ap, type) \
- (__builtin_classify_type(*(type *)0) == __REAL_TYPE_CLASS ? \
- (__alignof__(type) == 16 ? __va_arg16(ap, type) : \
- __va_arg8(ap, type)) : \
- (__builtin_classify_type(*(type *)0) < __RECORD_TYPE_CLASS ? \
- __va_int(ap, type) : \
- (sizeof(type) <= 8 ? __va_arg8(ap, type) : \
- (sizeof(type) <= 16 ? __va_arg16(ap, type) : \
- *__va_arg8(ap, type *)))))
-
-#endif /* __GNUCLIKE_BUILTIN_STDARG */
-
#endif /* !_MACHINE_STDARG_H_ */
Index: sys/sparc64/include/varargs.h
===================================================================
--- sys/sparc64/include/varargs.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*-
- * SPDX-License-Identifier: BSD-3-Clause
- *
- * Copyright (c) 2002 David E. O'Brien. All rights reserved.
- * Copyright (c) 1992, 1993
- * The Regents of the University of California. All rights reserved.
- * (c) UNIX System Laboratories, Inc.
- * All or some portions of this file are derived from material licensed
- * to the University of California by American Telephone and Telegraph
- * Co. or Unix System Laboratories, Inc. and are reproduced herein with
- * the permission of UNIX System Laboratories, Inc.
- *
- * This software was developed by the Computer Systems Engineering group
- * at Lawrence Berkeley Laboratory under DARPA contract BG 91-66 and
- * contributed to Berkeley.
- *
- * All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed by the University of
- * California, Lawrence Berkeley Laboratory.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * @(#)varargs.h 8.3 (Berkeley) 3/22/94
- * $FreeBSD$
- */
-
-#ifndef _MACHINE_VARARGS_H_
-#define _MACHINE_VARARGS_H_
-
-#ifndef _SYS_CDEFS_H_
-#error this file needs sys/cdefs.h as a prerequisite
-#endif
-
-#ifdef __GNUCLIKE_BUILTIN_VARARGS
-
-#include <sys/_types.h>
-
-#ifndef _VA_LIST_DECLARED
-#define _VA_LIST_DECLARED
-typedef __va_list va_list;
-#endif
-
-typedef int __builtin_va_alist_t __attribute__((__mode__(__word__)));
-
-#define va_alist __builtin_va_alist
-#define va_dcl __builtin_va_alist_t __builtin_va_alist; ...
-#define va_start(ap) __builtin_varargs_start(ap)
-#define va_arg(ap, type) __builtin_va_arg((ap), type)
-#define va_end(ap) __builtin_va_end(ap)
-
-#else /* !__GNUCLIKE_BUILTIN_VARARGS */
-
-#include <machine/stdarg.h>
-
-#define __va_ellipsis ...
-
-#define va_alist __builtin_va_alist
-#define va_dcl long __builtin_va_alist; __va_ellipsis
-
-#undef va_start
-#define va_start(ap) \
- ((ap) = (va_list)__builtin_saveregs())
-
-#endif /* __GNUCLIKE_BUILTIN_VARARGS */
-
-#endif /* !_MACHINE_VARARGS_H_ */
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Wed, Sep 9, 12:11 PM (12 h, 12 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
38585886
Default Alt Text
D14323.id39195.diff (35 KB)
Attached To
Mode
D14323: Use standard pattern for stdargs
Attached
Detach File
Event Timeline
Log In to Comment