<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/meta-clang.git/dynamic-layers/meta-python, branch styhead</title>
<subtitle>Mirror of github.com/kraj/meta-clang.git</subtitle>
<id>https://git.enea.com/cgit/linux/meta-clang.git/atom?h=styhead</id>
<link rel='self' href='https://git.enea.com/cgit/linux/meta-clang.git/atom?h=styhead'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-clang.git/'/>
<updated>2024-09-04T07:18:50+00:00</updated>
<entry>
<title>bpftrace: fix buildpaths QA issues</title>
<updated>2024-09-04T07:18:50+00:00</updated>
<author>
<name>Martin Jansa</name>
<email>martin.jansa@gmail.com</email>
</author>
<published>2024-09-03T11:47:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-clang.git/commit/?id=814d20901a71fd4d98a5a67789d69ef7e9a2169c'/>
<id>urn:sha1:814d20901a71fd4d98a5a67789d69ef7e9a2169c</id>
<content type='text'>
* Avoid line statements from bison to fix:
  WARNING: bpftrace-0.21.2+git-r0 do_package_qa: QA Issue: File /usr/src/debug/bpftrace/0.21.2+git/parser.tab.cc in package bpftrace-src contains reference to TMPDIR [buildpaths]
  WARNING: bpftrace-0.21.2+git-r0 do_package_qa: QA Issue: File /usr/src/debug/bpftrace/0.21.2+git/location.hh in package bpftrace-src contains reference to TMPDIR [buildpaths]
  WARNING: bpftrace-0.21.2+git-r0 do_package_qa: QA Issue: File /usr/src/debug/bpftrace/0.21.2+git/parser.tab.hh in package bpftrace-src contains reference to TMPDIR [buildpaths]
  WARNING: bpftrace-0.21.2+git-r0 do_package_qa: QA Issue: File /usr/src/debug/bpftrace/0.21.2+git/lex.yy.cc in package bpftrace-src contains reference to TMPDIR [buildpaths]

* there are still few more buildpaths issues with ptest enabled:
  WARNING: bpftrace-0.21.2+git-r0 do_package_qa: QA Issue: File /usr/src/debug/bpftrace/0.21.2+git/tests/data/dwarf_data.h in package bpftrace-src contains reference to TMPDIR [buildpaths]
  WARNING: bpftrace-0.21.2+git-r0 do_package_qa: QA Issue: File /usr/lib/bpftrace/ptest/tests/.debug/bpftrace_test in package bpftrace-dbg contains reference to TMPDIR [buildpaths]
  WARNING: bpftrace-0.21.2+git-r0 do_package_qa: QA Issue: File /usr/lib/bpftrace/ptest/tests/bpftrace_test in package bpftrace-ptest contains reference to TMPDIR [buildpaths]
  WARNING: bpftrace-0.21.2+git-r0 do_package_qa: QA Issue: File /usr/lib/bpftrace/ptest/tests/testlibs/cmake_install.cmake in package bpftrace-ptest contains reference to TMPDIR [buildpaths]
  WARNING: bpftrace-0.21.2+git-r0 do_package_qa: QA Issue: File /usr/lib/bpftrace/ptest/tests/testlibs/CTestTestfile.cmake in package bpftrace-ptest contains reference to TMPDIR [buildpaths]
  WARNING: bpftrace-0.21.2+git-r0 do_package_qa: QA Issue: File /usr/lib/bpftrace/ptest/tests/testprogs/cmake_install.cmake in package bpftrace-ptest contains reference to TMPDIR [buildpaths]
  WARNING: bpftrace-0.21.2+git-r0 do_package_qa: QA Issue: File /usr/lib/bpftrace/ptest/tests/testprogs/CTestTestfile.cmake in package bpftrace-ptest contains reference to TMPDIR [buildpaths]

