From 87c444a3748096f9d5da05832a452d5e5bdb6ce0 Mon Sep 17 00:00:00 2001 From: Jakob Meier Date: Mon, 25 Dec 2023 15:11:37 +0100 Subject: [PATCH] Removed unused patches --- linux-motorola-doha/APKBUILD | 4 - ...give-up-on-ilog2-const-optimizations.patch | 90 ------------------- linux-motorola-doha/gcc8-fix-put-user.patch | 39 -------- ...el-use-the-gnu89-standard-explicitly.patch | 67 -------------- 4 files changed, 200 deletions(-) delete mode 100644 linux-motorola-doha/gcc7-give-up-on-ilog2-const-optimizations.patch delete mode 100644 linux-motorola-doha/gcc8-fix-put-user.patch delete mode 100644 linux-motorola-doha/kernel-use-the-gnu89-standard-explicitly.patch diff --git a/linux-motorola-doha/APKBUILD b/linux-motorola-doha/APKBUILD index d3cd23d..a091afb 100644 --- a/linux-motorola-doha/APKBUILD +++ b/linux-motorola-doha/APKBUILD @@ -36,10 +36,6 @@ source=" fix_ipa_buf_size_mismatch.patch Fix-dangerous-relocation.patch " -# gcc10-extern_YYLOC_global_declaration.patch -# gcc7-give-up-on-ilog2-const-optimizations.patch -# gcc8-fix-put-user.patch -# kernel-use-the-gnu89-standard-explicitly.patch builddir="$srcdir/$_repository-$_commit" _outdir="out" diff --git a/linux-motorola-doha/gcc7-give-up-on-ilog2-const-optimizations.patch b/linux-motorola-doha/gcc7-give-up-on-ilog2-const-optimizations.patch deleted file mode 100644 index c02fc7b..0000000 --- a/linux-motorola-doha/gcc7-give-up-on-ilog2-const-optimizations.patch +++ /dev/null @@ -1,90 +0,0 @@ -From a7bfe0a2832e66f3d732e4210b5d53c81cc7a85f Mon Sep 17 00:00:00 2001 -From: Linus Torvalds -Date: Thu, 27 Sep 2018 19:16:56 -0400 -Subject: [PATCH] give up on gcc ilog2() constant optimizations - -commit 474c90156c8dcc2fa815e6716cc9394d7930cb9c upstream. - -gcc-7 has an "optimization" pass that completely screws up, and -generates the code expansion for the (impossible) case of calling -ilog2() with a zero constant, even when the code gcc compiles does not -actually have a zero constant. - -And we try to generate a compile-time error for anybody doing ilog2() on -a constant where that doesn't make sense (be it zero or negative). So -now gcc7 will fail the build due to our sanity checking, because it -created that constant-zero case that didn't actually exist in the source -code. - -There's a whole long discussion on the kernel mailing about how to work -around this gcc bug. The gcc people themselevs have discussed their -"feature" in - - https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72785 - -but it's all water under the bridge, because while it looked at one -point like it would be solved by the time gcc7 was released, that was -not to be. - -So now we have to deal with this compiler braindamage. - -And the only simple approach seems to be to just delete the code that -tries to warn about bad uses of ilog2(). - -So now "ilog2()" will just return 0 not just for the value 1, but for -any non-positive value too. - -It's not like I can recall anybody having ever actually tried to use -this function on any invalid value, but maybe the sanity check just -meant that such code never made it out in public. - -[js] no tools/include/linux/log2.h copy of that yet - -Reported-by: Laura Abbott -Cc: John Stultz , -Cc: Thomas Gleixner -Cc: Ard Biesheuvel -Signed-off-by: Linus Torvalds -Signed-off-by: Jiri Slaby ---- - include/linux/log2.h | 13 ++----------- - 1 file changed, 2 insertions(+), 11 deletions(-) - -diff --git a/include/linux/log2.h b/include/linux/log2.h -index fd7ff3d91..f38fae23b 100644 ---- a/include/linux/log2.h -+++ b/include/linux/log2.h -@@ -15,12 +15,6 @@ - #include - #include - --/* -- * deal with unrepresentable constant logarithms -- */ --extern __attribute__((const, noreturn)) --int ____ilog2_NaN(void); -- - /* - * non-constant log of base 2 calculators - * - the arch may override these in asm/bitops.h if they can be implemented -@@ -85,7 +79,7 @@ unsigned long __rounddown_pow_of_two(unsigned long n) - #define ilog2(n) \ - ( \ - __builtin_constant_p(n) ? ( \ -- (n) < 1 ? ____ilog2_NaN() : \ -+ (n) < 2 ? 0 : \ - (n) & (1ULL << 63) ? 63 : \ - (n) & (1ULL << 62) ? 62 : \ - (n) & (1ULL << 61) ? 61 : \ -@@ -148,10 +142,7 @@ unsigned long __rounddown_pow_of_two(unsigned long n) - (n) & (1ULL << 4) ? 4 : \ - (n) & (1ULL << 3) ? 3 : \ - (n) & (1ULL << 2) ? 2 : \ -- (n) & (1ULL << 1) ? 1 : \ -- (n) & (1ULL << 0) ? 0 : \ -- ____ilog2_NaN() \ -- ) : \ -+ 1 ) : \ - (sizeof(n) <= 4) ? \ - __ilog2_u32(n) : \ - __ilog2_u64(n) \ diff --git a/linux-motorola-doha/gcc8-fix-put-user.patch b/linux-motorola-doha/gcc8-fix-put-user.patch deleted file mode 100644 index 3bed96c..0000000 --- a/linux-motorola-doha/gcc8-fix-put-user.patch +++ /dev/null @@ -1,39 +0,0 @@ -From 8c8187d41b99acd4f2078d0fff6807e0eeb47407 Mon Sep 17 00:00:00 2001 -From: Arnd Bergmann -Date: Thu, 26 Jul 2018 10:13:23 +0200 -Subject: [PATCH] ARM: fix put_user() for gcc-8 - -Building kernels before linux-4.7 with gcc-8 results in many build failures -when gcc triggers a check that was meant to catch broken compilers: - -/tmp/ccCGMQmS.s:648: Error: .err encountered - -According to the discussion in the gcc bugzilla, a local "register -asm()" variable is still supposed to be the correct way to force an -inline assembly to use a particular register, but marking it 'const' -lets the compiler do optimizations that break that, i.e the compiler is -free to treat the variable as either 'const' or 'register' in that case. - -Upstream commit 9f73bd8bb445 ("ARM: uaccess: remove put_user() code -duplication") fixed this problem in linux-4.8 as part of a larger change, -but seems a little too big to be backported to 4.4. - -Let's take the simplest fix and change only the one broken line in the -same way as newer kernels. - -Suggested-by: Bernd Edlinger -Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85745 -Link: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86673 -Signed-off-by: Arnd Bergmann -Signed-off-by: Greg Kroah-Hartman ---- - arch/arm/include/asm/uaccess.h | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/arch/arm/include/asm/uaccess.h b/arch/arm/include/asm/uaccess.h -index b04850fdeb5..f8ad54b24ac 100644 ---- a/arch/arm/include/asm/uaccess.h -+++ b/arch/arm/include/asm/uaccess.h -@@ -162 +162 @@ extern int __put_user_8(void *, unsigned long long); -- register const typeof(*(p)) __r2 asm("r2") = (x); \ -+ register typeof(*(p)) __r2 asm("r2") = (x); \ diff --git a/linux-motorola-doha/kernel-use-the-gnu89-standard-explicitly.patch b/linux-motorola-doha/kernel-use-the-gnu89-standard-explicitly.patch deleted file mode 100644 index 629f242..0000000 --- a/linux-motorola-doha/kernel-use-the-gnu89-standard-explicitly.patch +++ /dev/null @@ -1,67 +0,0 @@ -From 51b97e354ba9fce1890cf38ecc754aa49677fc89 Mon Sep 17 00:00:00 2001 -From: "Kirill A. Shutemov" -Date: Mon, 20 Oct 2014 12:23:12 +0300 -Subject: kernel: use the gnu89 standard explicitly - -From: "Kirill A. Shutemov" - -commit 51b97e354ba9fce1890cf38ecc754aa49677fc89 upstream. - -Sasha Levin reports: - "gcc5 changes the default standard to c11, which makes kernel build - unhappy - - Explicitly define the kernel standard to be gnu89 which should keep - everything working exactly like it was before gcc5" - -There are multiple small issues with the new default, but the biggest -issue seems to be that the old - and very useful - GNU extension to -allow a cast in front of an initializer has gone away. - -Patch updated by Kirill: - "I'm pretty sure all gcc versions you can build kernel with supports - -std=gnu89. cc-option is redunrant. - - We also need to adjust HOSTCFLAGS otherwise allmodconfig fails for me" - -Note by Andrew Pinski: - "Yes it was reported and both problems relating to this extension has - been added to gnu99 and gnu11. Though there are other issues with the - kernel dealing with extern inline have different semantics between - gnu89 and gnu99/11" - -End result: we may be able to move up to a newer stdc model eventually, -but right now the newer models have some annoying deficiencies, so the -traditional "gnu89" model ends up being the preferred one. - -Signed-off-by: Sasha Levin -Singed-off-by: Kirill A. Shutemov -Signed-off-by: Linus Torvalds -Signed-off-by: Greg Kroah-Hartman - ---- - Makefile | 6 ++++-- - 1 file changed, 4 insertions(+), 2 deletions(-) - ---- a/Makefile -+++ b/Makefile -@@ -241,7 +241,7 @@ CONFIG_SHELL := $(shell if [ -x "$$BASH" - - HOSTCC = gcc - HOSTCXX = g++ --HOSTCFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -+HOSTCFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes -O2 -fomit-frame-pointer -std=gnu89 - HOSTCXXFLAGS = -O2 - - # Decide whether to build built-in, modular, or both. -@@ -373,7 +373,9 @@ KBUILD_CFLAGS := -Wall -Wundef -Wstric - -fno-strict-aliasing -fno-common \ - -Werror-implicit-function-declaration \ - -Wno-format-security \ -- -fno-delete-null-pointer-checks -+ -fno-delete-null-pointer-checks \ -+ -std=gnu89 -+ - KBUILD_AFLAGS_KERNEL := - KBUILD_CFLAGS_KERNEL := - KBUILD_AFLAGS := -D__ASSEMBLY__ -- 2.38.5