Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Research Collaboration and Enablement
    • DesignStart
    • Education Hub
    • Innovation
    • Open Source Software and Platforms
  • Forums
    • AI and ML forum
    • Architectures and Processors forum
    • Arm Development Platforms forum
    • Arm Development Studio forum
    • Arm Virtual Hardware forum
    • Automotive forum
    • Compilers and Libraries forum
    • Graphics, Gaming, and VR forum
    • High Performance Computing (HPC) forum
    • Infrastructure Solutions forum
    • Internet of Things (IoT) forum
    • Keil forum
    • Morello Forum
    • Operating Systems forum
    • SoC Design and Simulation forum
    • 中文社区论区
  • Blogs
    • AI and ML blog
    • Announcements
    • Architectures and Processors blog
    • Automotive blog
    • Graphics, Gaming, and VR blog
    • High Performance Computing (HPC) blog
    • Infrastructure Solutions blog
    • Innovation blog
    • Internet of Things (IoT) blog
    • Operating Systems blog
    • Research Articles
    • SoC Design and Simulation blog
    • Tools, Software and IDEs blog
    • 中文社区博客
  • Support
    • Arm Support Services
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • Community Help
  • More
  • Cancel
Arm Community blogs
Arm Community blogs
Architectures and Processors blog Valgrind port to 64 bit ARMv8 is now available for testing
  • Blogs
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
More blogs in Arm Community blogs
  • AI and ML blog

  • Announcements

  • Architectures and Processors blog

  • Automotive blog

  • Embedded blog

  • Graphics, Gaming, and VR blog

  • High Performance Computing (HPC) blog

  • Infrastructure Solutions blog

  • Internet of Things (IoT) blog

  • Operating Systems blog

  • SoC Design and Simulation blog

  • Tools, Software and IDEs blog

Tell us what you think
Tags
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Valgrind port to 64 bit ARMv8 is now available for testing

Julian Seward
Julian Seward
April 15, 2014
1 minute read time.

Valgrind is a GPL'd framework for building simulation based debugging and profiling tools.  The best known of these is Memcheck, a memory error detector, but in fact it is only one of eight tools in the standard distribution: two memory checkers, two thread checkers, two performance profilers and two space profilers.

The Valgrind trunk sources now contain a port to 64 bit ARMv8.  The port has reached a stage of being useful for real debugging, and, in turn, could do with wider testing.

Memcheck works and has a noise (false-error) level that is comparable with other targets.  All the basic functionality -- detection of uninitialised value uses, detection of invalid memory accesses, detection of leaks, and origin tracking -- is available.  Other tools -- Lackey, Cachegrind, Callgrind, Massif, DRD and Helgrind -- work to some extent, but have not been extensively tested.

Current limitations are:

  • Incomplete support of vector (SIMD) instructions.  Anything created by gcc-4.8.2 -O3, including SIMD code from autovectorization, works.  Completion of SIMD support is ongoing.
  • Incomplete syscall support.  Enough system calls are supported for large programs to work, but some are still unsupported.
  • Integration with the built in GDB server is incomplete.

There has been extensive testing of the supported integer, FP and SIMD instructions.  At least one large application -- Firefox 26 -- is able to start up and quit.  The port is under active development and will ship as part of the next release, Valgrind 3.10.

In general, if you have used Valgrind on 32 bit ARMv7 or other targets, you should find this new port very little different.

You can get hold of the trunk sources via Subversion, using the URL svn://svn.valgrind.org/valgrind/trunk.  See README.aarch64, at the root of the source tree, for instructions on how to build and run the port.

If you have questions or difficulties, feel free to mail our users or developers mailing lists, as described at http://www.valgrind.org/support/mailing_lists.html.  Bugs may be reported at https://bugs.kde.org/enter_bug.cgi?product=valgrind&format=guided.

Anonymous
Architectures and Processors blog
  • How Arm is making it easier to build platforms that support Confidential Computing

    Mark Knight
    Mark Knight
    With new open-source patches for the Realm Management Extension (RME) now available, this blog explores latest developments and techniques for confidential computing on Arm.
    • April 28, 2023
  • Apache Arrow optimization on Arm

    Yibo Cai
    Yibo Cai
    This blog introduces Arm optimization practices with two solid examples from Apache Arrow project.
    • February 23, 2023
  • Optimizing TIFF image processing using AARCH64 (64-bit) Neon

    Ramin Zaghi
    Ramin Zaghi
    This guest blog shows how 64-bit Neon technology can be used to improve performance in image processing applications.
    • October 13, 2022