* lower buildpaths from ERROR_QA to WARN_QA when ptest is enabled
  fixing .cmake files might be simple, but the embedded path to dwarf_data.h
  in bpftrace_test will be more complicated, so will leave it to
  someone actually using bpftrace (and its ptest).

  bpftrace/0.21.2+git/package $ grep -R styhead .
  ./usr/lib/bpftrace/ptest/tests/testlibs/cmake_install.cmake:# Install script for directory: ${WORKDIR}/git/tests/testlibs
  ./usr/lib/bpftrace/ptest/tests/testlibs/cmake_install.cmake:  set(CMAKE_OBJDUMP "${WORKDIR}/recipe-sysroot-native/usr/bin/aarch64-webos-linux/aarch64-webos-linux-objdump")
  ./usr/lib/bpftrace/ptest/tests/testlibs/CTestTestfile.cmake:# Source directory: ${WORKDIR}/git/tests/testlibs
  ./usr/lib/bpftrace/ptest/tests/testlibs/CTestTestfile.cmake:# Build directory: ${WORKDIR}/build/tests/testlibs
  grep: ./usr/lib/bpftrace/ptest/tests/.debug/bpftrace_test: binary file matches
  grep: ./usr/lib/bpftrace/ptest/tests/bpftrace_test: binary file matches
  ./usr/lib/bpftrace/ptest/tests/testprogs/cmake_install.cmake:# Install script for directory: ${WORKDIR}/git/tests/testprogs
  ./usr/lib/bpftrace/ptest/tests/testprogs/cmake_install.cmake:  set(CMAKE_OBJDUMP "${WORKDIR}/recipe-sysroot-native/usr/bin/aarch64-webos-linux/aarch64-webos-linux-objdump")
  ./usr/lib/bpftrace/ptest/tests/testprogs/CTestTestfile.cmake:# Source directory: ${WORKDIR}/git/tests/testprogs
  ./usr/lib/bpftrace/ptest/tests/testprogs/CTestTestfile.cmake:# Build directory: ${WORKDIR}/build/tests/testprogs
  ./usr/src/debug/bpftrace/0.21.2+git/tests/data/dwarf_data.h:constexpr inline const char *dwarf_data_cxx_path = "${WORKDIR}/build/tests/data/data_source_cxx";

Signed-off-by: Martin Jansa &lt;martin.jansa@gmail.com&gt;
</content>
</entry>
<entry>
<title>bcc: lower buildpaths from ERROR_QA to WARN_QA when ptest is enabled</title>
<updated>2024-09-04T07:18:50+00:00</updated>
<author>
<name>Martin Jansa</name>
<email>martin.jansa@gmail.com</email>
</author>
<published>2024-09-03T11:43:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-clang.git/commit/?id=6523bcaefc3be49d4aae96a84eca20efcc914d3d'/>
<id>urn:sha1:6523bcaefc3be49d4aae96a84eca20efcc914d3d</id>
<content type='text'>
WARNING: bcc-0.30.0+git-r0 do_package_qa: QA Issue: File /usr/lib/bcc/ptest/tests/cc/test_libbcc_no_libbpf in package bcc-ptest contains reference to TMPDIR [buildpaths]

This one is difficult to resolve, because the tests use CMAKE_CURRENT_BINARY_DIR directly in .cc e.g.:
https://github.com/iovisor/bcc/commit/7271bfc946a19413761be2e3c60c48bf72c5eea1#diff-233a0bfa490f3d7466c49935b64c86dd93956bbc0461f5af703b344cf6601461
we would probably need to use separate variable for "runtime" path for test assets from the standard CMAKE_CURRENT_BINARY_DIR variable or use relative
path from the test binary

Signed-off-by: Martin Jansa &lt;martin.jansa@gmail.com&gt;
</content>
</entry>
<entry>
<title>bpftrace: move from dynamic-layers/openembedded-layer to dynamic-layers/meta-python</title>
<updated>2024-09-04T07:18:50+00:00</updated>
<author>
<name>Martin Jansa</name>
<email>martin.jansa@gmail.com</email>
</author>
<published>2024-09-03T10:09:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-clang.git/commit/?id=acb53c7858a8a323aad1aa034e3bca028b0e1f4b'/>
<id>urn:sha1:acb53c7858a8a323aad1aa034e3bca028b0e1f4b</id>
<content type='text'>
* bpftrace itself doesn't depend on meta-python, but
  bpftrace from dynamic-layers/openembedded-layer depends on bcc from dynamic-layers/meta-python
  so better to move it there. This way both bcc and bpftrace are either both available
  at the same time or neither of them.

* fixes https://github.com/kraj/meta-clang/issues/985

  ERROR: Nothing PROVIDES 'bcc' (but /mnt/secondary/poky/meta-clang/dynamic-layers/openembedded-layer/recipes-devtools/bpftrace/bpftrace_0.20.1.bb DEPENDS on or otherwise requires it). Close matches:
    bc
    byacc
  NOTE: Runtime target 'bpftrace' is unbuildable, removing...
  Missing or unbuildable dependency chain was: ['bpftrace', 'bcc']
  ERROR: Required build target 'core-image-minimal' has no buildable providers.
  Missing or unbuildable dependency chain was: ['core-image-minimal', 'bpftrace', 'bcc']

  when only openembedded-layer (meta-oe) is in BBLAYERS and meta-python isn't.

