mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-20 21:51:05 +00:00
Kbuild updates for v5.10
- Support 'make compile_commands.json' to generate the compilation database more easily, avoiding stale entries - Support 'make clang-analyzer' and 'make clang-tidy' for static checks using clang-tidy - Preprocess scripts/modules.lds.S to allow CONFIG options in the module linker script - Drop cc-option tests from compiler flags supported by our minimal GCC/Clang versions - Use always 12-digits commit hash for CONFIG_LOCALVERSION_AUTO=y - Use sha1 build id for both BFD linker and LLD - Improve deb-pkg for reproducible builds and rootless builds - Remove stale, useless scripts/namespace.pl - Turn -Wreturn-type warning into error - Fix build error of deb-pkg when CONFIG_MODULES=n - Replace 'hostname' command with more portable 'uname -n' - Various Makefile cleanups -----BEGIN PGP SIGNATURE----- iQJJBAABCgAzFiEEbmPs18K1szRHjPqEPYsBB53g2wYFAl+RfS0VHG1hc2FoaXJv eUBrZXJuZWwub3JnAAoJED2LAQed4NsGG1QP/2hzoMzK1YXErPUhGrhYU1rxz7Nu HkLTIkyKF1HPwSJf5XyNW/FTBI4SDlkNoVg/weEDCS1yFxxpvQLIck8ChzA1kIIM P+1IfBWOTzqn91XsapU2zwSno3gylphVchVIvYAB3oLUotGeMSluy1cQtBRzyA5D rj2Q7H8fzkzk3YoBcBC/BOKDlfo/usqQ1X/gsfRFwN/BJxeZSYoujNBE7KtHaDsd 8K/ggBIqmST4NBn+M8c11d8CxzvWbtG1gq3EkUL5nG8T13DsGn1EFC0SPt85bkvv f9YywfJi37HixhZzK6tXYjN/PWoiEY6z90mhd0NtZghQT7kQMiTQ3sWrM8dX3ssf phBzO94uFQDjhyxOaSSsCoI/TIciAPo4+G8PNjcaEtj63IEfhEz/dnlstYwY5Y9P Pp3aZtVjSGJwGW2u2EUYj6paFVqjf6DXQjQKPNHnsYCEidIvFTjjguRGvx9gl6mx yd8oseOsAtOEf0alRe9MMdvN17O3UrRAxgBdap7fktg02TLVRGxZIbuwKmBf29ho ORl9zeFkYBn6XQFyuItJoXy/kYFyHDaBEPYCRQcY4dwqcjZIiAc/FhYbqYthJ59L 5vLN2etmDIVSuUv1J5nBqHHGCqJChykbqg7riQ651dCNKw4gZB8ctCay2lXhBXMg 1mqOcoG5WWL7//F+ =tZRN -----END PGP SIGNATURE----- Merge tag 'kbuild-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild Pull Kbuild updates from Masahiro Yamada: - Support 'make compile_commands.json' to generate the compilation database more easily, avoiding stale entries - Support 'make clang-analyzer' and 'make clang-tidy' for static checks using clang-tidy - Preprocess scripts/modules.lds.S to allow CONFIG options in the module linker script - Drop cc-option tests from compiler flags supported by our minimal GCC/Clang versions - Use always 12-digits commit hash for CONFIG_LOCALVERSION_AUTO=y - Use sha1 build id for both BFD linker and LLD - Improve deb-pkg for reproducible builds and rootless builds - Remove stale, useless scripts/namespace.pl - Turn -Wreturn-type warning into error - Fix build error of deb-pkg when CONFIG_MODULES=n - Replace 'hostname' command with more portable 'uname -n' - Various Makefile cleanups * tag 'kbuild-v5.10' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (34 commits) kbuild: Use uname for LINUX_COMPILE_HOST detection kbuild: Only add -fno-var-tracking-assignments for old GCC versions kbuild: remove leftover comment for filechk utility treewide: remove DISABLE_LTO kbuild: deb-pkg: clean up package name variables kbuild: deb-pkg: do not build linux-headers package if CONFIG_MODULES=n kbuild: enforce -Werror=return-type scripts: remove namespace.pl builddeb: Add support for all required debian/rules targets builddeb: Enable rootless builds builddeb: Pass -n to gzip for reproducible packages kbuild: split the build log of kallsyms kbuild: explicitly specify the build id style scripts/setlocalversion: make git describe output more reliable kbuild: remove cc-option test of -Werror=date-time kbuild: remove cc-option test of -fno-stack-check kbuild: remove cc-option test of -fno-strict-overflow kbuild: move CFLAGS_{KASAN,UBSAN,KCSAN} exports to relevant Makefiles kbuild: remove redundant CONFIG_KASAN check from scripts/Makefile.kasan kbuild: do not create built-in objects for external module builds ...
This commit is contained in:
commit
746b25b1aa
51 changed files with 511 additions and 751 deletions
|
@ -169,10 +169,9 @@ gen_btf()
|
|||
printf '\1' | dd of=${2} conv=notrunc bs=1 seek=16 status=none
|
||||
}
|
||||
|
||||
# Create ${2} .o file with all symbols from the ${1} object file
|
||||
# Create ${2} .S file with all symbols from the ${1} object file
|
||||
kallsyms()
|
||||
{
|
||||
info KSYM ${2}
|
||||
local kallsymopt;
|
||||
|
||||
if [ -n "${CONFIG_KALLSYMS_ALL}" ]; then
|
||||
|
@ -187,13 +186,8 @@ kallsyms()
|
|||
kallsymopt="${kallsymopt} --base-relative"
|
||||
fi
|
||||
|
||||
local aflags="${KBUILD_AFLAGS} ${KBUILD_AFLAGS_KERNEL} \
|
||||
${NOSTDINC_FLAGS} ${LINUXINCLUDE} ${KBUILD_CPPFLAGS}"
|
||||
|
||||
local afile="`basename ${2} .o`.S"
|
||||
|
||||
${NM} -n ${1} | scripts/kallsyms ${kallsymopt} > ${afile}
|
||||
${CC} ${aflags} -c -o ${2} ${afile}
|
||||
info KSYMS ${2}
|
||||
${NM} -n ${1} | scripts/kallsyms ${kallsymopt} > ${2}
|
||||
}
|
||||
|
||||
# Perform one step in kallsyms generation, including temporary linking of
|
||||
|
@ -203,9 +197,15 @@ kallsyms_step()
|
|||
kallsymso_prev=${kallsymso}
|
||||
kallsyms_vmlinux=.tmp_vmlinux.kallsyms${1}
|
||||
kallsymso=${kallsyms_vmlinux}.o
|
||||
kallsyms_S=${kallsyms_vmlinux}.S
|
||||
|
||||
vmlinux_link ${kallsyms_vmlinux} "${kallsymso_prev}" ${btf_vmlinux_bin_o}
|
||||
kallsyms ${kallsyms_vmlinux} ${kallsymso}
|
||||
kallsyms ${kallsyms_vmlinux} ${kallsyms_S}
|
||||
|
||||
info AS ${kallsyms_S}
|
||||
${CC} ${NOSTDINC_FLAGS} ${LINUXINCLUDE} ${KBUILD_CPPFLAGS} \
|
||||
${KBUILD_AFLAGS} ${KBUILD_AFLAGS_KERNEL} \
|
||||
-c -o ${kallsymso} ${kallsyms_S}
|
||||
}
|
||||
|
||||
# Create map file with all symbols from ${1}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue