Git Product home page Git Product logo

proton-clang's Introduction

Proton Clang

This is a LLVM and Clang compiler toolchain built for kernel development. Builds are always made from the latest LLVM sources rather than stable releases, so complete stability cannot be guaranteed.

This toolchain targets the AArch32, AArch64, and x86 architectures. It is built with LTO and PGO to reduce compile times as much as possible. Polly, LLVM's polyhedral loop optimizer, is also included for users who want to experiment with additional optimization. Note that this toolchain is not suitable for anything other than bare-metal development; it has not been built with support for any libc or userspace development in mind.

binutils is also included for convenience. Unlike LLVM, however, the latest stable version of binutils is always used to reduce the opportunity for breakage because this project is primarily focused on cutting-edge Clang, not binutils. This means that users do not need to download separate GCC toolchains to build the Linux kernel.

Automated builds occur weekly at 3 PM PST on every Saturday using fresh sources from the LLVM Git monorepo. If any part of the builds fail, this repository will not be updated. The build scripts (powered by tc-build) behind this can be found here.

Build notifications and other information can be obtained from the Telegram channel.

Host compatibility

This toolchain is built on Ubuntu 18.04 LTS, which uses glibc 2.27. Compatibility with older distributions cannot be guaranteed. Other libc implementations (such as musl) are not supported.

Building Linux

Make sure you have this toolchain in your PATH:

export PATH="$HOME/toolchains/proton-clang/bin:$PATH"

For an AArch64 cross-compilation setup, you must set the following variables. Some of them can be environment variables, but some must be passed directly to make as a command-line argument. It is recommended to pass all of them as make arguments to avoid confusing errors:

  • CC=clang (must be passed directly to make)
  • CROSS_COMPILE=aarch64-linux-gnu-
  • If your kernel has a 32-bit vDSO: CROSS_COMPILE_ARM32=arm-linux-gnueabi-

Optionally, you can also choose to use as many LLVM tools as possible to reduce reliance on binutils. All of these must be passed directly to make:

  • AR=llvm-ar
  • NM=llvm-nm
  • OBJCOPY=llvm-objcopy
  • OBJDUMP=llvm-objdump
  • STRIP=llvm-strip

Note, however, that additional kernel patches may be required for these LLVM tools to work. It is also possible to replace the binutils linkers (lf.bfd and ld.gold) with lld and use Clang's integrated assembler for inline assembly in C code, but that will require many more kernel patches and it is currently impossible to use the integrated assembler for all assembly code in the kernel.

Android kernels older than 4.14 will require patches for compiling with any Clang toolchain to work; those patches are out of the scope of this project. See android-kernel-clang for more information.

Android kernels 4.19 and newer use the upstream variable CROSS_COMPILE_COMPAT. When building these kernels, replace CROSS_COMPILE_ARM32 in your commands and scripts with CROSS_COMPILE_COMPAT.

Differences from other toolchains

Proton Clang has been designed to be easy-to-use compared to other toolchains, such as AOSP Clang. The differences are as follows:

  • CLANG_TRIPLE does not need to be set because we don't use AOSP binutils
  • LD_LIBRARY_PATH does not need to be set because we set library load paths in the toolchain
  • No separate GCC/binutils toolchains are necessary; all tools are bundled

Common problems

as: unrecognized option '-EL'

Usually, this means that CROSS_COMPILE is not set correctly. Check that variable as well as your PATH to make sure that the required tools are available for Clang to invoke. You can test it manually like tihs:

$ ${CROSS_COMPILE}ld -v
GNU ld (GNU Binutils) 2.34

If you see Command not found or any other error, one of the two variables mentioned above is most likely set incorrectly.

If you continue to encounter this error after verifying CROSS_COMPILE and PATH, you are probably running into a change in Clang 12's handling of cross-compiling. The fix is to either merge linux-stable (which already has the fix included) cherry-pick "Makefile: Fix GCC_TOOLCHAIN_DIR prefix for Clang cross compilation" manually.

