-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge tag 'perf-urgent-2020-04-19' of git://git.kernel.org/pub/scm/li…
…nux/kernel/git/tip/tip Pull perf tooling fixes and updates from Thomas Gleixner: - Fix the header line of perf stat output for '--metric-only --per-socket' - Fix the python build with clang - The usual tools UAPI header synchronization * tag 'perf-urgent-2020-04-19' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: tools headers: Synchronize linux/bits.h with the kernel sources tools headers: Adopt verbatim copy of compiletime_assert() from kernel sources tools headers: Update x86's syscall_64.tbl with the kernel sources tools headers UAPI: Sync drm/i915_drm.h with the kernel sources tools headers UAPI: Update tools's copy of drm.h headers tools headers kvm: Sync linux/kvm.h with the kernel sources tools headers UAPI: Sync linux/fscrypt.h with the kernel sources tools include UAPI: Sync linux/vhost.h with the kernel sources tools arch x86: Sync asm/cpufeatures.h with the kernel sources tools headers UAPI: Sync linux/mman.h with the kernel tools headers UAPI: Sync sched.h with the kernel tools headers: Update linux/vdso.h and grab a copy of vdso/const.h perf stat: Fix no metric header if --per-socket and --metric-only set perf python: Check if clang supports -fno-semantic-interposition tools arch x86: Sync the msr-index.h copy with the kernel sources
- Loading branch information
Showing
22 changed files
with
646 additions
and
387 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
/* SPDX-License-Identifier: GPL-2.0 */ | ||
#ifndef _LINUX_BUILD_BUG_H | ||
#define _LINUX_BUILD_BUG_H | ||
|
||
#include <linux/compiler.h> | ||
|
||
#ifdef __CHECKER__ | ||
#define BUILD_BUG_ON_ZERO(e) (0) | ||
#else /* __CHECKER__ */ | ||
/* | ||
* Force a compilation error if condition is true, but also produce a | ||
* result (of value 0 and type int), so the expression can be used | ||
* e.g. in a structure initializer (or where-ever else comma expressions | ||
* aren't permitted). | ||
*/ | ||
#define BUILD_BUG_ON_ZERO(e) ((int)(sizeof(struct { int:(-!!(e)); }))) | ||
#endif /* __CHECKER__ */ | ||
|
||
/* Force a compilation error if a constant expression is not a power of 2 */ | ||
#define __BUILD_BUG_ON_NOT_POWER_OF_2(n) \ | ||
BUILD_BUG_ON(((n) & ((n) - 1)) != 0) | ||
#define BUILD_BUG_ON_NOT_POWER_OF_2(n) \ | ||
BUILD_BUG_ON((n) == 0 || (((n) & ((n) - 1)) != 0)) | ||
|
||
/* | ||
* BUILD_BUG_ON_INVALID() permits the compiler to check the validity of the | ||
* expression but avoids the generation of any code, even if that expression | ||
* has side-effects. | ||
*/ | ||
#define BUILD_BUG_ON_INVALID(e) ((void)(sizeof((__force long)(e)))) | ||
|
||
/** | ||
* BUILD_BUG_ON_MSG - break compile if a condition is true & emit supplied | ||
* error message. | ||
* @condition: the condition which the compiler should know is false. | ||
* | ||
* See BUILD_BUG_ON for description. | ||
*/ | ||
#define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg) | ||
|
||
/** | ||
* BUILD_BUG_ON - break compile if a condition is true. | ||
* @condition: the condition which the compiler should know is false. | ||
* | ||
* If you have some code which relies on certain constants being equal, or | ||
* some other compile-time-evaluated condition, you should use BUILD_BUG_ON to | ||
* detect if someone changes it. | ||
*/ | ||
#define BUILD_BUG_ON(condition) \ | ||
BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition) | ||
|
||
/** | ||
* BUILD_BUG - break compile if used. | ||
* | ||
* If you have some code that you expect the compiler to eliminate at | ||
* build time, you should use BUILD_BUG to detect if it is | ||
* unexpectedly used. | ||
*/ | ||
#define BUILD_BUG() BUILD_BUG_ON_MSG(1, "BUILD_BUG failed") | ||
|
||
/** | ||
* static_assert - check integer constant expression at build time | ||
* | ||
* static_assert() is a wrapper for the C11 _Static_assert, with a | ||
* little macro magic to make the message optional (defaulting to the | ||
* stringification of the tested expression). | ||
* | ||
* Contrary to BUILD_BUG_ON(), static_assert() can be used at global | ||
* scope, but requires the expression to be an integer constant | ||
* expression (i.e., it is not enough that __builtin_constant_p() is | ||
* true for expr). | ||
* | ||
* Also note that BUILD_BUG_ON() fails the build if the condition is | ||
* true, while static_assert() fails the build if the expression is | ||
* false. | ||
*/ | ||
#ifndef static_assert | ||
#define static_assert(expr, ...) __static_assert(expr, ##__VA_ARGS__, #expr) | ||
#define __static_assert(expr, msg, ...) _Static_assert(expr, msg) | ||
#endif // static_assert | ||
|
||
#endif /* _LINUX_BUILD_BUG_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,9 +1,6 @@ | ||
#ifndef _LINUX_CONST_H | ||
#define _LINUX_CONST_H | ||
|
||
#include <uapi/linux/const.h> | ||
|
||
#define UL(x) (_UL(x)) | ||
#define ULL(x) (_ULL(x)) | ||
#include <vdso/const.h> | ||
|
||
#endif /* _LINUX_CONST_H */ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.