libpayload: Replace include/compiler.h with commonlib/bsd's version

This ensures that it's available under BSD license terms.

Change-Id: Ica13014b847473fee02516be0b27684c6cfb07bc
Signed-off-by: Patrick Georgi <pgeorgi@google.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/43964
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
This commit is contained in:
Patrick Georgi 2020-07-27 12:22:34 +02:00
parent afeb7b3f68
commit ae010c619f
1 changed files with 26 additions and 16 deletions

View File

@ -1,29 +1,39 @@
/* /* SPDX-License-Identifier: BSD-3-Clause OR GPL-2.0-only */
*
* Copyright 2017 Google Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; version 2 of the License.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
#ifndef __COMPILER_H__ #ifndef _COMMONLIB_BSD_COMPILER_H_
#define __COMPILER_H__ #define _COMMONLIB_BSD_COMPILER_H_
#ifndef __packed
#if defined(__WIN32) || defined(__WIN64) #if defined(__WIN32) || defined(__WIN64)
#define __packed __attribute__((gcc_struct, packed)) #define __packed __attribute__((gcc_struct, packed))
#else #else
#define __packed __attribute__((packed)) #define __packed __attribute__((packed))
#endif #endif
#endif
#ifndef __aligned
#define __aligned(x) __attribute__((aligned(x))) #define __aligned(x) __attribute__((aligned(x)))
#endif
#ifndef __always_unused
#define __always_unused __attribute__((unused)) #define __always_unused __attribute__((unused))
#endif
#ifndef __must_check
#define __must_check __attribute__((warn_unused_result)) #define __must_check __attribute__((warn_unused_result))
#endif
#ifndef __weak
#define __weak __attribute__((weak))
#endif
#ifndef __noreturn
#define __noreturn __attribute__((noreturn))
#endif
#ifndef __always_inline
#define __always_inline inline __attribute__((always_inline))
#endif
/* This evaluates to the type of the first expression, unless that is constant /* This evaluates to the type of the first expression, unless that is constant
in which case it evalutates to the type of the second. This is useful when in which case it evalutates to the type of the second. This is useful when
@ -32,7 +42,7 @@
literals. By using this macro, the promotion can happen at the time the literals. By using this macro, the promotion can happen at the time the
literal is assigned to the temporary variable. If the literal doesn't fit in literal is assigned to the temporary variable. If the literal doesn't fit in
the chosen type, -Werror=overflow will catch it, so this should be safe. */ the chosen type, -Werror=overflow will catch it, so this should be safe. */
#define __TYPEOF_UNLESS_CONST(expr, fallback_expr) typeof( \ #define __TYPEOF_UNLESS_CONST(expr, fallback_expr) __typeof__( \
__builtin_choose_expr(__builtin_constant_p(expr), fallback_expr, expr)) __builtin_choose_expr(__builtin_constant_p(expr), fallback_expr, expr))
/* This creates a unique local variable name for use in macros. */ /* This creates a unique local variable name for use in macros. */