Compare commits
2
Commits
networkmanager
...
clang
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
63a90939d3 | ||
|
|
9661505e7b |
No files matched your search
@@ -0,0 +1,27 @@
|
||||
From 4d735839552d21d17f8d7d0ce6844034e4327b9d Mon Sep 17 00:00:00 2001
|
||||
From: SoundDrill31 <84176052+sounddrill31@users.noreply.github.com>
|
||||
Date: Sun, 9 Jun 2024 21:12:32 +0530
|
||||
Subject: [PATCH] kbuild: fix asm-offset generation to work with clang As
|
||||
suggested here
|
||||
https://github.com/MiCode/Xiaomi_Kernel_OpenSource/issues/2469#issuecomment-1583842583
|
||||
|
||||
---
|
||||
include/linux/kbuild.h | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/include/linux/kbuild.h b/include/linux/kbuild.h
|
||||
index 22a72198c14b..def34fd99cb3 100644
|
||||
--- a/include/linux/kbuild.h
|
||||
+++ b/include/linux/kbuild.h
|
||||
@@ -2,9 +2,9 @@
|
||||
#define __LINUX_KBUILD_H
|
||||
|
||||
#define DEFINE(sym, val) \
|
||||
- asm volatile("\n->" #sym " %0 " #val : : "i" (val))
|
||||
+ asm volatile("\n.ascii \"->" #sym " %0 " #val "\"" : : "i" (val))
|
||||
|
||||
-#define BLANK() asm volatile("\n->" : : )
|
||||
+#define BLANK() asm volatile("\n.ascii \"->\"" : : )
|
||||
|
||||
#define OFFSET(sym, str, mem) \
|
||||
DEFINE(sym, offsetof(struct str, mem))
|
||||
@@ -0,0 +1,102 @@
|
||||
From c325d37ad9df1a0d1c5a16a12484590a45bfc0fa Mon Sep 17 00:00:00 2001
|
||||
From: Aster Boese <asterboese@mailbox.org>
|
||||
Date: Fri, 14 Feb 2025 00:30:05 -0500
|
||||
Subject: [PATCH] fix register sp unsuitable
|
||||
|
||||
---
|
||||
arch/arm64/include/asm/thread_info.h | 34 ++++------------------------
|
||||
1 file changed, 5 insertions(+), 29 deletions(-)
|
||||
|
||||
diff --git a/arch/arm64/include/asm/thread_info.h b/arch/arm64/include/asm/thread_info.h
|
||||
index 855e07a7..720e70b6 100644
|
||||
--- a/arch/arm64/include/asm/thread_info.h
|
||||
+++ b/arch/arm64/include/asm/thread_info.h
|
||||
@@ -51,8 +51,6 @@ struct thread_info {
|
||||
struct restart_block restart_block;
|
||||
int preempt_count; /* 0 => preemptable, <0 => bug */
|
||||
int cpu; /* cpu */
|
||||
- void *regs_on_excp;
|
||||
- int cpu_excp;
|
||||
};
|
||||
|
||||
#define INIT_THREAD_INFO(tsk) \
|
||||
@@ -65,17 +63,11 @@ struct thread_info {
|
||||
.restart_block = { \
|
||||
.fn = do_no_restart_syscall, \
|
||||
}, \
|
||||
- .cpu_excp = 0, \
|
||||
}
|
||||
|
||||
#define init_thread_info (init_thread_union.thread_info)
|
||||
#define init_stack (init_thread_union.stack)
|
||||
|
||||
-/*
|
||||
- * how to get the current stack pointer from C
|
||||
- */
|
||||
-register unsigned long current_stack_pointer asm ("sp");
|
||||
-
|
||||
/*
|
||||
* how to get the thread information struct from C
|
||||
*/
|
||||
@@ -83,8 +75,8 @@ static inline struct thread_info *current_thread_info(void) __attribute_const__;
|
||||
|
||||
static inline struct thread_info *current_thread_info(void)
|
||||
{
|
||||
- return (struct thread_info *)
|
||||
- (current_stack_pointer & ~(THREAD_SIZE - 1));
|
||||
+ register unsigned long sp asm ("sp");
|
||||
+ return (struct thread_info *)(sp & ~(THREAD_SIZE - 1));
|
||||
}
|
||||
|
||||
#define thread_saved_pc(tsk) \
|
||||
@@ -99,23 +91,17 @@ static inline struct thread_info *current_thread_info(void)
|
||||
/*
|
||||
* thread information flags:
|
||||
* TIF_SYSCALL_TRACE - syscall trace active
|
||||
- * TIF_SYSCALL_TRACEPOINT - syscall tracepoint for ftrace
|
||||
- * TIF_SYSCALL_AUDIT - syscall auditing
|
||||
- * TIF_SECOMP - syscall secure computing
|
||||
* TIF_SIGPENDING - signal pending
|
||||
* TIF_NEED_RESCHED - rescheduling necessary
|
||||
* TIF_NOTIFY_RESUME - callback before returning to user
|
||||
* TIF_USEDFPU - FPU was used by this task this quantum (SMP)
|
||||
+ * TIF_POLLING_NRFLAG - true if poll_idle() is polling TIF_NEED_RESCHED
|
||||
*/
|
||||
#define TIF_SIGPENDING 0
|
||||
#define TIF_NEED_RESCHED 1
|
||||
#define TIF_NOTIFY_RESUME 2 /* callback before returning to user */
|
||||
-#define TIF_FOREIGN_FPSTATE 3 /* CPU's FP state is not current's */
|
||||
-#define TIF_NOHZ 7
|
||||
#define TIF_SYSCALL_TRACE 8
|
||||
-#define TIF_SYSCALL_AUDIT 9
|
||||
-#define TIF_SYSCALL_TRACEPOINT 10
|
||||
-#define TIF_SECCOMP 11
|
||||
+#define TIF_POLLING_NRFLAG 16
|
||||
#define TIF_MEMDIE 18 /* is terminating due to OOM killer */
|
||||
#define TIF_FREEZE 19
|
||||
#define TIF_RESTORE_SIGMASK 20
|
||||
@@ -126,20 +112,10 @@ static inline struct thread_info *current_thread_info(void)
|
||||
#define _TIF_SIGPENDING (1 << TIF_SIGPENDING)
|
||||
#define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED)
|
||||
#define _TIF_NOTIFY_RESUME (1 << TIF_NOTIFY_RESUME)
|
||||
-#define _TIF_FOREIGN_FPSTATE (1 << TIF_FOREIGN_FPSTATE)
|
||||
-#define _TIF_NOHZ (1 << TIF_NOHZ)
|
||||
-#define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE)
|
||||
-#define _TIF_SYSCALL_AUDIT (1 << TIF_SYSCALL_AUDIT)
|
||||
-#define _TIF_SYSCALL_TRACEPOINT (1 << TIF_SYSCALL_TRACEPOINT)
|
||||
-#define _TIF_SECCOMP (1 << TIF_SECCOMP)
|
||||
#define _TIF_32BIT (1 << TIF_32BIT)
|
||||
|
||||
#define _TIF_WORK_MASK (_TIF_NEED_RESCHED | _TIF_SIGPENDING | \
|
||||
- _TIF_NOTIFY_RESUME | _TIF_FOREIGN_FPSTATE)
|
||||
-
|
||||
-#define _TIF_SYSCALL_WORK (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_AUDIT | \
|
||||
- _TIF_SYSCALL_TRACEPOINT | _TIF_SECCOMP | \
|
||||
- _TIF_NOHZ)
|
||||
+ _TIF_NOTIFY_RESUME)
|
||||
|
||||
#endif /* __KERNEL__ */
|
||||
#endif /* __ASM_THREAD_INFO_H */
|
||||
--
|
||||
2.48.1
|
||||
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
From 17154cec67a5add459937be96fb9c76bda813fda Mon Sep 17 00:00:00 2001
|
||||
From: Aster Boese <asterboese@mailbox.org>
|
||||
Date: Fri, 21 Feb 2025 19:55:39 -0500
|
||||
Subject: [PATCH] target aarch64 assembly with llvm on arm64
|
||||
|
||||
For some reason LLVM doesn't properly cross-compile on earlier kernel versions.
|
||||
This patch explicitly tells it that it is targeting aarch64.
|
||||
|
||||
Taken from https://github.com/iovisor/bcc/issues/1202#issuecomment-333740246
|
||||
---
|
||||
arch/arm64/Makefile | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/arch/arm64/Makefile b/arch/arm64/Makefile
|
||||
index 5d76c71c..b6adbe37 100755
|
||||
--- a/arch/arm64/Makefile
|
||||
+++ b/arch/arm64/Makefile
|
||||
@@ -21,6 +21,7 @@ KBUILD_DEFCONFIG := defconfig
|
||||
|
||||
KBUILD_CFLAGS += -mgeneral-regs-only
|
||||
KBUILD_CFLAGS += -fno-pic
|
||||
+KBUILD_CFLAGS += -target aarch64
|
||||
ifeq ($(CONFIG_CPU_BIG_ENDIAN), y)
|
||||
KBUILD_CPPFLAGS += -mbig-endian
|
||||
AS += -EB
|
||||
--
|
||||
2.48.1
|
||||
|
||||
@@ -16,14 +16,7 @@ _flavor="amazon-douglas"
|
||||
url="https://kernel.org"
|
||||
license="GPL-2.0-only"
|
||||
options="!strip !check !tracedeps pmb:cross-native"
|
||||
makedepends="bash bc bison devicepkg-dev flex openssl-dev perl gcc6"
|
||||
|
||||
# Compiler: GCC 6
|
||||
if [ "${CC:0:5}" != "gcc6-" ]; then
|
||||
CC="gcc6-$CC"
|
||||
HOSTCC="gcc6-gcc"
|
||||
CROSS_COMPILE="gcc6-$CROSS_COMPILE"
|
||||
fi
|
||||
makedepends="bash bc bison clang devicepkg-dev flex lld llvm openssl-dev perl"
|
||||
|
||||
# Source
|
||||
_repository="kernel_douglas"
|
||||
@@ -34,7 +27,11 @@ source="
|
||||
$_config
|
||||
disable-sound.patch
|
||||
gcc10-extern_YYLOC_global_declaration.patch
|
||||
"
|
||||
fix-asm-offset-generation-to-work-with-clang-As.patch
|
||||
fix-register-sp-unsuitable.patch
|
||||
linux3.7to4.5-ARM64-remove-Sun-Solaris-style-flag-on-section.patch
|
||||
0001-target-aarch64-assembly-with-llvm-on-arm64.patch
|
||||
"
|
||||
builddir="$srcdir/$_repository-$_commit"
|
||||
_outdir="out"
|
||||
|
||||
@@ -45,15 +42,24 @@ prepare() {
|
||||
|
||||
build() {
|
||||
unset LDFLAGS
|
||||
make O="$_outdir" ARCH="$_carch" CC="${CC:-gcc}" \
|
||||
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS"
|
||||
make O="$_outdir" ARCH="$_carch" \
|
||||
CC=clang LD=ld.lld AR=llvm-ar NM=llvm-nm STRIP=llvm-strip \
|
||||
OBJCOPY=llvm-objcopy OBJDUMP=llvm-objdump READELF=llvm-readelf \
|
||||
HOSTCC=clang HOSTCXX=clang++ HOSTAR=llvm-ar HOSTLD=ld.lld \
|
||||
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS"
|
||||
}
|
||||
|
||||
package() {
|
||||
downstreamkernel_package "$builddir" "$pkgdir" "$_carch" "$_flavor" "$_outdir"
|
||||
}
|
||||
|
||||
sha512sums="eb3804fcbadb268429640a5171ea4788cf8974444a1aa1005801902dbce1c4d67d88cb43d0cee259dc082161a92b285de0a0d18d721220f6d2dff84a179a7dc5 linux-amazon-douglas-4ff2b5a4534e275748920ba4ad105af36495bf89.tar.gz
|
||||
sha512sums="
|
||||
eb3804fcbadb268429640a5171ea4788cf8974444a1aa1005801902dbce1c4d67d88cb43d0cee259dc082161a92b285de0a0d18d721220f6d2dff84a179a7dc5 linux-amazon-douglas-4ff2b5a4534e275748920ba4ad105af36495bf89.tar.gz
|
||||
a5c13415c5133eb71a40a71dc84c8d4f3ded3cc11650e46bfb9ffba2c01490f5008e659407c5977bd62a83069af23740f36d7236f6dfee0c5adad6d831772122 config-amazon-douglas.aarch64
|
||||
aed9fd018a6367214dd00aad9c376c93ed356efbd74e21b49316ab0a21bc372a2077eeed8810f66464544c5bbc7bca6c46985ef42e6cb8f95ad94a1644130d1c disable-sound.patch
|
||||
2b48f1bf0e3f70703d2cdafc47d5e615cc7c56c70bec56b2e3297d3fa4a7a1321d649a8679614553dde8fe52ff1051dae38d5990e3744c9ca986d92187dcdbeb gcc10-extern_YYLOC_global_declaration.patch"
|
||||
2b48f1bf0e3f70703d2cdafc47d5e615cc7c56c70bec56b2e3297d3fa4a7a1321d649a8679614553dde8fe52ff1051dae38d5990e3744c9ca986d92187dcdbeb gcc10-extern_YYLOC_global_declaration.patch
|
||||
edec4f825dc1a88ff50957f7350d6b30b3713444addd3a82323343893bc58fdc5e08a5f8619a5955f21817cfc1798afb12285709b561ba6d145cd07fb1e384e5 fix-asm-offset-generation-to-work-with-clang-As.patch
|
||||
47c7c7d73ab20f3b4d961cef8bab9206203f3913d5de034ab0181ac0d75f22125f9b5124a21012ff47ed7ce443fb4498b26f9f7ce6fe381bd885ce9d1c069c36 fix-register-sp-unsuitable.patch
|
||||
75545ccd0082a119b9ad95fcef3523c939a5c946f8f3a5c3dde15cee1502f6c1011050a0ad5359426f018bb7ceea1c97a28c7665941bc89f365c8d11065ce0f6 linux3.7to4.5-ARM64-remove-Sun-Solaris-style-flag-on-section.patch
|
||||
75d071d29ceedf17e2699e3f71cf1f4ba719d64ec329f0d2b7dfaf9961d7a9a5dd7e076c9bc01dd47ba2186957993d8bc65a5faa87b7c7e641893ee3cb0a6958 0001-target-aarch64-assembly-with-llvm-on-arm64.patch
|
||||
"
|
||||
+1
@@ -0,0 +1 @@
|
||||
../../.shared-patches/linux/fix-asm-offset-generation-to-work-with-clang-As.patch
|
||||
@@ -0,0 +1 @@
|
||||
../../.shared-patches/linux/fix-register-sp-unsuitable.patch
|
||||
+1
@@ -0,0 +1 @@
|
||||
../../.shared-patches/linux/linux3.7to4.5-ARM64-remove-Sun-Solaris-style-flag-on-section.patch
|
||||
@@ -11,14 +11,7 @@ _flavor="samsung-a20"
|
||||
url="https://kernel.org"
|
||||
license="GPL-2.0-only"
|
||||
options="!strip !check !tracedeps pmb:cross-native"
|
||||
makedepends="bash bc bison devicepkg-dev flex openssl-dev perl gcc6"
|
||||
|
||||
# Compiler: GCC 6 (doesn't boot when compiled with newer versions)
|
||||
if [ "${CC:0:5}" != "gcc6-" ]; then
|
||||
CC="gcc6-$CC"
|
||||
HOSTCC="gcc6-gcc"
|
||||
CROSS_COMPILE="gcc6-$CROSS_COMPILE"
|
||||
fi
|
||||
makedepends="bash bc bison clang devicepkg-dev flex lld llvm openssl-dev perl python3"
|
||||
|
||||
# Source
|
||||
_repository="kernel_samsung_a20"
|
||||
@@ -38,7 +31,10 @@ prepare() {
|
||||
|
||||
build() {
|
||||
unset LDFLAGS
|
||||
make O="$_outdir" ARCH="$_carch" CC="${CC:-gcc}" \
|
||||
make O="$_outdir" ARCH="$_carch" \
|
||||
CC=clang AR=llvm-ar NM=llvm-nm STRIP=llvm-strip \
|
||||
OBJDUMP=llvm-objdump READELF=llvm-readelf \
|
||||
HOSTCC=clang HOSTCXX=clang++ HOSTAR=llvm-ar \
|
||||
KBUILD_BUILD_VERSION="$((pkgrel + 1 ))-postmarketOS"
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user