summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* clang: Update to latest release/11.xKhem Raj2020-08-271-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* layer.conf: Drop zeus and dunfell from LAYERSERIES_COMPATKhem Raj2020-08-271-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* layer: Add 3.2 (gatesgarth) to LAYERSERIES_COMPATKhem Raj2020-08-271-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* gerbera: Dont force libc++ when using clangKhem Raj2020-08-211-2/+0
| | | | | | | It mixes libstdc++ and libc++ and results in libspdlog.a(spdlog.cpp.o): undefined reference to symbol '_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE7compareEPKc@@GLIBCXX_3.4.21' Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libcxx: Fix build on rv32 and use compiler-rt on rv32/rv64Khem Raj2020-08-212-2/+32
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Update to 11.x release branchKhem Raj2020-08-2128-204/+235
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* README: Add intruction to build with pokyKhem Raj2020-08-161-1/+10
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* bcc: trace: Fix failing to exit loopsHe Zhe2020-08-142-0/+47
| | | | | | | | | | | | | | | | | | | | | | /usr/share/bcc/tools/trace do_sys_open -M 1 PID TID COMM FUNC 3740 3740 irqbalance do_sys_open Exception ignored on calling ctypes callback function: <function PerfEventArray.open_perf_buffer.<locals>.raw_cb at 0x7f7c9efea280> Traceback (most recent call last): File "/usr/lib64/python3.8/site-packages/bcc/table.py", line 685, in raw_cb_ callback(cpu, data, size) File "/usr/share/bcc/tools/trace", line 630, in print_event exit() File "/usr/lib64/python3.8/sitebuiltins.py", line 26, in __call_ raise SystemExit(code) SystemExit: None Class Probe::print_event is used as a callback of a ctypes wrapper. With Yocto latest python v3.8.5, the exception raised by exit() is ignored and thus trace cannot exit. Use os._exit(0) instead. Signed-off-by: He Zhe <zhe.he@windriver.com>
* bcc: biosnoop: Fix failing to attach to trace_req_completionHe Zhe2020-08-142-0/+170
| | | | | | | | | | | | | | | | | | /usr/share/bcc/tools/biosnoop cannot attach kprobe, probe entry may not exist Traceback (most recent call last): File "/usr/share/bcc/tools/biosnoop", line 162, in <module> b.attach_kprobe(event="blk_account_io_completion", File "/usr/lib64/python3.8/site-packages/bcc/_init_.py", line 660, in attach_kprobe raise Exception("Failed to attach BPF program %s to kprobe %s" % Exception: Failed to attach BPF program b'trace_req_completion' to kprobe b'blk_account_io_completion' The kernel function "blk_account_io_completion" is not available anymore as attach point of Kprobe as of kernel version 5.8.0. Therefore, after discussions, we decided to use function "blk_account_io_done" instead in every kprobe attachment to "blk_account_io_completion". Signed-off-by: He Zhe <zhe.he@windriver.com>
* clang: set the default pigz threadMingli Yu2020-08-121-0/+3
| | | | | | | | | | | | | | | | | | | | | | pigz, which stands for parallel implementation of gzip, is a fully functional replacement for gzip that exploits multiple processors and multiple cores to the hilt when compressing data. do_package uses pigz to compress data to speed up the time if there is pigz available on the build server. But for some big package such as clang, there comes below error during do_package. gzip: stdout: Cannot allocate memory tar: TOPDIR/sstate-cache/20/80/sstate:clang:cortexa57-wrs-linux:10.0.1:r0:cortexa57:3:20808f8a746b00ec9470a81057c8595d878cfe8c565cfbcbbaa3ea870528ee34_package.tgz.QF5dss8M: Wrote only 8192 of 10240 bytes tar: Child returned status 1 tar: Error is not recoverable: exiting now So set the default pigz thread for clang and the user also can customize the pigz thread such as PIGZ_pn-clang = "-p 3" for clang in local.conf to avoid eating so much memory. Signed-off-by: Mingli Yu <mingli.yu@windriver.com>
* bpftrace: upgrade 0.9.4 -> 0.11.0Ovidiu Panait2020-08-062-1/+279
| | | | | | | | | | | | Uprev bpftrace to v0.11.0: * Add patch to fix compilation with LLVM 11 * Add cmake option CMAKE_ENABLE_EXPORTS=1 to prevent stripping, in order to fix the following error: root@qemux86-64:~# bpftrace /usr/share/bpftrace/tools/biosnoop.bt Attaching 4 probes... Could not resolve symbol: /proc/self/exe:BEGIN_trigger Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
* bcc: upgrade 0.13.0 -> 0.15.0Ovidiu Panait2020-08-064-224/+18
| | | | | | | | | | | | Uprev bcc to v0.15.0: * drop backports: https://github.com/iovisor/bcc/commit/68abb51ed067c4317b991cec0bbc2ea4e7f6ddab https://github.com/iovisor/bcc/commit/1c843e2c0f7570844a2c955436455132936eae47 * refresh patches Fixes: #348 Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com>
* drone.yml: Add error reporting related variables to local.confKhem Raj2020-08-041-0/+4
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* drone: Do not expect same branches between meta-clang and yoeKhem Raj2020-08-041-2/+2
| | | | | | | | It could be that we use master branch of yoe to test a different feature branch on meta-clang, therefore just checkout whatever is default and then switch to master branch explicitly Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libcxx: Default to compiler-rt when it is in PACKAGECONFIGKhem Raj2020-08-041-1/+1
| | | | | | This ensures right C runtime is used as desired by user Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Add packageconfig to select default unwinderKhem Raj2020-08-011-0/+1
| | | | | | | | | | a choice is needed to be made for selecting unwinder library defaults ( --unwindlib ), by default we choose libgcc unwinder when packageconfig is disabled and only use llvm unwinder when this option is enabled Fixes Issue #332 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libcxx: Fix linking based upon chosen compiler runtimeKhem Raj2020-08-011-5/+6
| | | | | | | | | | | | | | | | | | | | | | libcxx can use either libgcc_s or llvm libunwind for unwinder functionality, the defaults are platform dependent, therefore with this patch we make intentional choice based on RUNTIME settings chosen, e.g. when using GNU runtime we use libgcc and also ensure that it add right compiler options to build as well, since libcxx build looks C runtime by calling $($CC --print-libgcc-file-name) to build libc++abi.so unless we use right -rtlib option it will result in linking wrong library Enable RTTI as well do not enable llvm unwinder unless we chose llvm runtime, even that might not work since libpthread from glibc explicitly dlopens libgcc_s.so to enable unwinding https://github.com/bminor/glibc/blob/5f72f9800b250410cad3abfeeb09469ef12b2438/sysdeps/nptl/unwind-forcedunwind.c#L53...L58 Fixes Issue #332 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* busybox: Forward port the clang patch to 1.32 releaseKhem Raj2020-07-122-17/+6
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Update to 10.0.1-rc4Khem Raj2020-07-101-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* busybox: Rename bbappend to apply for 1.31 version aloneKhem Raj2020-07-031-0/+0
| | | | | | This patch is alrady upstream for 1.32 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: usrmerge workaroundOleksandr Ocheretnyi2020-07-021-0/+2
| | | | | | | | | | | | | | | |  * issue:     the openembedded-core build procedure relies on changed default dynamic loader path when the usrmerge distro feature turned on. As we can find the GCC which is used as default toolchain uses SYSTEMLIBS_DIR macro variable set to /usr/(lib|lib64) at build time and hardcodes the binaries with that default loader path.  * solution:     change the default dynamic loader location with --dyld-prefix clang option to conform the loader location (as GCC does) to openembedded-core build procedure. Signed-off-by: Oleksandr Ocheretnyi <oocheret@cisco.com>
* clang: honor --dyld-prefix when searching for dynamic linkerOleksandr Ocheretnyi2020-07-022-0/+70
| | | | | | | | | | * Commit 1ce5b0090e18 ("clang: Search for dynamic linker.") does not honor --dyld-prefix option, so it fails to find the linker when --dyld- prefix is used for usrmerge. Add DyldPrefix when searching for dynamic linker. Fixes: 1ce5b0090e18 ("clang: Search for dynamic linker.") Signed-off-by: Oleksandr Ocheretnyi <oocheret@cisco.com>
* bcc: Fix KBUILD_MODNAME errors for kernel 5.7 and latterHe Zhe2020-06-303-0/+205
| | | | | | | | | Backport two patches to fix the following runtime failures. Networking tools fail with include/net/flow_offload.h:304:4: error: use of undeclared identifier 'KBUILD_MODNAME'. Signed-off-by: He Zhe <zhe.he@windriver.com>
* clang: Update to 10.0.1-rc2Khem Raj2020-06-281-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* meta-environment: Conditionally add clang specific environment variablesKhem Raj2020-06-281-4/+6
| | | | | | | | Only when CLANGSDK = 1 Fixes Issue #338 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* python3: Cant run profile binaries in qemu when built with clangKhem Raj2020-06-281-0/+5
| | | | | | mark it gcc only for now Signed-off-by: Khem Raj <raj.khem@gmail.com>
* bcc: Make opensnoop compatible with kernel v5.6 and laterHe Zhe2020-06-162-1/+53
| | | | | | | Since kernel v5.6, fddb5d430ad9 ("open: introduce openat2(2) syscall"), do_sys_openat2 instead of do_sys_open has been used as entry function for open. Signed-off-by: He Zhe <zhe.he@windriver.com>
* clang: Update to latest after 10.0.1-rc1Khem Raj2020-06-091-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* apt: Disable c++11-narrowing and fortifyKhem Raj2020-06-091-0/+10
| | | | | | | | | apt 1.8.2+ does not compile with clang, clang is finding narrowing warnings and printf function is redefined in tests which confuses the function signatures from libc when fortify is enabled, its therefore disabled for now Signed-off-by: Khem Raj <raj.khem@gmail.com>
* drone: Use $DRONE_SOURCE_BRANCH instead of hardcoding branchKhem Raj2020-06-051-1/+1
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* Add PULL_REQUEST_TEMPLATE and CODEOWNERS filesKhem Raj2020-05-262-0/+13
| | | | | | | This should help notification and submitters to do right things for a pull request Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Update to 10.0.1-rc1Khem Raj2020-05-262-3/+3
| | | | | | | | Update version number accordingly Signed-off-by: Khem Raj <raj.khem@gmail.com> s
* clang.bbclass: Define -target in HOST_CC_ARCHKhem Raj2020-05-161-0/+1
| | | | | | | This helps extra tools like clang-tidy to find arch-specific macros, headers in a cross compile environment. Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang.bbclass: Define CLANG_TIDY and extend it to cmake as wellKhem Raj2020-05-161-1/+8
| | | | Signed-off-by: Khem Raj <raj.khem@gmail.com>
* cmake-native.bbclass: remove reset of CCACHEKai Kang2020-05-151-3/+0
| | | | | | | | | | It reset variable CCACHE to disable ccache. But that doesn't effect that CCACHE is set in an anonymous function from ccache.bbclass at last and ccache is always not disabled with cmake. Remove these useless piece of code. Signed-off-by: Kai Kang <kai.kang@windriver.com>
* clang.bbclass: override CCACHE_COMPILERCHECKKai Kang2020-05-151-0/+1
| | | | | | | | | | | | It fails to build compiler-rt when ccache is enabled: | ccache: error: Failure running compiler check command: %compiler% -dumpspecs Because clang doesn't recognize option '-dumpspecs' from default value of CCACHE_COMPILERCHECK, override CCACHE_COMPILERCHECK for toolchain clang in clang.bbclass. Signed-off-by: Kai Kang <kai.kang@windriver.com>
* openmp: Make offloading-plugin as packageconfigKhem Raj2020-05-131-6/+8
| | | | | | | Needs libffi and libelf as dependencies, and is available only for aarch64/x86_64/ppc64 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* wpewebkit: Enable clangKhem Raj2020-05-031-3/+1
| | | | | | It can build with clang now a days Signed-off-by: Khem Raj <raj.khem@gmail.com>
* rpm: Depend on openmp when using clangKhem Raj2020-04-291-0/+3
| | | | | | | This ensures that clang compiler has proper omp runtime to link rpm which now required omp Signed-off-by: Khem Raj <raj.khem@gmail.com>
* openmp: Do not insttall libgomp.so aliasesKhem Raj2020-04-291-3/+1
| | | | | | | | | libgomp is coming from gcc-runtime and clang does not find it anyway so its better to not synlink it here, so it can avoid clashes with gcc-runtime, anyway clang will use this openmp runtime when using -fopenmp and wont depend on gomp from gcc Signed-off-by: Khem Raj <raj.khem@gmail.com>
* openmp: Extend to native and nativesdkKhem Raj2020-04-291-0/+2
| | | | | | Needed for rpm-native and friends Signed-off-by: Khem Raj <raj.khem@gmail.com>
* bcc bpftrace: Add xz to RDEPENDSHe Zhe2020-04-282-2/+2
| | | | | | | | | | | | bcc and bpftrace require xz to extract /sys/kernel/kheaders.tar.xz, otherwise the tools would fail as below. tar (child): xz: Cannot exec: No such file or directory tar (child): Error is not recoverable: exiting now tar: Child returned status 2 tar: Error is not recoverable: exiting now Signed-off-by: He Zhe <zhe.he@windriver.com>
* layer.conf: Add bpftrace to non-multilib listHe Zhe2020-04-281-1/+1
| | | | | | | bpftrace is only compatible with x86_64, aarch64 and powerpc64. So it's not able to built as 32 bit binary. Signed-off-by: He Zhe <zhe.he@windriver.com>
* layer.conf: Add bcc to non-multilib listHe Zhe2020-04-271-0/+2
| | | | | | | bcc is only compatible with x86_64, aarch64 and powerpc64. So it's not able to built as 32 bit binary. Signed-off-by: He Zhe <zhe.he@windriver.com>
* clang: add lldb, lldb-server, liblldb packagesMaxime Roussin-Bélanger2020-04-271-1/+17
| | | | | | With lldb split in multiple packages it reduces the size of the `clang` package and you can now install lldb, lldb-server and liblldb without h having the whole clang fat package.
* clang.bbclass: Handle big.LITTLE mtune options on arm/aarch64Khem Raj2020-04-231-0/+7
| | | | | | | | | | | Clang does not yet support big.LITTLE performance tunes, so use the LITTLE for tunes see [1] Fixes Issue #313 [1] https://reviews.llvm.org/D32076 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* fix build errors when using libLLVMInterpreterAnuj Mittal2020-04-032-0/+29
| | | | | | | | | | | | | | | | | Don't use the full path to libffi and avoid linking to the one from clang's sysroot. Prevents errors like: Log data follows: | DEBUG: Executing shell function do_compile | NOTE: VERBOSE=1 cmake --build /build/build/tmp/work/corei7-64-poky-linux/opencl-clang/10.0.0-r0/build --target all -- | ninja: error: '/build/build/tmp/work/corei7-64-poky-linux/clang/10.0.0-r0/recipe-sysroot/usr/lib/libffi.so', needed by 'libopencl-clang.so.10', missing and no known rule to make it | WARNING: exit code 1 from a shell command. | ERROR: Execution of '/build/build/tmp/work/corei7-64-poky-linux/opencl-clang/10.0.0-r0/temp/run.do_compile.72389' failed with exit code 1: | ninja: error: '/build/build/tmp/work/corei7-64-poky-linux/clang/10.0.0-r0/recipe-sysroot/usr/lib/libffi.so', needed by 'libopencl-clang.so.10', missing and no known rule to make it | WARNING: exit code 1 from a shell command. | Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
* layer.conf: Mark CLANGSDK 0 by defaultKhem Raj2020-04-032-2/+3
| | | | | | | | This ensures that clangsdk does not inserts itself unless user asks for Fixes #234 Signed-off-by: Khem Raj <raj.khem@gmail.com>
* libsdl2: Do not use internal asmKhem Raj2020-04-021-0/+6
| | | | | | it seems to not use unified syntax Signed-off-by: Khem Raj <raj.khem@gmail.com>
* clang: Fix default resources directory when cross compilingJim Broadus2020-03-282-0/+42
| | | | | | | | | | | | By default, clang looks for resourses relative to the binary location: ${location}/../lib/clang/${version}/ However, the default bindir defined in cross.bbclass is a subdirectory of bin, so clang forms a directory that looks like /usr/bin/lib/clang/10.0.0/ Apply a patch to use ${location}/../../lib/clang/${version} if the directory name of ${location}/.. is "bin". Signed-off-by: Jim Broadus <jbroadus@xevo.com>