-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Apollo Clang support #2
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Owner
ananjaser1211
commented
Jul 27, 2024
- Clang 18
commit 3eb95fe upstream. zs_stat_inc/dec/get() uses enum zs_stat_type for the stat type, however some callers pass an enum fullness_group value. Change the type to int to reflect the actual use of the functions and get rid of 'enum-conversion' warnings Link: http://lkml.kernel.org/r/20170731175000.56538-1-mka@chromium.org Signed-off-by: Matthias Kaehlcke <mka@chromium.org> Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> Acked-by: Minchan Kim <minchan@kernel.org> Cc: Doug Anderson <dianders@chromium.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Change-Id: Idabfa4234111918203d32105f7fa2d9bd4abb05c
commit 3457f41 upstream. is_first_page() is only called from the macro VM_BUG_ON_PAGE() which is only compiled in as a runtime check when CONFIG_DEBUG_VM is set, otherwise is checked at compile time and not actually compiled in. Fixes the following warning, found with Clang: mm/zsmalloc.c:472:12: warning: function 'is_first_page' is not needed and will not be emitted [-Wunneeded-internal-declaration] static int is_first_page(struct page *page) ^ Link: http://lkml.kernel.org/r/20170524053859.29059-1-nick.desaulniers@gmail.com Signed-off-by: Nick Desaulniers <nick.desaulniers@gmail.com> Reviewed-by: Sergey Senozhatsky <sergey.senozhatsky@gmail.com> Acked-by: Minchan Kim <minchan@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Change-Id: Iba6c7dd9348797fd40879f9cb100bd28bdc4d187
[ Upstream commit 6321aa197547da397753757bd84c6ce64b3e3d89 ] clang warns about overflowing the data[] member in the struct pnpipehdr: net/phonet/pep.c:295:8: warning: array index 4 is past the end of the array (which contains 1 element) [-Warray-bounds] if (hdr->data[4] == PEP_IND_READY) ^ ~ include/net/phonet/pep.h:66:3: note: array 'data' declared here u8 data[1]; Using a flexible array member at the end of the struct avoids the warning, but since we cannot have a flexible array member inside of the union, each index now has to be moved back by one, which makes it a little uglier. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Acked-by: Rémi Denis-Courmont <remi@remlab.net> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Sasha Levin <sashal@kernel.org> Change-Id: Ie338b70b5ee49e5417db2ccd31651211e617dba1
[ Upstream commit b5bb425871186303e6936fa2581521bdd1964a58 ] Clang warns that if the default case is taken, ret will be uninitialized. ./arch/arm64/include/asm/percpu.h:196:2: warning: variable 'ret' is used uninitialized whenever switch default is taken [-Wsometimes-uninitialized] default: ^~~~~~~ ./arch/arm64/include/asm/percpu.h:200:9: note: uninitialized use occurs here return ret; ^~~ ./arch/arm64/include/asm/percpu.h:157:19: note: initialize the variable 'ret' to silence this warning unsigned long ret, loop; ^ = 0 This warning appears several times while building the erofs filesystem. While it's not strictly wrong, the BUILD_BUG will prevent this from becoming a true problem. Initialize ret to 0 in the default case right before the BUILD_BUG to silence all of these warnings. Reported-by: Prasad Sodagudi <psodagud@codeaurora.org> Signed-off-by: Nathan Chancellor <natechancellor@gmail.com> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Dennis Zhou <dennis@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org> Change-Id: I80e45af888e80187ba0442c24954f625ea9c086a
Signed-off-by: Yaroslav Furman <yaro330@gmail.com> Change-Id: I70997d5faa53f31141543794ca338e2d5ca6d756
Signed-off-by: Yaroslav Furman <yaro330@gmail.com> Change-Id: I04cfb77deb1e6b73cd07b3f07279cf3772813b9f
Signed-off-by: Yaroslav Furman <yaro330@gmail.com> Change-Id: Ia14f4fcf19f1cae79578256841d23b75c8a42662
Signed-off-by: Michael Benedict <michaelbt@live.com> Change-Id: I287a89d399b84d10b5dbbb2f82061e36ec3d7a32
Signed-off-by: Michael Benedict <michaelbt@live.com> Change-Id: I1143bd31e30afa368e2a35bd8a29b2afd43351e7
Signed-off-by: Michael Benedict <michaelbt@live.com> Change-Id: Ice4c9827db18bd84f9ef0195d5f70f1101e48fee
Signed-off-by: Michael Benedict <michaelbt@live.com> Change-Id: If0f6215ef4567a12114a8093b088b558940e3d8a
Signed-off-by: Michael Benedict <michaelbt@live.com> Change-Id: Ia28374b26e3278ae912bda79e632480c2f02a28a
Signed-off-by: Michael Benedict <michaelbt@live.com> Change-Id: I0c4a245478f26b11074c61dfbef4d828d9abaca6
Signed-off-by: Michael Benedict <michaelbt@live.com> Change-Id: I839c13e4b9640cce401d3bd89164dd78d2a7be04
Change-Id: I242e7e899e67b215ccbd0aa4fb12b5d50622a4e5
… clang Signed-off-by: Michael Benedict <michaelbt@live.com> Change-Id: If1a8d45e5c74a634a8800b44cb1ecb06382f0e7d
'name' will never be NULL since it isn't a plain pointer but an array of char values. ../net/netfilter/xt_qtaguid.c:1195:27: warning: address of array '(*el_dev)->name' will always evaluate to 'true' [-Wpointer-bool-conversion] if (unlikely(!(*el_dev)->name)) { ~~~~~~~~~~~~^~~~ Change-Id: If3b25f17829b43e8a639193fb9cd04ae45947200 Signed-off-by: Nathan Chancellor <natechancellor@gmail.com>
Signed-off-by: Michael Benedict <michaelbt@live.com> Change-Id: Ief8ee146138922a9a002130b8530515975781d87
Signed-off-by: Michael Benedict <michaelbt@live.com> Change-Id: I91fabde88d5d5f29bc2d6ae8637c785e9e609f3c
Change-Id: I960e87595b82d0001c56a3de78326de97521b4c0
Signed-off-by: Michael Benedict <michaelbt@live.com> Change-Id: Ie034f892f9bee4ddcfa40f84f11bd5a20d00861c
Change-Id: I25d61b9c3e6a51f2d750dcd1ed593a42b23ab287
Change-Id: Ia11c00385f83ce6d16efc3c637bfe63be9a580b2
Change-Id: Icd5afd45d0a4e90e07ba9e86cc2930924e0e3a24
Change-Id: I7edf80fbdfaa057def9198a3e36ecefb22919284
To avoid redefenition warning. Signed-off-by: Yaroslav Furman <yaro330@gmail.com> Change-Id: I9fd1e4de5b1b6b27f8902665030ea8e0665c4af7
Signed-off-by: Yaroslav Furman <yaro330@gmail.com> Change-Id: Ia3dcefad2d20a6d3db9f563fe6d120c9939bf77c
Change-Id: Ieeb22b673ae6d04e41fdb66d042fff5c70491dac Signed-off-by: Jeongtae Park <jtp.park@samsung.com>
Change-Id: I408c82ed0b78169629f4e15dcd3b63ad0486f0b9
Change-Id: I5ed6b98838c54b74c65e032214c85b9bfa556f45
(commit 1a381d4a0a9a0f999a13faaba22bf6b3fc80dcb9 upstream) Linking the ARM64 defconfig kernel with LLVM lld fails with the error: ld.lld: error: unknown argument: -p Makefile:1015: recipe for target 'vmlinux' failed Without this flag, the ARM64 defconfig kernel successfully links with lld and boots on Dragonboard 410c. After digging through binutils source and changelogs, it turns out that -p is only relevant to ancient binutils installations targeting 32-bit ARM. binutils accepts -p for AArch64 too, but it's always been undocumented and silently ignored. A comment in ld/emultempl/aarch64elf.em explains that it's "Only here for backwards compatibility". Since this flag is a no-op on ARM64, we can safely drop it. Acked-by: Will Deacon <will.deacon@arm.com> Reviewed-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Greg Hackmann <ghackmann@google.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
[ Upstream commit 98356eb0ae499c63e78073ccedd9a5fc5c563288 ] After 'a66649dab350 arm64: fix vdso-offsets.h dependency' if one will try to build .i file in case of external kernel module, build fails complaining that prepare0 target is missing. This issue came up with SystemTap when it tries to build variety of .i files for its own generated kernel modules trying to figure given kernel features/capabilities. The issue is that prepare0 is defined in top level Makefile only if KBUILD_EXTMOD is not defined. .i file rule depends on prepare and in case KBUILD_EXTMOD defined top level Makefile contains empty rule for prepare. But after mentioned commit arch/arm64/Makefile would introduce dependency on prepare0 through its own prepare target. Fix it to put proper ifdef KBUILD_EXTMOD around code introduced by mentioned commit. It matches what top level Makefile does. Acked-by: Kevin Brodsky <kevin.brodsky@arm.com> Signed-off-by: Victor Kamensky <kamensky@cisco.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Sasha Levin <sashal@kernel.org> Change-Id: I97eb62aff61f7294d25d2c25900dee6d747fa400
/usr/bin/as: unrecognized option '-EL' clang-15: error: assembler command failed with exit code 1 (use -v to see invocation) make[2]: *** [../arch/arm64/kernel/vdso32/Makefile:148: arch/arm64/kernel/vdso32/sigreturn.o] Error 1 make[2]: *** Waiting for unfinished jobs.... /usr/bin/as: unrecognized option '-EL' clang-15: error: assembler command failed with exit code 1 (use -v to see invocation) make[2]: *** [../arch/arm64/kernel/vdso32/Makefile:146: arch/arm64/kernel/vdso32/vgettimeofday.o] Error 1 make[1]: *** [arch/arm64/Makefile:239: vdso_prepare] Error 2 make[1]: Leaving directory '/workspace/unitrix/out' make: *** [Makefile:154: sub-make] Error 2 Signed-off-by: GhostMaster69-dev <rathore6375@gmail.com>
* fs/proc/task_mmu.c:1786:7: error: implicit declaration of function 'isolate_lru_page' [-Werror,-Wimplicit-function-declaration]
commit b8018b973c7cefa5eb386540130fa47315b8e337 upstream. When checking the model and vendor string we need to use the minimum value of either string, otherwise we'll miss out on wildcard matches. And we should take care when matching with zero size strings; results might be unpredictable. With this patch the rules for matching devinfo strings are as follows: - Vendor strings must match exactly - Empty Model strings will only match if the devinfo model is also empty - Model strings shorter than the devinfo model string will not match Fixes: 5e7ff2c ("SCSI: fix new bug in scsi_dev_info_list string matching") Signed-off-by: Hannes Reinecke <hare@suse.com> Reviewed-by: Alan Stern <stern@rowland.harvard.edu> Reviewed-by: Bart Van Assche <bart.vanassche@wdc.com> Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Cc: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
commit ba69ead9e9e9bb3cec5faf03526c36764ac8942a upstream. devinfo->vendor and devinfo->model aren't necessarily zero-terminated. Fixes: b8018b973c7c "scsi_devinfo: fixup string compare" Signed-off-by: Martin Wilck <mwilck@suse.com> Reviewed-by: Bart Van Assche <bart.vanassche@wdc.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com> Cc: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[ Upstream commit 5f074f3e192f10c9fade898b9b3b8812e3d83342 ] A recent optimization in Clang (r355672) lowers comparisons of the return value of memcmp against zero to comparisons of the return value of bcmp against zero. This helps some platforms that implement bcmp more efficiently than memcmp. glibc simply aliases bcmp to memcmp, but an optimized implementation is in the works. This results in linkage failures for all targets with Clang due to the undefined symbol. For now, just implement bcmp as a tailcail to memcmp to unbreak the build. This routine can be further optimized in the future. Other ideas discussed: * A weak alias was discussed, but breaks for architectures that define their own implementations of memcmp since aliases to declarations are not permitted (only definitions). Arch-specific memcmp implementations typically declare memcmp in C headers, but implement them in assembly. * -ffreestanding also is used sporadically throughout the kernel. * -fno-builtin-bcmp doesn't work when doing LTO. Link: https://bugs.llvm.org/show_bug.cgi?id=41035 Link: https://code.woboq.org/userspace/glibc/string/memcmp.c.html#bcmp Link: llvm/llvm-project@8e16d73 Link: ClangBuiltLinux/linux#416 Link: http://lkml.kernel.org/r/20190313211335.165605-1-ndesaulniers@google.com Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> Reported-by: Nathan Chancellor <natechancellor@gmail.com> Reported-by: Adhemerval Zanella <adhemerval.zanella@linaro.org> Suggested-by: Arnd Bergmann <arnd@arndb.de> Suggested-by: James Y Knight <jyknight@google.com> Suggested-by: Masahiro Yamada <yamada.masahiro@socionext.com> Suggested-by: Nathan Chancellor <natechancellor@gmail.com> Suggested-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> Acked-by: Steven Rostedt (VMware) <rostedt@goodmis.org> Reviewed-by: Nathan Chancellor <natechancellor@gmail.com> Tested-by: Nathan Chancellor <natechancellor@gmail.com> Reviewed-by: Masahiro Yamada <yamada.masahiro@socionext.com> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Cc: David Laight <David.Laight@ACULAB.COM> Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com> Cc: Dan Williams <dan.j.williams@intel.com> Cc: <stable@vger.kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
sec_debug_test.c:508:(.text+0x6fd794): relocation truncated to fit: R_AARCH64_LDST64_ABS_LO12_NC against `.text'
* HMAC generation is currently broken
* N770F_13
* From xxmustafacooTR xxTr Kernel
* decon_reg.c:2376:42: error: '-mgeneral-regs-only' is incompatible with the use of floating-point types
commit 1e1b6d63d6340764e00356873e5794225a2a03ea upstream. LLVM implemented a recent "libcall optimization" that lowers calls to `sprintf(dest, "%s", str)` where the return value is used to `stpcpy(dest, str) - dest`. This generally avoids the machinery involved in parsing format strings. `stpcpy` is just like `strcpy` except it returns the pointer to the new tail of `dest`. This optimization was introduced into clang-12. Implement this so that we don't observe linkage failures due to missing symbol definitions for `stpcpy`. Similar to last year's fire drill with: commit 5f074f3e192f ("lib/string.c: implement a basic bcmp") The kernel is somewhere between a "freestanding" environment (no full libc) and "hosted" environment (many symbols from libc exist with the same type, function signature, and semantics). As Peter Anvin notes, there's not really a great way to inform the compiler that you're targeting a freestanding environment but would like to opt-in to some libcall optimizations (see pr/47280 below), rather than opt-out. Arvind notes, -fno-builtin-* behaves slightly differently between GCC and Clang, and Clang is missing many __builtin_* definitions, which I consider a bug in Clang and am working on fixing. Masahiro summarizes the subtle distinction between compilers justly: To prevent transformation from foo() into bar(), there are two ways in Clang to do that; -fno-builtin-foo, and -fno-builtin-bar. There is only one in GCC; -fno-buitin-foo. (Any difference in that behavior in Clang is likely a bug from a missing __builtin_* definition.) Masahiro also notes: We want to disable optimization from foo() to bar(), but we may still benefit from the optimization from foo() into something else. If GCC implements the same transform, we would run into a problem because it is not -fno-builtin-bar, but -fno-builtin-foo that disables that optimization. In this regard, -fno-builtin-foo would be more future-proof than -fno-built-bar, but -fno-builtin-foo is still potentially overkill. We may want to prevent calls from foo() being optimized into calls to bar(), but we still may want other optimization on calls to foo(). It seems that compilers today don't quite provide the fine grain control over which libcall optimizations pseudo-freestanding environments would prefer. Finally, Kees notes that this interface is unsafe, so we should not encourage its use. As such, I've removed the declaration from any header, but it still needs to be exported to avoid linkage errors in modules. Reported-by: Sami Tolvanen <samitolvanen@google.com> Suggested-by: Andy Lavr <andy.lavr@gmail.com> Suggested-by: Arvind Sankar <nivedita@alum.mit.edu> Suggested-by: Joe Perches <joe@perches.com> Suggested-by: Kees Cook <keescook@chromium.org> Suggested-by: Masahiro Yamada <masahiroy@kernel.org> Suggested-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> Signed-off-by: Nick Desaulniers <ndesaulniers@google.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Tested-by: Nathan Chancellor <natechancellor@gmail.com> Cc: <stable@vger.kernel.org> Link: https://lkml.kernel.org/r/20200914161643.938408-1-ndesaulniers@google.com Link: https://bugs.llvm.org/show_bug.cgi?id=47162 Link: https://bugs.llvm.org/show_bug.cgi?id=47280 Link: ClangBuiltLinux/linux#1126 Link: https://man7.org/linux/man-pages/man3/stpcpy.3.html Link: https://pubs.opengroup.org/onlinepubs/9699919799/functions/stpcpy.html Link: https://reviews.llvm.org/D85963 Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
…rom_sram Newer versions of Clang tend to apply heavier optimizations than GCC, especially if -mcpu is set. Because we are applying optimizations to the LITTLE core (see b92e1e70898f515646142736df8d72c43e97e251) kernel panics during boot, citing inability to access memory regions on fvmap_init. <6>[ 0.664609] [0: swapper/0: 1] fvmap_init:fvmap initialize 0000000000000000 <0>[ 0.664625] [0: swapper/0: 1] Unable to handle kernel paging request at virtual address ffffff800b2f2402 <2>[ 0.664640] [0: swapper/0: 1] sec_debug_set_extra_info_fault = KERN / 0xffffff800b2f2402 <6>[ 0.664657] [0: swapper/0: 1] search_item_by_key: (FTYPE) extra_info is not ready <2>[ 0.664666] [0: swapper/0: 1] set_item_val: fail to find FTYPE <6>[ 0.664680] [0: swapper/0: 1] search_item_by_key: (FAULT) extra_info is not ready <2>[ 0.664688] [0: swapper/0: 1] set_item_val: fail to find FAULT <6>[ 0.664702] [0: swapper/0: 1] search_item_by_key: (PC) extra_info is not ready <2>[ 0.664710] [0: swapper/0: 1] set_item_val: fail to find PC <6>[ 0.664724] [0: swapper/0: 1] search_item_by_key: (LR) extra_info is not ready <2>[ 0.664732] [0: swapper/0: 1] set_item_val: fail to find LR <1>[ 0.664746] [0: swapper/0: 1] Mem abort info: <1>[ 0.664760] [0: swapper/0: 1] Exception class = DABT (current EL), IL = 32 bits <1>[ 0.664774] [0: swapper/0: 1] SET = 0, FnV = 0 <1>[ 0.664787] [0: swapper/0: 1] EA = 0, S1PTW = 0 <1>[ 0.664799] [0: swapper/0: 1] Data abort info: <1>[ 0.664814] [0: swapper/0: 1] ISV = 0, ISS = 0x00000021 <1>[ 0.664828] [0: swapper/0: 1] CM = 0, WnR = 0 <1>[ 0.664842] [0: swapper/0: 1] swapper pgtable: 4k pages, 39-bit VAs, pgd = ffffff800a739000 <1>[ 0.664856] [0: swapper/0: 1] [ffffff800b2f2402] *pgd=000000097cdfe003, *pud=000000097cdfe003, *pmd=00000009742a9003, *pte=00e800000204b707 <0>[ 0.664884] [0: swapper/0: 1] Internal error: Oops: 96000021 [#1] PREEMPT SMP <4>[ 0.664899] [0: swapper/0: 1] Modules linked in: <0>[ 0.664916] [0: swapper/0: 1] Process swapper/0 (pid: 1, stack limit = 0xffffff80081a8000) <0>[ 0.664936] [0: swapper/0: 1] debug-snapshot: core register saved(CPU:0) <0>[ 0.664950] [0: swapper/0: 1] L2ECTLR_EL1: 0000000000000007 <0>[ 0.664959] [0: swapper/0: 1] L2ECTLR_EL1 valid_bit(30) is NOT set (0x0) <0>[ 0.664978] [0: swapper/0: 1] CPUMERRSR: 0000000008000001, L2MERRSR: 0000000010200c00 <0>[ 0.664992] [0: swapper/0: 1] CPUMERRSR valid_bit(31) is NOT set (0x0) <0>[ 0.665006] [0: swapper/0: 1] L2MERRSR valid_bit(31) is NOT set (0x0) <0>[ 0.665020] [0: swapper/0: 1] debug-snapshot: context saved(CPU:0) <6>[ 0.665088] [0: swapper/0: 1] debug-snapshot: item - log_kevents is disabled <6>[ 0.665112] [0: swapper/0: 1] TIF_FOREIGN_FPSTATE: 0, FP/SIMD depth 0, cpu: 0 <4>[ 0.665130] [0: swapper/0: 1] CPU: 0 PID: 1 Comm: swapper/0 Not tainted 4.14.113 - Fresh Core-user #1 <4>[ 0.665144] [0: swapper/0: 1] Hardware name: Samsung A50 LTN OPEN rev04 board based on Exynos9610 (DT) <4>[ 0.665160] [0: swapper/0: 1] task: ffffffc8f4ce8000 task.stack: ffffff80081a8000 <4>[ 0.665180] [0: swapper/0: 1] PC is at fvmap_init+0xac/0x2c8 <4>[ 0.665195] [0: swapper/0: 1] LR is at fvmap_init+0x70/0x2c8 <4>[ 0.665211] [0: swapper/0: 1] pc : [<ffffff80085e12b8>] lr : [<ffffff80085e127c>] pstate: 20400145 <4>[ 0.665225] [0: swapper/0: 1] sp : ffffff80081abb80 <4>[ 0.665238] [0: swapper/0: 1] x29: ffffff80081abbb0 x28: 0000000000000000 <4>[ 0.665256] [0: swapper/0: 1] x27: ffffff8009efc000 x26: 0000000000000000 <4>[ 0.665273] [0: swapper/0: 1] x25: ffffff800b2e5970 x24: ffffff8008fa7222 <4>[ 0.665291] [0: swapper/0: 1] x23: ffffff800b2e5a60 x22: ffffff8009efb000 <4>[ 0.665307] [0: swapper/0: 1] x21: ffffffc8f3480000 x20: ffffff800b2e0000 <4>[ 0.665324] [0: swapper/0: 1] x19: ffffff800b2f2400 x18: 0000000000000000 <4>[ 0.665341] [0: swapper/0: 1] x17: ffffff8009bff23c x16: 0000000000000000 <4>[ 0.665358] [0: swapper/0: 1] x15: 00000000000000c6 x14: 0000000000000054 <4>[ 0.665375] [0: swapper/0: 1] x13: 000000000000d7b8 x12: 0000000000000000 <4>[ 0.665392] [0: swapper/0: 1] x11: 0000000000000000 x10: ffffffc8f3480000 <4>[ 0.665409] [0: swapper/0: 1] x9 : ffffff800b2f2400 x8 : 0000000000000000 <4>[ 0.665426] [0: swapper/0: 1] x7 : 5b20205d39303634 x6 : ffffffc0117d09b7 <4>[ 0.665443] [0: swapper/0: 1] x5 : 0000000000000001 x4 : 000000000000000c <4>[ 0.665459] [0: swapper/0: 1] x3 : 0000000000000a30 x2 : ffffffffffffffce <4>[ 0.665476] [0: swapper/0: 1] x1 : 000000000b040000 x0 : 000000000000000a Since we need these optimizations for performance reasons, the only way to resolve this is to solve the issue. Samsung already did something similar to cal-if before. We only needed to make fvmap_header/header volatile and has been tested to work. Signed-off-by: John Vincent <git@tensevntysevn.cf>
* Breaks clang12+
drivers/gpu/arm/bv_r38p1/../exynos/mali_exynos_kbase_entrypoint.c:260:35: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 260 | void mali_exynos_coherency_reg_map() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/mali_exynos_kbase_entrypoint.c:265:37: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 265 | void mali_exynos_coherency_reg_unmap() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/mali_exynos_kbase_entrypoint.c:270:49: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 270 | void mali_exynos_coherency_set_coherency_feature() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/mali_exynos_kbase_entrypoint.c:275:32: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 275 | void mali_exynos_llc_set_aruser() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/mali_exynos_kbase_entrypoint.c:280:32: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 280 | void mali_exynos_llc_set_awuser() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_platform.c:99:24: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 99 | void gpex_platform_term() | ^ drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_clock.c:63:31: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 63 | int gpexbe_clock_get_boot_freq() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_clock.c:68:30: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 68 | int gpexbe_clock_get_max_freq() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_clock.c:92:26: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 92 | int gpexbe_clock_get_rate() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_clock.c:97:22: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 97 | int gpexbe_clock_init() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_clock.c:114:23: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 114 | void gpexbe_clock_term() | ^ | void 5 errors generated. make[4]: *** [scripts/Makefile.build:334: drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_clock.o] Error 1 make[4]: *** Waiting for unfinished jobs.... drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_clock.c:40:30: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 40 | int gpex_clock_get_boot_clock() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_clock.c:44:29: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 44 | int gpex_clock_get_max_clock() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_clock.c:48:35: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 48 | int gpex_clock_get_max_clock_limit() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_clock.c:52:29: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 52 | int gpex_clock_get_min_clock() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_clock.c:56:29: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 56 | int gpex_clock_get_cur_clock() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_clock.c:60:28: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 60 | int gpex_clock_get_max_lock() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_clock.c:64:28: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 64 | int gpex_clock_get_min_lock() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_clock.c:334:21: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 334 | void gpex_clock_term() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_clock.c:355:30: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 355 | int gpex_clock_get_clock_slow() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_clock.c:407:35: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 407 | int gpex_clock_prepare_runtime_off() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_clock.c:561:27: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 561 | void gpex_clock_mutex_lock() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_clock.c:566:29: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 566 | void gpex_clock_mutex_unlock() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_clock.c:334:21: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 334 | void gpex_clock_term() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_clock.c:355:30: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 355 | int gpex_clock_get_clock_slow() drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpu_dvfs_governor.c:34:33: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 34 | int gpex_dvfs_set_clock_callback() CC drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_dvfs_external.o drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_dvfs.c:175:21: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 175 | void gpex_dvfs_start() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_dvfs.c:180:20: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 180 | void gpex_dvfs_stop() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_dvfs.c:223:21: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 223 | int gpex_dvfs_enable() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_dvfs.c:228:22: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 228 | int gpex_dvfs_disable() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_dvfs.c:233:33: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 233 | static int gpu_dvfs_handler_init() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_dvfs.c:246:35: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 246 | static int gpu_dvfs_handler_deinit() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_dvfs.c:298:20: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 298 | void gpex_dvfs_term() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_dvfs.c:306:25: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 306 | int gpex_dvfs_get_status() drivers/gpu/arm/bv_r38p1/../exynos/backend/dummy/gpexbe_secure_dummy.c:28:64: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 28 | struct protected_mode_ops *gpexbe_secure_get_protected_mode_ops() drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_smc.c:44:33: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 44 | int gpexbe_smc_protection_enable() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_smc.c:71:34: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 71 | int gpexbe_smc_protection_disable() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_smc.c:117:32: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 117 | void gpexbe_smc_notify_power_on() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_smc.c:120:33: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 120 | void gpexbe_smc_notify_power_off() drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_smc.c:44:33: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 44 | int gpexbe_smc_protection_enable() drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_qos.c:121:18: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 121 | int gpex_qos_init() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_qos.c:182:19: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 182 | void gpex_qos_term() | drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_qos.c:3:20: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 3 | int gpexbe_qos_init() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_qos.c:8:21: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 8 | void gpexbe_qos_term()
drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_bts_v1.c:33:20: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 33 | int gpexbe_bts_init() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_bts_v1.c:38:21: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 38 | void gpexbe_bts_term() drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_debug_v1.c:39:22: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 39 | int gpexbe_debug_init() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_debug_v1.c:44:23: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 44 | void gpexbe_debug_term() drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_thermal.c:40:28: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 40 | int gpex_thermal_gpu_normal() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_thermal.c:161:22: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 161 | int gpex_thermal_init() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_thermal.c:170:23: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 170 | void gpex_thermal_term() | ^ | void 3 errors generated. drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_notifier.c:109:25: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 109 | int gpexbe_notifier_init() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_notifier.c:126:26: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 126 | void gpexbe_notifier_term() drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_pm.c:68:25: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 68 | int gpexbe_pm_get_status() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_pm.c:79:56: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 79 | struct exynos_pm_domain *gpexbe_pm_get_exynos_pm_domain() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_pm.c:84:27: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 84 | void gpexbe_pm_access_lock() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_pm.c:90:29: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 90 | void gpexbe_pm_access_unlock() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_pm.c:133:28: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 133 | int gpexbe_pm_pd_control_up() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_pm.c:138:30: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 138 | int gpexbe_pm_pd_control_down() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_pm.c:143:19: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 143 | int gpexbe_pm_init() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_pm.c:159:20: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 159 | void gpexbe_pm_term() drivers/gpu/arm/bv_r38p1/../exynos/tests/runtime_test_runner_dummy.c:23:29: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 23 | int runtime_test_runner_init() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/tests/runtime_test_runner_dummy.c:28:30: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 28 | void runtime_test_runner_term() | ^ | void 2 errors generated. drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_pm.c:104:29: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 104 | int gpex_pm_get_power_status() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_pm.c:109:18: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 109 | void gpex_pm_lock() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/frontend/gpex_pm.c:114:20: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 114 | void gpex_pm_unlock() | ^ | void drivers/gpu/arm/bv_r38p1/../exynos/workarounds/gpexwa_ehmp.c:54:23: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 54 | void gpexwa_ehmp_unset() {
drivers/gpu/arm/bv_r38p1/../exynos/backend/gpexbe_qos_internal.h:21:15: error: type specifier missing, defaults to 'int' [-Werror,-Wimplicit-int] 21 | static inline pmqos_flag_check(mali_pmqos_flags type, mali_pmqos_flags in)
security/sdp/dek_legacy.c:105:20: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 105 | int is_current_adbd() { | ^ | void security/sdp/dek_legacy.c:121:20: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 121 | int is_current_epmd() {
drivers/media/tdmb/fc8080/dmbdrv_wrap_fc8080.c:386:33: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 386 | char *dmb_drv_get_ensemble_label() | ^ | void
drivers/net/wireless/bcmdhd_101_16/dhd_linux.c:19280:21: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 19280 | dhd_get_time_str_len() drivers/net/wireless/bcmdhd_101_16//wl_cfg_btcoex.c:437:37: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] void wl_cfg80211_btcoex_kill_handler() drivers/net/wireless/bcmdhd_101_16//wl_cfg_btcoex.c:450:31: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] void wl_cfg80211_btcoex_deinit() drivers/net/wireless/bcmdhd_101_16/dhd_linux_platdev.c:867:34: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 867 | static int dhd_wifi_platform_load()
drivers/soc/samsung/exynos-hdcp/exynos-hdcp2-teeif.c:58:19: error: a function declaration without a prototype is deprecated in all versions of C [-Werror,-Wstrict-prototypes] 58 | int hdcp_tee_close() | ^ | void
fs/f2fs/super.c:2456:17: error: incompatible integer to pointer conversion initializing 'unsigned int (*)(struct inode *)' with an expression of type 'int' [-Wint-conversion] 2456 | .max_namelen = F2FS_NAME_LEN, | ^~~~~~~~~~~~~ ./include/linux/f2fs_fs.h:194:24: note: expanded from macro 'F2FS_NAME_LEN' 194 | #define F2FS_NAME_LEN 255
* simplify pkg checker * add new clang versions * update debug build * fix invalid char
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.