If the error still continues to appear and you have an arm64 kernel that includes vdso32, you will also need to cherry-pick "arm64: vdso32: Fix '--prefix=' value for newer versions of clang" to fix the second vdso32 error. Merging linux-stable is also an option if you are on Linux 5.4 or newer.

Cannot use CONFIG_CC_STACKPROTECTOR_STRONG: -fstack-protector-strong not supported by compiler

This error is actually a result of stack protector checks in the Makefile that cause the real error to be masked. It indicates that one or more unsupported compiler flags have been passed to Clang. Disable CONFIG_CC_STACKPROTECTOR_STRONG in favor of CONFIG_CC_STACKPROTECTOR_NONE temporarily (make sure you don't keep this change permanently for security reasons) and Clang will output the flag that is causing the problem.

In downstream kernels, the cause is usually big.LITTLE CPU optimization flags that have been added to the Makefile unconditionally. The correct solution is to check cc-name for the current compiler and adjust the optimization flags accordingly — big.LITTLE for GCC and little-only for Clang. See "Makefile: Optimize for sm8150's Kryo 485 CPU setup" for an example implementation of this.

scripts/gcc-version.sh: line 25: aarch64-linux-gnu-gcc: command not found

This is caused by unconditional invocations of gcc-version.sh in CAF's camera_v2 driver. The recommended solution is to cherry-pick Google's fix from the Pixel 2 kernel, which simply removes the faulty invocations as they were never useful to begin with.

Note that these errors are harmless and don't necessarily need to be fixed, but nonetheless, ignoring them is not recommended.

undefined reference to 'stpcpy'

This is caused by a libcall optimization added in Clang 12 that optimizes certain basic sprintf calls into stpcpy calls. The correct fix for this is to cherry-pick "lib/string.c: implement stpcpy", which adds a simple implementation of stpcpy to the kernel so that Clang can use it.

proton-clang's People

Contributors

elxreno avatar kdrag0n avatar lazerl0rd avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

proton-clang's Issues

20200929 facing "Error: unrecognized option -mfloat-abi=soft clang-12

Build file https://github.com/Los7cau53/NeoKernel/blob/master/build.sh

facing "Error: unrecognized option -mfloat-abi=soft clang-12: error: assembler command failed with exit code 1 (use -v to see invocation)" error
HOSTCC arch/arm64/kernel/vdso32/../../../arm/vdso/vdsomunge Assembler messages: Error: unrecognized option -mfloat-abi=soft clang-12: error: assembler command failed with exit code 1 (use -v to see invocation) make[2]: *** [../arch/arm64/kernel/vdso32/Makefile:144: arch/arm64/kernel/vdso32/sigreturn.o] Error 1 make[2]: *** Waiting for unfinished jobs.... Assembler messages: Error: unrecognized option -mfloat-abi=soft clang-12: error: assembler command failed with exit code 1 (use -v to see invocation) make[2]: *** [../arch/arm64/kernel/vdso32/Makefile:142: arch/arm64/kernel/vdso32/vgettimeofday.o] Error 1 make[1]: *** [arch/arm64/Makefile:250: vdso_prepare] Error 2 make[1]: Leaving directory '/home/zfx/kernel/sm6150-dev/android_kernel_xiaomi_sm6150/out' make: *** [Makefile:146: sub-make] Error 2

20200725 build errors with aarch64

Hello Danny,

Latest build (20200725) has below errors with aarch64 kernel build:

../toolchains/proton-clang/bin/ld: unrecognised emulation mode: aarch64linux
Supported emulations: elf_x86_64 elf32_x86_64 elf_i386 elf_iamcu elf_l1om elf_k1om i386pep i386pe
clang-12: error: linker command failed with exit code 1 (use -v to see invocation)

However, when I hard reset the head back to 20200719 build, everything works all good.

My regards.

20201205 breaks 5.9.x kernel booting

After update clang to 20201205 release I cant boot 5.9.x kernel after building, it boots initramfs built-in shell (ash). Building with polly and -O3

Noob Question

Can you compile on m2 mac natively? On a case sensitive disk of course, please answer as quickly as possible or how can i compile kernel on an m2 mac i didn't find anything on the internet

20210403 breaks building on 4.14

MODPOST vmlinux.o
security/selinux/avc.o: in function avc_denied': /home/gtrcraft/android/kernel/optimus_surya/out/../security/selinux/avc.c:985:(.text+0x17f8): relocation truncated to fit: R_AARCH64_ADR_PREL_PG_HI21 against symbol selinux_enforcing' defined in .bss.rtic section in security/selinux/hooks.o
security/selinux/hooks.o: in function selinux_set_mnt_opts': /home/gtrcraft/android/kernel/optimus_surya/out/../security/selinux/hooks.c:729:(.text+0x448): relocation truncated to fit: R_AARCH64_ADR_PREL_PG_HI21 against symbol ss_initialized' defined in .bss.rtic section in security/selinux/ss/services.o
security/selinux/hooks.o: in function __inode_security_revalidate': /home/gtrcraft/android/kernel/optimus_surya/out/../security/selinux/hooks.c:267:(.text+0x17d8): relocation truncated to fit: R_AARCH64_ADR_PREL_PG_HI21 against symbol ss_initialized' defined in .bss.rtic section in security/selinux/ss/services.o
/home/gtrcraft/android/kernel/optimus_surya/out/../security/selinux/hooks.c:267:(.text+0x1ac0): relocation truncated to fit: R_AARCH64_ADR_PREL_PG_HI21 against symbol ss_initialized' defined in .bss.rtic section in security/selinux/ss/services.o security/selinux/hooks.o: in function selinux_nlmsg_perm':
/home/gtrcraft/android/kernel/optimus_surya/out/../security/selinux/hooks.c:5155:(.text+0x1cb0): relocation truncated to fit: R_AARCH64_ADR_PREL_PG_HI21 against symbol selinux_enforcing' defined in .bss.rtic section in security/selinux/hooks.o security/selinux/hooks.o: in function __inode_security_revalidate':
/home/gtrcraft/android/kernel/optimus_surya/out/../security/selinux/hooks.c:267:(.text+0x1e30): relocation truncated to fit: R_AARCH64_ADR_PREL_PG_HI21 against symbol ss_initialized' defined in .bss.rtic section in security/selinux/ss/services.o /home/gtrcraft/android/kernel/optimus_surya/out/../security/selinux/hooks.c:267:(.text+0x2b70): relocation truncated to fit: R_AARCH64_ADR_PREL_PG_HI21 against symbol ss_initialized' defined in .bss.rtic section in security/selinux/ss/services.o
security/selinux/hooks.o: in function selinux_get_mnt_opts': /home/gtrcraft/android/kernel/optimus_surya/out/../security/selinux/hooks.c:608:(.text+0x2e7c): relocation truncated to fit: R_AARCH64_ADR_PREL_PG_HI21 against symbol ss_initialized' defined in .bss.rtic section in security/selinux/ss/services.o
security/selinux/hooks.o: in function __inode_security_revalidate': /home/gtrcraft/android/kernel/optimus_surya/out/../security/selinux/hooks.c:267:(.text+0x32e8): relocation truncated to fit: R_AARCH64_ADR_PREL_PG_HI21 against symbol ss_initialized' defined in .bss.rtic section in security/selinux/ss/services.o
security/selinux/hooks.o: in function selinux_sb_clone_mnt_opts': /home/gtrcraft/android/kernel/optimus_surya/out/../security/selinux/hooks.c:1012:(.text+0x3404): relocation truncated to fit: R_AARCH64_ADR_PREL_PG_HI21 against symbol ss_initialized' defined in .bss.rtic section in security/selinux/ss/services.o
security/selinux/hooks.o: in function `__inode_security_revalidate':
/home/gtrcraft/android/kernel/optimus_surya/out/../security/selinux/hooks.c:267:(.text+0x37fc): additional relocation overflows omitted from the output
make[1]: *** [/home/gtrcraft/android/kernel/optimus_surya/Makefile:1117: vmlinux] Error 1

20210403 Hardcoded(?) lib path on aarch64-linux-gnu-ld.gold

Building kernel fails when aarch64-linux-gnu-ld.gold exports lib-ksyms with a "Permission denied" error, with it trying to access /root/build/install/aarch64-linux-gnu/lib. I've checked my kernel sources and it doesn't have these harcoded.

  CC      sound/soc/soc-pcm.o
  AS      arch/arm64/lib/strlen.o
  AS      arch/arm64/lib/strncmp.o
  AS      arch/arm64/lib/strnlen.o
  AS      arch/arm64/lib/strrchr.o
  CC      sound/soc/soc-io.o
  AR      arch/arm64/lib/lib.a
  EXPORTS arch/arm64/lib/lib-ksyms.o
/home/tenseventy7/proton-clang/bin/aarch64-linux-gnu-ld.gold: error: /root/build/install/aarch64-linux-gnu/lib: can not read directory: Permission denied
make[1]: *** [scripts/Makefile.build:609: arch/arm64/lib/lib-ksyms.o] Error 1
make: *** [Makefile:1232: arch/arm64/lib] Error 2
make: *** Waiting for unfinished jobs....

While this generally won't be a problem when building on CI (since they usually run on root), local builds fail unless I do somewhat dangerous chowns to the /root folder.

20200825 build errors with aarch64

Hello Danny,

Latest build (20200825) has below errors with aarch64 kernel build:

GEN .version
CHK include/generated/compile.h
UPD include/generated/compile.h
CC init/version.o
AR init/built-in.o
AR built-in.o
LTO vmlinux.o
MODPOST vmlinux.o
/home/v4lkyr/android/tools/toolchains/proton-clang/bin/aarch64-linux-gnu-ld: vmlinux.o: in function alloc_tty_struct': (.text+0x591b24): undefined reference to stpcpy'
/home/v4lkyr/android/tools/toolchains/proton-clang/bin/aarch64-linux-gnu-ld: vmlinux.o: in function tty_register_device_attr': (.text+0x593c88): undefined reference to stpcpy'
/home/v4lkyr/android/tools/toolchains/proton-clang/bin/aarch64-linux-gnu-ld: vmlinux.o: in function show_cons_active': tty_io.c:(.text+0x595b20): undefined reference to stpcpy'
/home/v4lkyr/android/tools/toolchains/proton-clang/bin/aarch64-linux-gnu-ld: vmlinux.o: in function ctp_selftest_proc_read': lct_ctp_selftest.c:(.text+0x806e44): undefined reference to stpcpy'
/home/v4lkyr/android/tools/toolchains/proton-clang/bin/aarch64-linux-gnu-ld: vmlinux.o: in function ctp_upgrade_proc_read': lct_ctp_upgrade.c:(.text+0x80713c): undefined reference to stpcpy'
/home/v4lkyr/android/tools/toolchains/proton-clang/bin/aarch64-linux-gnu-ld: vmlinux.o:lct_if_ctp_upgrade.c:(.text+0x807504): more undefined references to `stpcpy' follow
make[1]: *** [/home/v4lkyr/android/xiaomi/whyred/Makefile:1134: vmlinux] Error 1
make[1]: Leaving directory '/home/v4lkyr/android/xiaomi/whyred/out'
make: *** [Makefile:152: sub-make] Error 2

However, when I hard reset the head back to 20200808 build, everything works all good.

My regards.

Still maintained?

Hi and thanks for these prebuilts, I'm still using to compile some kernels and also included in a kernel builder project.

Is this project still maintained?

20210823 ld.lld: error: target emulation unknown: -m or at least one .o file required

Compiling kernel fails with following error with latest clang
TRIMMED LOG:

FAILED: /home/p/l/rom/out/target/product/mido/obj/KERNEL_OBJ/arch/arm64/boot/Image.gz-dtb
ld.lld: error: target emulation unknown: -m or at least one .o file required
make[3]: *** [/home/p/l/rom/kernel/xiaomi/mido/scripts/Makefile.build:516: sound/drivers/built-in.o] Error 1
make[2]: *** [/home/p/l/rom/kernel/xiaomi/mido/scripts/Makefile.build:656: sound/drivers] Error 2
make[1]: *** [/home/p/l/rom/kernel/xiaomi/mido/Makefile:1151: sound] Error 2
ld.lld: error: target emulation unknown: -m or at least one .o file required
make[5]: *** [/home/p/l/rom/kernel/xiaomi/mido/scripts/Makefile.build:516: drivers/gpu/drm/omapdrm/built-in.o] Error 1
make[4]: *** [/home/p/l/rom/kernel/xiaomi/mido/scripts/Makefile.build:656: drivers/gpu/drm/omapdrm] Error 2
make[3]: *** [/home/p/l/rom/kernel/xiaomi/mido/scripts/Makefile.build:656: drivers/gpu/drm] Error 2
ld.lld: error: target emulation unknown: -m or at least one .o file required
make[4]: *** [/home/p/l/rom/kernel/xiaomi/mido/scripts/Makefile.build:516: drivers/iio/common/built-in.o] Error 1
make[3]: *** [/home/p/l/rom/kernel/xiaomi/mido/scripts/Makefile.build:656: drivers/iio/common] Error 2
make[2]: *** [/home/p/l/rom/kernel/xiaomi/mido/scripts/Makefile.build:656: drivers/iio] Error 2
make[2]: *** [/home/p/l/rom/kernel/xiaomi/mido/scripts/Makefile.build:656: drivers/gpu] Error 2
make[1]: *** [/home/p/l/rom/kernel/xiaomi/mido/Makefile:1151: drivers] Error 2
make: *** [Makefile:152: sub-make] Error 2

More Logs: https://katb.in/fur9690

This was inline kernel compilation being compiled with proton clang for corvus os

20200831 build warnings

Hi sir

Latest build (20200831) has below warnings with aarch64 kernel build

In file included from ../techpack/audio/asoc/msm8952-dai-links.c:14:
In file included from ../include/sound/core.h:25:
In file included from ../include/linux/device.h:24:
In file included from ../include/linux/pinctrl/devinfo.h:21:
In file included from ../include/linux/pinctrl/consumer.h:17:
In file included from ../include/linux/seq_file.h:10:
In file included from ../include/linux/fs.h:7:
../include/linux/dcache.h:502:9: warning: '}' and ')' tokens terminating statement expression are separated by whitespace [-Wcompound-token-split-by-space]
return mult_frac(val, sysctl_vfs_cache_pressure, 100);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../include/linux/kernel.h:134:50: note: expanded from macro 'mult_frac'
(quot * (numer)) + ((rem * (numer)) / (denom));
^
2 warnings generated.
CC net/core/gen_stats.o
In file included from ../net/core/scm.c:23:
In file included from ../include/linux/net.h:28:
In file included from ../include/linux/fs.h:7:

Old build working good. no any warnings (20200825)

My regards.

20200831 build Error - relocation R_AARCH64_ABS32

Hi sir,

I'm building my kernel with your great proton-clang. However, I encounter the following error.
My source: https://github.com/anht3889/LGE_G820_Kernel/tree/proton_clang
Build script: ./build.sh
Errors:

WARNING: EXPORT symbol "gsi_write_channel_scratch" [vmlinux] version generation failed, symbol will not be versioned.
aarch64-linux-gnu-ld: drivers/platform/msm/gsi/gsi.o: relocation R_AARCH64_ABS32 against `__crc_gsi_write_channel_scratch' can not be used when making a shared object
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_complete_clk_grant+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_complete_clk_grant+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_map_base+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_map_base+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_unmap_base+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_unmap_base+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_register_device+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_register_device+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_write_device_scratch+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_write_device_scratch+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_deregister_device+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_deregister_device+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_alloc_evt_ring+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_alloc_evt_ring+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_write_evt_ring_scratch+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_write_evt_ring_scratch+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_dealloc_evt_ring+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_dealloc_evt_ring+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_query_evt_ring_db_addr+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_query_evt_ring_db_addr+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_ring_evt_ring_db+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_ring_evt_ring_db+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_ring_ch_ring_db+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_ring_ch_ring_db+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_reset_evt_ring+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_reset_evt_ring+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_get_evt_ring_cfg+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_get_evt_ring_cfg+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_set_evt_ring_cfg+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_set_evt_ring_cfg+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_alloc_channel+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_alloc_channel+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_write_channel_scratch3_reg+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_write_channel_scratch3_reg+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_write_channel_scratch+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_write_channel_scratch+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_read_channel_scratch+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_read_channel_scratch+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_update_mhi_channel_scratch+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_update_mhi_channel_scratch+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_query_channel_db_addr+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_query_channel_db_addr+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_start_channel+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_start_channel+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_stop_channel+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_stop_channel+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_stop_db_channel+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_stop_db_channel+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_reset_channel+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_reset_channel+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_dealloc_channel+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_dealloc_channel+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_query_channel_info+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_query_channel_info+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_is_channel_empty+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_is_channel_empty+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_queue_xfer+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_queue_xfer+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_start_xfer+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_start_xfer+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_poll_channel+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_poll_channel+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_poll_n_channel+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_poll_n_channel+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_config_channel_mode+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_config_channel_mode+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_get_channel_cfg+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_get_channel_cfg+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_set_channel_cfg+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_set_channel_cfg+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_configure_regs+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_configure_regs+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_enable_fw+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_enable_fw+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_get_inst_ram_offset_and_size+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_get_inst_ram_offset_and_size+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_halt_channel_ee+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_halt_channel_ee+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_alloc_channel_ee+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_alloc_channel_ee+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_chk_intset_value+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_chk_intset_value+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_map_virtual_ch_to_per_ep+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_map_virtual_ch_to_per_ep+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_wdi3_write_evt_ring_db+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_wdi3_write_evt_ring_db+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_wdi3_dump_register+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(___ksymtab+gsi_wdi3_dump_register+0x8): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(.data+0x0): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(.data+0x28): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(.data+0x50): dangerous relocation: unsupported relocation
drivers/platform/msm/gsi/gsi.o:(.initcall3.init+0x0): dangerous relocation: unsupported relocation

Would you please help me on this. Thanks so much!

Facing issue with latest build olders work fine

Anykernel3 present proceeding to compilation

Compiling tulip
2021-02-25
make[1]: Entering directory '/home/divyanshu/Desktop/Atom-X-Kernel/tulip'
find: ‘arch/arm64/boot/dts/’: No such file or directory
find: ‘arch/arm64/boot/dts/’: No such file or directory
HOSTCC scripts/basic/fixdep
/home/divyanshu/clang-13/bin/ld: error while loading shared libraries: libctf.so.0: cannot open shared object file: No such file or directory
collect2: error: ld returned 127 exit status
make[3]: *** [scripts/Makefile.host:91: scripts/basic/fixdep] Error 1
make[2]: *** [../Makefile:461: scripts_basic] Error 2
make[1]: *** [/home/divyanshu/Desktop/Atom-X-Kernel/Makefile:538: __build_one_by_one] Error 2
make[1]: Leaving directory '/home/divyanshu/Desktop/Atom-X-Kernel/tulip'
make: *** [Makefile:152: sub-make] Error 2
make[1]: Entering directory '/home/divyanshu/Desktop/Atom-X-Kernel/tulip'
^Z
zsh: suspended ./Allrounder.sh
~/Desktop/Atom-X-Kernel >>> sudo find / -name "libgsl.so.0" [148]

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.