GCC: OpenMP / OpenACC and Static Analysis Framework
-
The GCC 10 Compiler Lands OpenMP / OpenACC Offloading To AMD Radeon GPUs
A few days ago I wrote about the OpenMP / OpenACC offloading patches for Radeon "GCN" GPUs being posted and seeking inclusion in the GCC 10 compiler that will be released in a few months. Those patches were successfully merged meaning this next annual update to the GNU Compiler Collection will feature initial OpenMP/OpenACC code offloading support to supported AMD GPU targets.
After GCC 9 only had the initial AMD Radeon GCN target in place, GCC 10 in early 2020 will feature the initial offloading support using the modern OpenMP and OpenACC APIs, thanks to the merges this week. The libgomp port and associated bits for the AMD GCN back-end have landed thanks to the work done by Code Sourcery under contract with AMD.
-
RFC: Add a static analysis framework to GCC
This patch kit introduces a static analysis pass for GCC that can diagnose various kinds of problems in C code at compile-time (e.g. double-free, use-after-free, etc). The analyzer runs as an IPA pass on the gimple SSA representation. It associates state machines with data, with transitions at certain statements and edges. It finds "interesting" interprocedural paths through the user's code, in which bogus state transitions happen. For example, given: free (ptr); free (ptr); at the first call, "ptr" transitions to the "freed" state, and at the second call the analyzer complains, since "ptr" is already in the "freed" state (unless "ptr" is NULL, in which case it stays in the NULL state for both calls). Specific state machines include: - a checker for malloc/free, for detecting double-free, resource leaks, use-after-free, etc (sm-malloc.cc), and - a checker for stdio's FILE stream API (sm-file.cc) There are also two state-machine-based checkers that are just proof-of-concept at this stage: - a checker for tracking exposure of sensitive data (e.g. writing passwords to log files aka CWE-532), and - a checker for tracking "taint", where data potentially under an attacker's control is used without sanitization for things like array indices (CWE-129). There's a separation between the state machines and the analysis engine, so it ought to be relatively easy to add new warnings. For any given diagnostic emitted by a state machine, the analysis engine generates the simplest feasible interprocedural path of control flow for triggering the diagnostic.
-
GCC Might Finally Have A Static Analysis Framework Thanks To Red Hat
Clang's static analyzer has become quite popular with developers for C/C++ static analysis of code while now the GNU Compiler Collection (GCC) might finally see a mainline option thanks to Red Hat.
Red Hat's David Malcolm has proposed a set of 49 patches that appear to be fairly robust and the most we have seen out of GCC static analysis capabilities to date.
- Login or register to post comments
- Printer-friendly version
- 2313 reads
- PDF version
More in Tux Machines
- Highlights
- Front Page
- Latest Headlines
- Archive
- Recent comments
- All-Time Popular Stories
- Hot Topics
- New Members
digiKam 7.7.0 is releasedAfter three months of active maintenance and another bug triage, the digiKam team is proud to present version 7.7.0 of its open source digital photo manager. See below the list of most important features coming with this release. |
Dilution and Misuse of the "Linux" Brand
|
Samsung, Red Hat to Work on Linux Drivers for Future TechThe metaverse is expected to uproot system design as we know it, and Samsung is one of many hardware vendors re-imagining data center infrastructure in preparation for a parallel 3D world. Samsung is working on new memory technologies that provide faster bandwidth inside hardware for data to travel between CPUs, storage and other computing resources. The company also announced it was partnering with Red Hat to ensure these technologies have Linux compatibility. |
today's howtos
|
Recent comments
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago
1 year 11 weeks ago