Commit Graph

20 Commits

Author SHA1 Message Date
Alexander Koskovich c3d36d8a0d kernel: Drop -fuse-ld=lld from CFLAGS
clang-14: error: argument unused during compilation:
'-fuse-ld=lld' [-Werror,-Wunused-command-line-argument]

Change-Id: Ic863e8707e4c57c7d03183b6cb6d3cd38e919bcb
2024-09-07 15:45:38 +02:00
Michael Bestas b31b260fe4 kernel: Changes for LLVM binutils
* Remove KERNEL_LD from kernel.mk, we simply set LD in BoardConfigKernel
* Add llvm-ar in path allowlist (used by LTO)

Change-Id: I76addb6f9d8d413edb1832dba23082ffb6d5ebc3
2024-09-07 15:45:38 +02:00
Arian f9be69fba7 config: Update clang version to clang-r450784d
This is the default clang version on android-13.0.0_r1

Change-Id: Iaecec88ce0a462403d0a3cf705ce794c230e6bd9
2024-09-07 15:45:38 +02:00
Neel Chauhan f5a42b67f9 kernel.mk: Allow building external kernel modules
Here, we introduce the TARGET_EXTERNAL_KERNEL_MODULES variable
for the list of external modules.

Change-Id: I1f8b7a48e66bb0c9efbc396692e5a7159f0b835c
2024-09-07 15:45:38 +02:00
Michael Bestas 80bd054cf2 kernel: Allow overriding dtb target
On some devices we might want to build just the *.dtb files
that we actually need instead of the every dtb that exists.

Change-Id: Id7a152499d4ee1dd08f79d34cc34bfe959313515
2024-09-07 15:45:38 +02:00
Michael Bestas 1e0d2d457e kernel: Allow setting dtbo target path prefix
gs101 uses DTBO_OBJ/arch/arm64/boot/dts/google/dtbo.img
vs DTBO_OBJ/arch/arm/boot/dtbo.img on previous devices.

Change-Id: I945d31cb093fae97385cf84c273088ee7a4edf0b
2024-09-07 15:45:38 +02:00
Michael Bestas be10f65fc4 kernel: Allow overriding dtbo target name
gs101 kernel uses google/dtbo.img target for dtbo.img

Change-Id: Ib03f35c0035f56d303771de9399bcce3d02c0775
2024-09-07 15:45:38 +02:00
Michael Bestas 97bacc9928 config: Use LLVM binutils for 5.10 as well
Change-Id: I14afa17d710778403cd7fecf842c952c569c0c35
2024-09-07 15:45:38 +02:00
Jason Wojcik 4e7956cca3 lineage: config: Use $(abspath .) instead of $(shell pwd)
Change-Id: I7fec28b7cb507918b1b55dd368a74c927a8fc1d2
2024-09-07 15:45:38 +02:00
Chirayu Desai d00f738806 kernel: Don't print grep error messages when checking version
Avoids:
$ lunch lineage_sdk_phone_x86
grep: build/make/target/board/emulator_x86/Makefile: No such file or directory (x4)

Change-Id: Ie803d5ca93e6e7ae94625e7ee3ab0bf337e0515d
2024-09-07 15:45:38 +02:00
Alexander Koskovich fdf7a64db0 kernel: Move TARGET_KERNEL_ADDITIONAL_FLAGS to kernel task
* Currently, because DTC_EXT make flag is in the
   kernel task the only way to override it is to
   have TARGET_KERNEL_ADDITIONAL_FLAGS come after.

Change-Id: If62ed979581dc07eafd4628ce2b2d799388d3704
2024-09-07 15:45:38 +02:00
Alexander Koskovich e46c8a35da lineage: config: Don't pass CFLAGS_MODULE="-fno-pic" if using LLVM
* Seemingly not an issue for kernels compiled with
   LLVM, tested with kernel versions 4.4 -> 5.4.

Change-Id: I00adee2e10e99a540099b5e1a6a1ab9be0b99050
2024-09-07 15:45:38 +02:00
Alexander Koskovich 623015e96b kernel: Use LLVM's substitutes for GNU binutils if possible
Co-authored-by: LuK1337 <priv.luk@gmail.com>
Change-Id: I06884fb774b6548aad68942f1ce659384521c62a
2024-09-07 15:45:37 +02:00
Sebastiano Barezzi 9d4bb8e43c kernel: Add TARGET_FORCE_PREBUILT_KERNEL flag
* TARGET_FORCE_PREBUILT_KERNEL should be useful when you don't have ready kernel sources (OEM releasing broken sources or releasing them lately)
* It lets you use kernel sources for userspace generated headers (generated_kernel_headers) while keeping using prebuilt kernel
* Keep in mind that generated kernel headers may not align with the ABI of kernel you're including
* This commit also partially revert commit a836d79, where TARGET_KERNEL_SOURCE would have been unset if TARGET_PREBUILT_KERNEL was defined (we already check in kernel.mk if kernel sources are present anyway)

Change-Id: I84acae890dabb5b9dbd48143ad58f6420c0cef75
2022-07-30 14:24:30 +00:00
Alessandro Astone c84395eada Revert "Revert "kernel: fix KERNEL_TOOLCHAIN_PATH_gcc and usage""
The fix was correct...

This reverts commit 168fd231b65f3bd575529984f552354f4c5e3e8b.

Change-Id: If550fd44f32b801553b8ac23cb2a91d3f29df557
2022-07-30 14:24:09 +00:00
Alexander Koskovich ea442ffb45 lineage: config: Make LLVM kernel compile the default
* GCC was deprecated awhile ago, the large majority
   of devices should now be using this. Clang should
   be opt out as opposed to opt in.

Change-Id: Ie388aff8eca189663f2f615f7d059e47eaf2dce3
2022-07-30 14:23:42 +00:00
XiNGRZ 56e71a1ca7 build: Add support of generating kernel includes for prebuilt kernels
For prebuilt kernels, point TARGET_KERNEL_HEADERS_SOURCE to the dummy
kernel source used to generate headers for HALs.

Change-Id: I95a1050a7e0650faac112724b7bd6a300cdb6e4a
2021-11-29 13:05:55 +01:00
LuK1337 1987a27dca kernel: Add 32-bit GCC to PATH for vdso32
Change-Id: Ifff495069ab33d9b1346971a21f380f0c23ebf48
2021-11-14 18:47:26 +00:00
Arian e83210c38d config: Update clang version to clang-r416183b1
* That's the default clang version on android-12.0.0_r1

Change-Id: I528d9a6aa497f7c9a0f53b0e778d0eeefaac0e9d
2021-11-14 18:47:03 +00:00
Captain Throwback 6e472d3adc twrp: setup custom vendor for TWRP-only tree
- Based on vendor_omni, renamed & cleaned up

Change-Id: I4661f7cca770a4c55cfd428e60d29f994725033e
2021-05-01 18:06:03 +02:00