gdb

GCC 8 and tools now in beta for Red Hat Enterprise Linux 6 and 7

GCC 8 and tools now in beta for Red Hat Enterprise Linux 6 and 7

We are pleased to announce the immediate availability of Red Hat Developer Toolset 8 beta for Red Hat Enterprise Linux 6 and 7.  The key new components for this release are:

  • GCC 8.2.1
  • GDB 8.2
  • Updated components such as SystemTap, Valgrind, OProfile, and many more

Like other tools, these are installable via yum from the Red Hat Enterprise Linux 6 or 7 Devtools or RHSCL channel.  For more details, see the “New Features” section below.

Continue reading “GCC 8 and tools now in beta for Red Hat Enterprise Linux 6 and 7”

Share
GNU Toolchain Update – Spring 2018

GNU Toolchain Update – Spring 2018

The GNU Toolchain is a collection of programming tools produced by the GNU Project. The tools are often packaged together due to their common use for developing software applications, operating systems, and low-level software for embedded systems.

This blog is part of a series (see: Fall 2017 Update) covering the latest changes and improvements in the components that make up this Toolchain. Apart from the announcement of new releases, the features described here are at the bleeding edge of software development in the tools. This means that it may be awhile before they make it into production releases, and they might not be fully functional yet. But anyone who is interested in experimenting with them can build their own copy of the Toolchain and then try them out.

Continue reading “GNU Toolchain Update – Spring 2018”

Share

The GDB Python API

GDB has evolved in the last several years to provide a Python API. This series of articles will look at how a user can program GDB with the API and will also take an in-depth look at several features of that API. But, before we begin, a small history lesson is needed and a look at just why an API was needed.

Continue reading “The GDB Python API”

Share
Fall 2017 GNU Toolchain Update

Fall 2017 GNU Toolchain Update

The GNU Toolchain is a collection of programming tools produced by the GNU Project. The tools are often packaged together due to their common use for developing software applications, operating systems, and low-level software for embedded systems.

This blog is part of a regular series covering the latest changes and improvements in the components that make up this Toolchain. Apart from the announcement of new releases, however, the features described here are at the bleeding edge of software development in the tools. This does mean that it may be a while before they make it into production releases, and they might not be fully functional yet. But anyone who is interested in experimenting with them can build their own copy of the Toolchain and then try them out.

Continue reading “Fall 2017 GNU Toolchain Update”

Share
Red Hat adds Go, Clang/LLVM, Rust compiler toolsets; updates GCC

Red Hat adds Go, Clang/LLVM, Rust compiler toolsets; updates GCC

I am pleased to announce immediate availability of Red Hat Developer Toolset 7.0 Beta and three new compiler toolsets for Red Hat Enterprise Linux 7. Delivered on a separate lifecycle from Red Hat Enterprise Linux with a more frequent release cadence, Red Hat Developer Toolset and compilers bridge development agility and production stability by helping you create performant applications that can be confidently deployed into production.

 

TL;DR

This beta release brings these exciting new compilers to our Red Hat Enterprise Linux offerings:  

  • Developer Toolset 7 beta adds a major update of GCC 7.2 and supporting toolchain
  • Addition of Clang/LLVM 4.0.1 compiler set – Technology Preview*
  • Addition of Go 1.8.3 compiler – Technology Preview*
  • Addition of Rust 1.20 compiler – Technology Preview*

Install the new additions via yum install from the new Devtools channel.

Continue reading “Red Hat adds Go, Clang/LLVM, Rust compiler toolsets; updates GCC”

Share

C++ support in libcc1: A comprehensive update

GDB relies on libcc1‘s GCC and GDB plugins to implement the “compile code” feature, now extended to support the C++ language.

The Compile and Execute machinery enables GDB users to compile and execute code snippets within the context of an existing process. This allows users to perform inspection and modification of the program state using the target language well beyond the feature set historically exposed by symbolic debuggers. Almost anything that can be expressed in C, and now also in C++, can be compiled, loaded into the running program, and executed on the spot! It is envisioned that this machinery may also be used in the future to speed up conditional breakpoints, and as a foundation for more advanced features such as “Edit and Continue”.

The libcc1 module offers plugins for GDB and GCC that allow GDB to start GCC to compile a user-supplied code snippet. The plugins combine GDB and GCC into a single multi-process program. Through the plugins, GCC can query GDB about the meaning, in the target program, of names encountered in the snippet, and GDB can incrementally inform GCC about variables, functions, types and other constructs present in the program.

Continue reading “C++ support in libcc1: A comprehensive update”

Share
October/November 2015 GNU Toolchain Update

October/November 2015 GNU Toolchain Update

Hi Everyone,

Welcome to a new blog about changes and new features in the GNU toolchain (compiler, assembler, linker and debugger).  My intention is to post monthly updates highlighting what is new in these tools so that developers can keep abreast of the developing technologies.  This first post covers changes made to the development versions tools in October and November of this year.  Earlier posts in this series can be found in my live journal blog here, but future posts will continue on this site.

Note – these features have not yet made it into released products like Fedora or RHEL, so if you want to play with them now, you will have to download the sources from the FSF and build your own toolchain.

Continue reading “October/November 2015 GNU Toolchain Update”

Share
Remote debugging with GDB

Remote debugging with GDB

gnu logoThis past few weeks I’ve been working on making remote debugging in GDB easier to use. What’s remote debugging? It’s where you run GDB on one machine and the program being debugged on another. To do this you need something to allow GDB to control the program being debugged, and that something is called the remote stub. GDB ships with a remote stub called gdbserver, but other remote stubs exist. You can write them into your own program too, which is handy if you’re using minimal or unusual hardware that cannot run regular applications… cellphone masts, satellites, that kind of thing.  I bet you didn’t know GDB could do that!

If you’ve used remote debugging in GDB you’ll know it requires a certain amount of setup. You need to tell GDB how to access to your program’s binaries with a set sysroot command, you need to obtain a local copy of the main executable and supply that to GDB with a file command, and you need to tell GDB to commence remote debugging with a target remote command.

Until now.

Continue reading “Remote debugging with GDB”

Share
Red Hat Developer Toolset 3.1 now generally available

Red Hat Developer Toolset 3.1 now generally available

gnu logoToday, Red Hat has announced the general availability of Red Hat Developer Toolset 3.1. Available through the Red Hat Enterprise Linux Developer Program and related subscriptions, Red Hat Developer Toolset 3.1 streamlines application development on the world’s leading enterprise Linux platform, enabling developers to compile applications once and deploy across multiple versions of Red Hat Enterprise Linux.

Continue reading Red Hat Developer Toolset 3.1 now generally available

Share

7 ways to improve your application’s performance with the new Developer Toolset 1.1 release

Are you missing out on opportunities to increase your applications’ performance? As an application developer building on Red Hat Enterprise Linux, you invest a lot of time and effort into making your applications compelling and useful for your users. You probably also want to see good performance. But beyond good design, careful algorithm selection and compiler optimizations, what can a developer use to boost their application performance?

1. The latest GCC release and associated tools

The very first thing a Red Hat Enterprise Linux developer should be aware of is the availability of Red Hat Developer Toolset. I described the content and architecture of this new offering from Red Hat in my last blog post. Developer Toolset 1.x gives you the gcc-4.7 toolchain, which, at the time of writing, is the current upstream major release.

Continue reading “7 ways to improve your application’s performance with the new Developer Toolset 1.1 release”

Share