Skip to content
This repository has been archived by the owner on Feb 4, 2023. It is now read-only.

Got failed for building arm32 arch bcc #29

Open
henryLdx opened this issue Jun 26, 2019 · 3 comments
Open

Got failed for building arm32 arch bcc #29

henryLdx opened this issue Jun 26, 2019 · 3 comments

Comments

@henryLdx
Copy link

I have support adeb on my arm64 android device,i just run " adeb prepare --full",and then
the adeb runs perfect on the arm64 android device.Adeb is so powerful for debugging.
And then I want to support adeb on my arm32 platform,so i try to "adeb prepare --arch armel --build --bcc --kernelsrc /path/to/kernel-source/", but i got failed when build bcc,the the error message as follow:
"""
[ 90%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_shared_table.cc.o
In file included from /bcc-master/tests/cc/test_shared_table.cc:17:
In file included from /bcc-master/src/cc/api/BPF.h:25:
In file included from /bcc-master/src/cc/api/BPFTable.h:30:
In file included from /bcc-master/src/cc/bcc_syms.h:24:
/bcc-master/src/cc/libbpf/include/uapi/linux/bpf.h:3405:1: warning: struct has size 0 in C, size 1 in C++ [-Wextern-c-compat]
struct bpf_raw_tracepoint_args {
^
1 warning generated.
[ 90%] Building CXX object tests/cc/CMakeFiles/test_libbcc.dir/test_usdt_args.cc.o
/usr/bin/ld: ../../src/cc/frontends/clang/libclang_frontend.a(loader.cc.o): in function ebpf::ClangLoader::do_compile(std::unique_ptr<llvm::Module, std::default_delete<llvm::Module> >*, ebpf::TableStorage&, bool, std::vector<char const*, std::allocator<char const*> > const&, std::vector<char const*, std::allocator<char const*> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::unique_ptr<llvm::MemoryBuffer, std::default_delete<llvm::MemoryBuffer> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ebpf::FuncSource&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<int, std::tuple<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, int, int, int>, std::less<int>, std::allocator<std::pair<int const, std::tuple<int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, int, int, int, int> > > >&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > >&)': loader.cc:(.text+0x2688): undefined reference to __atomic_fetch_sub_4'
/usr/bin/ld: loader.cc:(.text+0x2cf4): undefined reference to __atomic_fetch_add_4' /usr/bin/ld: loader.cc:(.text+0x2d44): undefined reference to __atomic_fetch_add_4'
/usr/bin/ld: loader.cc:(.text+0x316c): undefined reference to __atomic_fetch_add_4' /usr/bin/ld: loader.cc:(.text+0x31bc): undefined reference to __atomic_fetch_add_4'
/usr/bin/ld: loader.cc:(.text+0x3618): undefined reference to `__atomic_fetch_add_4'
"""
And then i tried to build arm64 bcc by myself, runs "adeb prepare --arch arm64 --build --bcc --kernelsrc /path/to/kernel-source/" on the arm64 device, and the bcc built successful and the adeb works well.
So, i guess the bcc maybe not support arm architecture.
Ask for your help that the adeb support arm architeture,and i could get adeb for arm32 device by running "adeb prepare --full --arch armel".
Waiting for your good news

@bitw1ze
Copy link

bitw1ze commented Oct 2, 2019

I am having the same issue. It seems arm32 is not supported.

Are there plans to add arm32 support? Or is there a workaround?

@joelagnel
Copy link
Owner

joelagnel commented Oct 3, 2019 via email

@gorhamc
Copy link

gorhamc commented Mar 21, 2021

Any chance there is now support for arm32? I've had no luck getting it to run...

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants