Please note: We are aware of an issue affecting replies on the Arm Community forums, which may not be loading as expected.

We apologize for any inconvenience and appreciate your patience while we investigate and work to resolve the issue.

Thank you for your understanding.


This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Streamline doesn't show Linux kernel source in code section

Hi Streamline team,

I'm trying to use Streamline to analyze a userspace program and a driver in the Linux kernel which is used by the userspace one.

I managed to get a capture with some of the functions I added to the Linux kernel but when I double click on the function it doesn't show anything in the code section (just empty table). When I attached my userspace program it worked fine and I could see the source code in the code section.

While creating the capture, I attached a debug vmlinux file as mentioned in "streamline/gator/README.md" file.

$ file vmlinux
vmlinux: ELF 64-bit LSB pie executable, ARM aarch64, version 1 (SYSV), statically linked, BuildID[sha1]=4a2c0d4f1853fda4b1b6f86f2f68c0fb437ac585, with debug_info, not stripped

I'm analyzing a system running on Raspberry Pi 3 B+ with a custom Linux image based on Buildroot. I'm adding below some screenshots for my capture.

Note that the function "cv_neon_read" is part of the code I added to the linux kernel but when I double click on it, it doesn't show in code

Is there something I need to do to enabled the kernel code to be visible in the code section?

Thanks,
KJ Yang

Parents
  • Hello Yahya,

    • I'm using Arm Streamline Performance Analyzer Version 9.6.1, Build 20250609_133608
    • No, just the code for the userspace program appears in the code section but the kernel code doesn't show
    • Yes CONFIG_DEBUG_INFO is enabled. I attached all the configurations I used to build kernel
    • The path substitution icon is enabled and I get empty list when I click on it. the kernel directory is not on list

    Thanks,
    KJ Yang

    config.txt

Reply
  • Hello Yahya,

    • I'm using Arm Streamline Performance Analyzer Version 9.6.1, Build 20250609_133608
    • No, just the code for the userspace program appears in the code section but the kernel code doesn't show
    • Yes CONFIG_DEBUG_INFO is enabled. I attached all the configurations I used to build kernel
    • The path substitution icon is enabled and I get empty list when I click on it. the kernel directory is not on list

    Thanks,
    KJ Yang

    config.txt

Children
  • Hi KJ Yang,

    Thanks for the info you provided. The kernel configuration file you attached contains all the necessary configs.

    I have another couple questions to ask:

    • Can you specify the DWARF version of your vmlinux image?
      • To know that you can run the following code
        readelf --debug-dump=info vmlinux | grep "Version:" | tail -n 1


    • When you right-click on the capture and choose Analyze, do you see the vmlinux image in the Program Images list?
      if yes, is the image detected as "Debug Info" image?
      • For reference, it should look something like that:

    Kind Regards,
    Yahya

  • Hi Yahya,

    • From your command the version is 4 
    • Yes, I can see the vmlinux image and it has debug ifno

    Thanks,
    KJ Yang

  • Hi KJ Yang,

    The issue you have reported has been confirmed to be a bug and we are currently working on fixing it.

    As a work around, you can overcome the issue by disabling the beta C++ processing backend by doing the following:

    • Go to Window → Preferences and untick Use new C++ processing backend (beta).
    • In your captures list, right-click the capture → Clean Analysis Result.
    • Analyze your capture again as usual and the code tab should be working fine with Linux kernel source code
      • You might need to use Path Substitution as mentioned by other answers

    Please let me know if you have any questions.

    Thanks,
    Yahya

  • Hi Yahya,

    I tested your workaround and it's working. I can see the kernel code now.

    Thanks a lot for your help