AddressSanitizer Being Ported To GCC Trunk

Posted by Michael Larabel on October 11, 2012

GCC developers continue to work on bringing AddressSanitizer, which is part of the LLVM project, to their open-source compiler in hopes of better catching memory bugs and errors.

Google's Diego Novillo has shared that a new transitional branch has been made in the process of porting ASAN to trunk. "I have created a temporary branch to host the port of ASAN to trunk. Wei has done the initial port of the original code from Kostya. It compiles but we still do not have the runtimes (Wei is working on that)."

ASAN is the AddressSanitizer that serves as a memory error detector for C and C++ codes. AddressSanitizer is capable of detecting memory bugs such as use-after-free, heap buffer overflows, stack buffer overflows, global buffer overflows, and use-after-return. One of the benefits of AddressSanitizer over alternatives like Valgrind is that ASAN is designed to be very fast. AddressSanitizer within LLVM/Clang serves as a compiler instrumentation module in the form of an LLVM pass and then a run-time library that overrides the memory allocation functions.

Running AddressSanitizer binaries lead to a reported slowdown of about 2x, which is still faster than similar memory checking tools. GNU Compiler Collection developers have been interested in AddressSanitizer support and there's been some work previously while now it seems to finally be coming together with this transitional branch as the current code is made compatible with the latest GCC trunk, which is needed before it can be merged.

The GCC ASAN run-time also then needs to be written before it's actually useful, but Diego mentions that it should come soon.

More information on AddressSanitizer (ASAN) is available from its Google Code page.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Raspberry Pi Gets New Wayland Weston Renderer
  2. Debian GNU/Hurd 2013 Release Brings New Packages
  3. Intel Ultrabook Performance Is Faster With Mesa 9.2
  4. Hot Relocation HDD To SSD Support For Btrfs
  5. Phoronix Test Suite 4.6.0 "Utsira" Released
  6. New Intel X.Org Driver Supports All Of Haswell
  7. SQLite Now Faster With Memory Mapped I/O
  8. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
  9. Qt For Tizen Launches, Based On Qt 5.1
  10. KTAP Released For Linux Kernel Dynamic Tracing
  11. Linux 3.10-rc2 Kernel Takes In A Few Extra Pulls
Latest Forum Talk
  1. gnome 3.8 in RHEL7?
  2. Raspberry Pi Gets New Wayland Weston Renderer
  3. Intel Linux OpenGL Driver Leading Over Apple OS X
  4. Microsoft Releases Skype For Linux 4.2, Has...
  5. Chrome 27 Loads Web Pages Faster
  6. Linux's "Ondemand" Governor Is No...
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite