am e00f4890
: Merge "Move bionic over to GCC\'s \'warning\' attribute."
* commit 'e00f4890c71e9c9eb715faf2c7443732b2fdfae3': Move bionic over to GCC's 'warning' attribute.
This commit is contained in:
commit
debc37b4fb
@ -1,19 +0,0 @@
|
||||
/* $OpenBSD: cdefs.h,v 1.2 2005/11/24 20:46:44 deraadt Exp $ */
|
||||
|
||||
#ifndef _MACHINE_CDEFS_H_
|
||||
#define _MACHINE_CDEFS_H_
|
||||
|
||||
#if defined(lint)
|
||||
#define __indr_reference(sym,alias) __lint_equal__(sym,alias)
|
||||
#define __warn_references(sym,msg)
|
||||
#define __weak_alias(alias,sym) __lint_equal__(sym,alias)
|
||||
#elif defined(__GNUC__) && defined(__STDC__)
|
||||
#define __weak_alias(alias,sym) \
|
||||
__asm__(".weak " __STRING(alias) " ; " __STRING(alias) \
|
||||
" = " __STRING(sym));
|
||||
#define __warn_references(sym,msg) \
|
||||
__asm__(".section .gnu.warning." __STRING(sym) \
|
||||
" ; .ascii \"" msg "\" ; .text");
|
||||
#endif
|
||||
|
||||
#endif /* !_MACHINE_CDEFS_H_ */
|
@ -1,47 +0,0 @@
|
||||
/* $OpenBSD: cdefs.h,v 1.4 2006/01/10 00:04:04 millert Exp $ */
|
||||
|
||||
/*
|
||||
* Copyright (c) 2002-2003 Opsycon AB (www.opsycon.se / www.opsycon.com)
|
||||
*
|
||||
* 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 ``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.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef _MIPS_CDEFS_H_
|
||||
#define _MIPS_CDEFS_H_
|
||||
|
||||
#if defined(lint)
|
||||
#define __indr_reference(sym,alias) __lint_equal__(sym,alias)
|
||||
#define __warn_references(sym,msg)
|
||||
#define __weak_alias(alias,sym) __lint_equal__(sym,alias)
|
||||
#elif defined(__GNUC__) && defined(__STDC__)
|
||||
#define __weak_alias(alias,sym) \
|
||||
__asm__(".weak " __STRING(alias) " ; " \
|
||||
__STRING(alias) " = " __STRING(sym))
|
||||
#define __warn_references(sym,msg) \
|
||||
__asm__(".section .gnu.warning." __STRING(sym) \
|
||||
" ; .ascii \"" msg "\" ; .text")
|
||||
#define __indr_references(sym,msg) /* nothing */
|
||||
#endif
|
||||
|
||||
#endif /* !_MIPS_CDEFS_H_ */
|
@ -1,24 +0,0 @@
|
||||
/* $OpenBSD: cdefs.h,v 1.9 2005/11/24 20:46:45 deraadt Exp $ */
|
||||
|
||||
/*
|
||||
* Written by J.T. Conklin <jtc@wimsey.com> 01/17/95.
|
||||
* Public domain.
|
||||
*/
|
||||
|
||||
#ifndef _MACHINE_CDEFS_H_
|
||||
#define _MACHINE_CDEFS_H_
|
||||
|
||||
#if defined(lint)
|
||||
#define __indr_reference(sym,alias) __lint_equal__(sym,alias)
|
||||
#define __warn_references(sym,msg)
|
||||
#define __weak_alias(alias,sym) __lint_equal__(sym,alias)
|
||||
#elif defined(__GNUC__) && defined(__STDC__)
|
||||
#define __weak_alias(alias,sym) \
|
||||
__asm__(".weak " __STRING(alias) " ; " \
|
||||
__STRING(alias) " = " __STRING(sym));
|
||||
#define __warn_references(sym,msg) \
|
||||
__asm__(".section .gnu.warning." __STRING(sym) \
|
||||
" ; .ascii \"" msg "\" ; .text");
|
||||
#endif
|
||||
|
||||
#endif /* !_MACHINE_CDEFS_H_ */
|
@ -1,21 +0,0 @@
|
||||
/* $OpenBSD: cdefs.h,v 1.3 2013/03/28 17:30:45 martynas Exp $ */
|
||||
|
||||
/*
|
||||
* Written by J.T. Conklin <jtc@wimsey.com> 01/17/95.
|
||||
* Public domain.
|
||||
*/
|
||||
|
||||
#ifndef _MACHINE_CDEFS_H_
|
||||
#define _MACHINE_CDEFS_H_
|
||||
|
||||
#define __strong_alias(alias,sym) \
|
||||
__asm__(".global " __STRING(alias) " ; " __STRING(alias) \
|
||||
" = " __STRING(sym))
|
||||
#define __weak_alias(alias,sym) \
|
||||
__asm__(".weak " __STRING(alias) " ; " __STRING(alias) \
|
||||
" = " __STRING(sym))
|
||||
#define __warn_references(sym,msg) \
|
||||
__asm__(".section .gnu.warning." __STRING(sym) \
|
||||
" ; .ascii \"" msg "\" ; .text")
|
||||
|
||||
#endif /* !_MACHINE_CDEFS_H_ */
|
@ -222,13 +222,13 @@ int getchar(void);
|
||||
ssize_t getdelim(char ** __restrict, size_t * __restrict, int,
|
||||
FILE * __restrict);
|
||||
ssize_t getline(char ** __restrict, size_t * __restrict, FILE * __restrict);
|
||||
char *gets(char *);
|
||||
|
||||
#if __BSD_VISIBLE && !defined(__SYS_ERRLIST)
|
||||
#define __SYS_ERRLIST
|
||||
|
||||
extern int sys_nerr; /* perror(3) external variables */
|
||||
extern char *sys_errlist[];
|
||||
#endif
|
||||
|
||||
void perror(const char *);
|
||||
int printf(const char * __restrict, ...)
|
||||
__printflike(1, 2);
|
||||
@ -251,13 +251,16 @@ int vprintf(const char * __restrict, __va_list)
|
||||
__printflike(1, 0);
|
||||
|
||||
#ifndef __AUDIT__
|
||||
char *gets(char *);
|
||||
int sprintf(char * __restrict, const char * __restrict, ...)
|
||||
__printflike(2, 3);
|
||||
char *tmpnam(char *);
|
||||
int vsprintf(char * __restrict, const char * __restrict,
|
||||
__va_list)
|
||||
__printflike(2, 0);
|
||||
char* gets(char*) __warnattr("gets is very unsafe; consider using fgets");
|
||||
int sprintf(char* __restrict, const char* __restrict, ...)
|
||||
__printflike(2, 3) __warnattr("sprintf is often misused; please use snprintf");
|
||||
char* tmpnam(char*) __warnattr("tmpnam possibly used unsafely; consider using mkstemp");
|
||||
int vsprintf(char* __restrict, const char* __restrict, __va_list)
|
||||
__printflike(2, 0) __warnattr("vsprintf is often misused; please use vsnprintf");
|
||||
#if __XPG_VISIBLE
|
||||
char* tempnam(const char*, const char*)
|
||||
__warnattr("tempnam possibly used unsafely; consider using mkstemp");
|
||||
#endif
|
||||
#endif
|
||||
|
||||
extern int rename(const char*, const char*);
|
||||
@ -320,9 +323,6 @@ int putc_unlocked(int, FILE *);
|
||||
int putchar_unlocked(int);
|
||||
#endif /* __POSIX_VISIBLE >= 199506 */
|
||||
|
||||
#if __XPG_VISIBLE
|
||||
char *tempnam(const char *, const char *);
|
||||
#endif
|
||||
__END_DECLS
|
||||
|
||||
#endif /* __BSD_VISIBLE || __POSIX_VISIBLE || __XPG_VISIBLE */
|
||||
|
@ -51,9 +51,9 @@ extern int setenv(const char *, const char *, int);
|
||||
extern int unsetenv(const char *);
|
||||
extern int clearenv(void);
|
||||
|
||||
extern char *mkdtemp(char *);
|
||||
extern char *mktemp(char *);
|
||||
extern int mkstemp(char *);
|
||||
extern char* mkdtemp(char*);
|
||||
extern char* mktemp(char*) __warnattr("mktemp possibly used unsafely; consider using mkstemp");
|
||||
extern int mkstemp(char*);
|
||||
|
||||
extern long strtol(const char *, char **, int);
|
||||
extern long long strtoll(const char *, char **, int);
|
||||
|
@ -334,8 +334,10 @@
|
||||
|
||||
#if __GNUC_PREREQ__(4, 3)
|
||||
#define __errordecl(name, msg) extern void name(void) __attribute__((__error__(msg)))
|
||||
#define __warnattr(msg) __attribute__((__warning__(msg)))
|
||||
#else
|
||||
#define __errordecl(name, msg) extern void name(void)
|
||||
#define __warnattr(msg)
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
@ -38,20 +38,10 @@
|
||||
#define _C_LABEL_STRING(x) x
|
||||
#endif
|
||||
|
||||
#if __STDC__
|
||||
#define ___RENAME(x) __asm__(___STRING(_C_LABEL(x)))
|
||||
#else
|
||||
#ifdef __LEADING_UNDERSCORE
|
||||
#define ___RENAME(x) ____RENAME(_/**/x)
|
||||
#define ____RENAME(x) __asm__(___STRING(x))
|
||||
#else
|
||||
#define ___RENAME(x) __asm__(___STRING(x))
|
||||
#endif
|
||||
#endif
|
||||
|
||||
#define __indr_reference(sym,alias) /* nada, since we do weak refs */
|
||||
|
||||
#if __STDC__
|
||||
#define __strong_alias(alias,sym) \
|
||||
__asm__(".global " _C_LABEL_STRING(#alias) "\n" \
|
||||
_C_LABEL_STRING(#alias) " = " _C_LABEL_STRING(#sym));
|
||||
@ -61,39 +51,15 @@
|
||||
_C_LABEL_STRING(#alias) " = " _C_LABEL_STRING(#sym));
|
||||
#define __weak_extern(sym) \
|
||||
__asm__(".weak " _C_LABEL_STRING(#sym));
|
||||
|
||||
/* We use __warnattr instead of __warn_references.
|
||||
* TODO: remove this and put an empty definition in one of the upstream-* compatibility headers.
|
||||
*/
|
||||
#define __warn_references(sym,msg) \
|
||||
__asm__(".section .gnu.warning." #sym "\n\t.ascii \"" msg "\"\n\t.text");
|
||||
/*__asm__(".section .gnu.warning." #sym "\n\t.ascii \"" msg "\"\n\t.text");*/
|
||||
|
||||
#else /* !__STDC__ */
|
||||
|
||||
#ifdef __LEADING_UNDERSCORE
|
||||
#define __weak_alias(alias,sym) ___weak_alias(_/**/alias,_/**/sym)
|
||||
#define ___weak_alias(alias,sym) \
|
||||
__asm__(".weak alias\nalias = sym");
|
||||
#else
|
||||
#define __weak_alias(alias,sym) \
|
||||
__asm__(".weak alias\nalias = sym");
|
||||
#endif
|
||||
#ifdef __LEADING_UNDERSCORE
|
||||
#define __weak_extern(sym) ___weak_extern(_/**/sym)
|
||||
#define ___weak_extern(sym) \
|
||||
__asm__(".weak sym");
|
||||
#else
|
||||
#define __weak_extern(sym) \
|
||||
__asm__(".weak sym");
|
||||
#endif
|
||||
#define __warn_references(sym,msg) \
|
||||
__asm__(".section .gnu.warning.sym\n\t.ascii msg ; .text");
|
||||
|
||||
#endif /* !__STDC__ */
|
||||
|
||||
#if __STDC__
|
||||
#define __SECTIONSTRING(_sec, _str) \
|
||||
__asm__(".section " #_sec "\n\t.asciz \"" _str "\"\n\t.previous")
|
||||
#else
|
||||
#define __SECTIONSTRING(_sec, _str) \
|
||||
__asm__(".section _sec\n\t.asciz _str\n\t.previous")
|
||||
#endif
|
||||
|
||||
/* GCC visibility helper macro */
|
||||
/* This must be used to tag non-static functions that are private, i.e.
|
||||
|
Loading…
Reference in New Issue
Block a user