Signed-off-by: Martin Jansa &lt;martin.jansa@gmail.com&gt;
</content>
</entry>
<entry>
<title>bcc: Upgrade to 0.30.0+</title>
<updated>2024-07-15T18:47:38+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2024-06-13T19:52:21+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-clang.git/commit/?id=1fdde55d951b7a8f1e537ccf56aca2dc90c40091'/>
<id>urn:sha1:1fdde55d951b7a8f1e537ccf56aca2dc90c40091</id>
<content type='text'>
This will fix build on clang19+

Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>bcc: Use UNPACKDIR in place of WORKDIR</title>
<updated>2024-05-21T15:36:37+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2024-05-15T14:46:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-clang.git/commit/?id=92f50e296c5cc4ab8dabf132e14cea39ffd64f5f'/>
<id>urn:sha1:92f50e296c5cc4ab8dabf132e14cea39ffd64f5f</id>
<content type='text'>
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>bcc: remove LUAJIT setting and related examples</title>
<updated>2024-03-18T21:15:16+00:00</updated>
<author>
<name>Changqing Li</name>
<email>changqing.li@windriver.com</email>
</author>
<published>2024-03-15T09:24:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-clang.git/commit/?id=8e6be2c5abe7d70858c3116458e48f9fb14a7dc4'/>
<id>urn:sha1:8e6be2c5abe7d70858c3116458e48f9fb14a7dc4</id>
<content type='text'>
Current LUAJIT actually not works, below is snip of src/lua/CMakeLists.txt
[snip]
find_package(LuaJIT)
find_program(LUAJIT luajit)

