if [ $# -ne 2 ] then echo"Usage: headers_install.sh INFILE OUTFILE" echo echo"Prepares kernel header files for use by user space, by removing" echo"all compiler.h definitions and #includes, removing any" echo"#ifdef __KERNEL__ sections, and putting __underscores__ around" echo"asm/inline/volatile keywords." echo echo"INFILE: header file to operate on" echo"OUTFILE: output file which the processed header is written to"
# SPDX-License-Identifier with GPL variants must have "WITH Linux-syscall-note" if [ -n "$(sed -n -e "/SPDX-License-Identifier:.*GPL-/{/WITH Linux-syscall-note/!p}" $INFILE)" ]; then echo"error: $INFILE: missing \"WITH Linux-syscall-note\" for SPDX-License-Identifier" >&2
exit 1 fi
# Remove /* ... */ style comments, and find CONFIG_ references in code
configs=$(sed -e '
:comment
s:/\*[^*][^*]*:/*:
s:/\*\*\**\([^/]\):/*\1:
t comment
s:/\*\*/: :
t comment
/\/\*/! b check
N
b comment
:print
P
D
:check
s:^\(CONFIG_[[:alnum:]_]*\):\1\n:
t print
s:^[[:alnum:]_][[:alnum:]_]*::
s:^[^[:alnum:]_][^[:alnum:]_]*::
t check
d ' $OUTFILE)
# The entries in the following list do not result in an error. # Please do not add a new entry. This list is only for existing ones. # The list will be reduced gradually, and deleted eventually. (hopefully) # # The format is <file-name>:<CONFIG-option> in each line.
config_leak_ignores="
arch/arc/include/uapi/asm/page.h:CONFIG_ARC_PAGE_SIZE_16K
arch/arc/include/uapi/asm/page.h:CONFIG_ARC_PAGE_SIZE_4K
arch/arc/include/uapi/asm/swab.h:CONFIG_ARC_HAS_SWAPE
arch/arm/include/uapi/asm/ptrace.h:CONFIG_CPU_ENDIAN_BE8
arch/nios2/include/uapi/asm/swab.h:CONFIG_NIOS2_CI_SWAB_NO
arch/nios2/include/uapi/asm/swab.h:CONFIG_NIOS2_CI_SWAB_SUPPORT
arch/x86/include/uapi/asm/auxvec.h:CONFIG_IA32_EMULATION
arch/x86/include/uapi/asm/auxvec.h:CONFIG_X86_64 "
for c in $configs do
leak_error=1
for ignore in $config_leak_ignores do ifecho"$INFILE:$c" | grep -q "$ignore$"; then
leak_error=
break fi done
if [ "$leak_error" = 1 ]; then echo"error: $INFILE: leak $c to user-space" >&2
exit 1 fi done
rm -f $TMPFILE
trap - EXIT
¤ Dauer der Verarbeitung: 0.15 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.