mirror of
https://github.com/torvalds/linux.git
synced 2024-11-01 04:53:36 +01:00
tools headers: Update the linux/unaligned.h copy with the kernel sources
To pick up the changes in:
7f053812da
("random: vDSO: minimize and simplify header includes")
That required adding a copy of include/vdso/unaligned.h and its checking
in tools/perf/check-headers.h.
Addressing this perf tools build warning:
Warning: Kernel ABI header differences:
diff -u tools/include/linux/unaligned.h include/linux/unaligned.h
Please see tools/include/uapi/README for further details.
Cc: Adrian Hunter <adrian.hunter@intel.com>
Cc: Christophe Leroy <christophe.leroy@csgroup.eu>
Cc: Ian Rogers <irogers@google.com>
Cc: Jason A. Donenfeld <Jason@zx2c4.com>
Cc: Jiri Olsa <jolsa@kernel.org>
Cc: Kan Liang <kan.liang@linux.intel.com>
Cc: Namhyung Kim <namhyung@kernel.org>
Link: https://lore.kernel.org/lkml/Zx-uHvAbPAESofEN@x1
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
93e4b86b3e
commit
55f1b540d8
3 changed files with 17 additions and 10 deletions
|
@ -9,16 +9,7 @@
|
||||||
#pragma GCC diagnostic push
|
#pragma GCC diagnostic push
|
||||||
#pragma GCC diagnostic ignored "-Wpacked"
|
#pragma GCC diagnostic ignored "-Wpacked"
|
||||||
#pragma GCC diagnostic ignored "-Wattributes"
|
#pragma GCC diagnostic ignored "-Wattributes"
|
||||||
|
#include <vdso/unaligned.h>
|
||||||
#define __get_unaligned_t(type, ptr) ({ \
|
|
||||||
const struct { type x; } __packed *__pptr = (typeof(__pptr))(ptr); \
|
|
||||||
__pptr->x; \
|
|
||||||
})
|
|
||||||
|
|
||||||
#define __put_unaligned_t(type, val, ptr) do { \
|
|
||||||
struct { type x; } __packed *__pptr = (typeof(__pptr))(ptr); \
|
|
||||||
__pptr->x = (val); \
|
|
||||||
} while (0)
|
|
||||||
|
|
||||||
#define get_unaligned(ptr) __get_unaligned_t(typeof(*(ptr)), (ptr))
|
#define get_unaligned(ptr) __get_unaligned_t(typeof(*(ptr)), (ptr))
|
||||||
#define put_unaligned(val, ptr) __put_unaligned_t(typeof(*(ptr)), (val), (ptr))
|
#define put_unaligned(val, ptr) __put_unaligned_t(typeof(*(ptr)), (val), (ptr))
|
||||||
|
|
15
tools/include/vdso/unaligned.h
Normal file
15
tools/include/vdso/unaligned.h
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
/* SPDX-License-Identifier: GPL-2.0 */
|
||||||
|
#ifndef __VDSO_UNALIGNED_H
|
||||||
|
#define __VDSO_UNALIGNED_H
|
||||||
|
|
||||||
|
#define __get_unaligned_t(type, ptr) ({ \
|
||||||
|
const struct { type x; } __packed *__pptr = (typeof(__pptr))(ptr); \
|
||||||
|
__pptr->x; \
|
||||||
|
})
|
||||||
|
|
||||||
|
#define __put_unaligned_t(type, val, ptr) do { \
|
||||||
|
struct { type x; } __packed *__pptr = (typeof(__pptr))(ptr); \
|
||||||
|
__pptr->x = (val); \
|
||||||
|
} while (0)
|
||||||
|
|
||||||
|
#endif /* __VDSO_UNALIGNED_H */
|
|
@ -22,6 +22,7 @@ FILES=(
|
||||||
"include/vdso/bits.h"
|
"include/vdso/bits.h"
|
||||||
"include/linux/const.h"
|
"include/linux/const.h"
|
||||||
"include/vdso/const.h"
|
"include/vdso/const.h"
|
||||||
|
"include/vdso/unaligned.h"
|
||||||
"include/linux/hash.h"
|
"include/linux/hash.h"
|
||||||
"include/linux/list-sort.h"
|
"include/linux/list-sort.h"
|
||||||
"include/uapi/linux/hw_breakpoint.h"
|
"include/uapi/linux/hw_breakpoint.h"
|
||||||
|
|
Loading…
Reference in a new issue