if (LUAJIT_LIBRARIES AND LUAJIT)
	FILE(GLOB_RECURSE SRC_LUA
		${CMAKE_CURRENT_SOURCE_DIR}/bcc/*.lua
		${CMAKE_CURRENT_SOURCE_DIR}/bcc/vendor/*.lua
		${CMAKE_CURRENT_SOURCE_DIR}/bpf/*.lua)

	ADD_CUSTOM_COMMAND(
		OUTPUT bcc.lua
		COMMAND ${LUAJIT} ${CMAKE_CURRENT_SOURCE_DIR}/src/squish.lua ${CMAKE_CURRENT_SOURCE_DIR}
		DEPENDS ${SRC_LUA} ${CMAKE_CURRENT_SOURCE_DIR}/squishy
	)

	ADD_CUSTOM_COMMAND(
		OUTPUT bcc.o
		COMMAND ${LUAJIT} -bg bcc.lua bcc.o
		DEPENDS bcc.lua
	)
[snip]

LUAJIT will be set when luajit is found. For oe, maybe we need to
DEPENDS on luajit-native. But there are still 2 problems after I change
DEPENDS from luajit to luajit-native and export
LUA_PATH="${RECIPE_SYSROOT_NATIVE}/usr/share/luajit-2.1/?.lua"

1. luajit seems not support cross compile, if our target arch is
different with build host, from above snip, luajit will compile out
bcc.o with host arch, int this way, compile will failed with below
error: "error adding symbols: file in wrong format".

Refer [1],  seems like option "-a" can used to generate other arch
object. But luajit-native don't have this option:
cortexa57-wrs-linux/bcc/0.29.1/recipe-sysroot-native/usr/bin/luajit [options]... [script [args]...].
Available options are:
-e chunk Execute string 'chunk'.
-l name Require library 'name'.
-b ... Save or list bytecode.
-j cmd Perform LuaJIT control command.
-O[opt] Control LuaJIT optimizations.
-i Enter interactive mode after executing 'script'.
-v Show version information.
-E Ignore environment variables.
– Stop handling options.

2. if target arch is the same as build host(my test env is x86-64),
bcc-lua is built out, but still have 2 problems, first, "bcc-lua
/usr/share/bcc/examples/lua/bashreadline.lua" has a runtime error [2].
second, bcc-lua may try to find modules on host path:

root@qemux86-64:/usr/share/bcc/examples/lua# bcc-lua ./kprobe-latency.lua
bcc-lua: bcc.lua:3052: module 'syscall' not found:
no field package.preload['syscall']
no file './syscall.lua'
no file '/build/tmp-glibc/work/x86_64-linux/luajit-native/2.1/recipe-sysroot-native/usr/share/luaj'
no file '/usr/local/share/lua/5.1/syscall.lua'
no file '/usr/local/share/lua/5.1/syscall/init.lua'
no file '/build/tmp-glibc/work/x86_64-linux/luajit-native/2.1/recipe-sysroot-native/usr/share/lua/'
no file '/build/tmp-glibc/work/x86_64-linux/luajit-native/2.1/recipe-sysroot-native/usr/share/lua/'
no file './syscall.so'
no file '/usr/local/lib/lua/5.1/syscall.so'
no file '/build/tmp-glibc/work/x86_64-linux/luajit-native/2.1/recipe-sysroot-native/usr/lib/lua/5.'
no file '/usr/local/lib/lua/5.1/loadall.so'

so remove LUAJIT setting and related examples first

[1] https://luajit.org/running.html
[2] https://github.com/iovisor/bcc/issues/1621

Signed-off-by: Changqing Li &lt;changqing.li@windriver.com&gt;
</content>
</entry>
<entry>
<title>bcc: Do not set LLVM_PACKAGE_VERSION explicitly</title>
<updated>2024-03-07T03:18:22+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2024-02-16T03:14:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-clang.git/commit/?id=22235606aa2d61bbbc0c4bcc684cb665c5657053'/>
<id>urn:sha1:22235606aa2d61bbbc0c4bcc684cb665c5657053</id>
<content type='text'>
bcc's build system can detect it correctly these days from sysroot cmake
files provided by llvm.

Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>bcc: Upgrade to 0.29.1</title>
<updated>2024-01-23T20:50:35+00:00</updated>
<author>
<name>Khem Raj</name>
<email>raj.khem@gmail.com</email>
</author>
<published>2024-01-21T20:25:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-clang.git/commit/?id=e18cec09b30a3946a1b1c590d4bf1fe5080d7087'/>
<id>urn:sha1:e18cec09b30a3946a1b1c590d4bf1fe5080d7087</id>
<content type='text'>
Signed-off-by: Khem Raj &lt;raj.khem@gmail.com&gt;
</content>
</entry>
<entry>
<title>bcc: drop python3-distutils runtime dependency</title>
<updated>2024-01-21T17:27:07+00:00</updated>
<author>
<name>Martin 'JaMa' Jansa</name>
<email>Martin.Jansa@gmail.com</email>
</author>
<published>2024-01-21T12:13:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-clang.git/commit/?id=1aadfcc64ead4eb00484ab9477c82d21773f2aab'/>
<id>urn:sha1:1aadfcc64ead4eb00484ab9477c82d21773f2aab</id>
<content type='text'>
distutils package no longer exists after python 3.12 upgrade.

I haven't run ptest for this, but at least it will parse well now.</content>
</entry>
<entry>
<title>bcc: CMakeLists.txt: don't modify .gitconfig on build host nor try to update git submodules</title>
<updated>2023-09-07T17:39:05+00:00</updated>
<author>
<name>Martin Jansa</name>
<email>martin.jansa@gmail.com</email>
</author>
<published>2023-09-07T09:45:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/meta-clang.git/commit/?id=0bbb4abf18108c456913c8ad7c25af5bf835bb4a'/>
<id>urn:sha1:0bbb4abf18108c456913c8ad7c25af5bf835bb4a</id>
<content type='text'>
* bitbake fetcher will correctly handle safe.directory issues and
  blazesym or libbpf submodules are managed by gitsm:// fetcher
  we don't want to call git from CMake in do_configure

* prevents many safe.directory entries in users .gitconfig when
  bcc was built in many different TMPDIRs

  added in https://github.com/iovisor/bcc/pull/4186

  causing:
  [safe]
        directory = /OE/build/oe-core/tmp-glibc/work/cortexa57-oe-linux/bcc/0.28.0+git/git
        directory = /OE/build/oe-core/tmp-glibc/work/cortexa57-oe-linux/bcc/0.28.0+git/git/libbpf-tools/blazesym

  to be added for every TMPDIR where it was built

Signed-off-by: Martin Jansa &lt;martin.jansa@gmail.com&gt;
</content>
</entry>
</feed>
