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.

Jim

Reply via email to