On July 21, 2017 12:03:58 AM GMT+02:00, Jim Wilson <jim.wil...@linaro.org> wrote: >On Thu, Jul 20, 2017 at 2:00 PM, Nathan Sidwell <nat...@acm.org> wrote: >> With this patch the gdb stabs test results are still awful, but they >are >> unchanged awfulness. > >Yes, the stabs support for C++ is poor. That is one of the reasons >why almost everyone has switched to dwarf2. > >I wasn't sure what to make of your last message, so I tried to see if >I could build a toolchain that defaults to stabs so I could look at >this. I discovered that -freorder-functions doesn't work with stabs >on an elf target, as we get a cross section label subtraction that the >assembler can't compute. I had to manually disable that optimization. >I also had to disable the x86 specific change to enable >-freorder-blocks-and-partition at -O2. I managed to get it working >for x86_64-linux and i686-pc-cygwin. But the fact that -O2 and stabs >don't work together by default anymore suggest that there are no >serious stabs users except on old legacy systems that don't support >named sections, and hence don't support -freorder-functions. > >I also noticed that there is a config/i386/gstabs.h file that has been >unused since the openbsd 2 and 3 support was removed last year, and >should be deleted. > >Anyways, your new dbxout.c patch looks good. And maybe we should >think about deprecating the stabs support some day.
I've suggested that multiple times also to be able to get rid of the debug hook interfacing in GCC and emit dwarf directly from FEs where that makes sense. DWARF should be a superset of other debug formats so it should be possible to build stabs from dwarf. Richard. >Jim