-
Notifications
You must be signed in to change notification settings - Fork 280
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
Use clang-17 for building binary #270
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @mchataigner, can you also fix the tests? It seems you just need to update the GH workflow and introduce clang-19
.
Comparison of eBPF artifacts size clang-16
clang-17
clang-18
|
40479f9
to
02807d8
Compare
Ok, switching to clang-18 because 19 is not available by default on ubuntu 24.04 github action runner. |
The 4.19 and 5.4 ebpf verifiers are too picky for clang-18 code :| |
02807d8
to
84e774d
Compare
Ok, then I’m trying Clang 17 :) |
3ca8442
to
e98300e
Compare
ok, it seems to work with clang 17 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
clang-17 is still packaged for Debian testing.
https://apt.llvm.org/ may be worth considering automatic install script from llvm and still using clang-16 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you also update support/ebpf/print_instruction_count.sh
to use llvm-objdump-17
instead of -16
?
For some reason, clang-16 is not available anymore on debian testing. Switching to clang 17 (available in both ubuntu 24.04 github runner and debian testing) unblocks the build. - Clang 19 was not available in ubuntu 24.04 github runner - Clang 18 broke tests with kernels 4.19.314 and 5.4.276
e98300e
to
c066dc3
Compare
AMD64: perf_event/unwind_dotnet has 3463 instructions perf_event/unwind_hotspot has 3266 instructions tracepoint/sched/sched_switch has 1160 instructions perf_event/unwind_stop has 445 instructions perf_event/native_tracer_entry has 431 instructions perf_event/unwind_native has 4002 instructions perf_event/unwind_perl has 2585 instructions perf_event/unwind_php has 2523 instructions perf_event/unwind_python has 3654 instructions perf_event/unwind_ruby has 2927 instructions tracepoint/sched/sched_process_exit has 111 instructions tracepoint/syscalls/sys_enter_bpf has 25 instructions raw_tracepoint/sys_enter has 29 instructions perf_event/unwind_v8 has 3312 instructions Total instructions: 27933 ARM64: I had to run `make agent TARGET_ARCH=arm64` twice: ```error: Invalid record (Producer: 'LLVM19.1.4' Reader: 'LLVM17.0.6')```
I had to run
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is now essentially an empty file so something went wrong on your end. I pushed a branch that has the ARM64 artifact compiled with clang-17
through the docker image. Feel free to copy it from there.
For some reason, clang-16 is not available anymore on debian testing.
Switching to clang 17 (available in both ubuntu 24.04 github runner and debian testing) unblocks the build.