1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

AddressSanitizer Being Ported To GCC Trunk

Compiler

Published on 11 October 2012 08:47 AM EDT
Written by Michael Larabel in Compiler
2 Comments

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.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Articles & Reviews
  1. Intel Broadwell: GCC 4.9 vs. LLVM Clang 3.5 Compiler Benchmarks
  2. Ubuntu vs. Fedora Linux On Lenovo's X1 Carbon With Core i7 Broadwell
  3. Ubuntu 15.04 Is The Easy Path To Better Performance On Intel Broadwell
  4. NVIDIA's Latest Maxwell Line-Up Against AMD With Catalyst On Linux
  5. Preliminary Tests Of Intel Sandy Bridge & Ivy Bridge vs. Broadwell
  6. AMD FX-8320E Performance On Linux
Latest Linux News
  1. Calamares 1.0 Distribution-Independent Installer Framework Released
  2. Librem 15 Linux Laptop Set To Close At Around $400k USD
  3. Virtual GEM To Increase Mesa's Software Rasterizer Performance
  4. Open Lunchbox: Yet Another Open-Source Laptop Attempt
  5. Wayland/Weston 1.7 Release Candidate
  6. Bugzilla 5.0 Is Coming Soon With New Features
  7. Linux Benchmarking... Even Faster & A Very Interesting February
  8. Does VirtualBox VM Have Much A Future Left?
  9. HAMMER2 File-System Is Still Slowly Coming Together
  10. The Better Looking Window Decorations For GNOME 3.16
Most Viewed News This Week
  1. PlayStation 4 System Compiler Support Landing In LLVM
  2. Linux "GHOST" Vulnerability Hits Glibc Systems
  3. LibreOffice 4.4 Is Coming Soon With New Features
  4. Broadwell Linux Ultrabook Running MUCH Cooler Than Haswell
  5. LLVM Adds Options To Do Fuzz Testing
  6. LZHAM 1.0 Lossless Data Compression Codec Released
  7. Vivaldi: A New Chromium-Powered, Multi-Platform Browser
  8. LibreOffice 4.4 Released With Better OOXML Support, UI Improvements