Re: [PATCH] Introduce DWARF_VERSION_DEFAULT (and redefine for VxWorks)

2022-10-06 Thread Olivier Hainque via Gcc-patches



> On 6 Oct 2022, at 14:15, Richard Biener  wrote:
> 
>> Is this ok to commit?
> 
> I think this is reasonable, thus OK.

Great, thanks Richard :-)




Re: [PATCH] Introduce DWARF_VERSION_DEFAULT (and redefine for VxWorks)

2022-10-06 Thread Richard Biener via Gcc-patches
On Fri, Sep 30, 2022 at 6:18 PM Olivier Hainque via Gcc-patches
 wrote:
>
> Hello,
>
> This change is a proposal to introduce a target overridable macro
> to replace the hardcoded value used in common.opt to initialize
> dwarf_version.
>
> The main advantage compared to special code in a target
> override_options hook is that redefinitions by target config files
> are visible by both the compiler proper and by the driver, which
> might refer to dwarf_version in ASM_DEBUG_SPECs and friends.
>
> This is useful at least on VxWorks, where we usually need to
> default to dwarf 4 or even 2 to accommodate non-gdb debuggers
> provided by the environment, including for assembly sources
> used in libgcc for some ports (witnessed with lse.S on aarch64).
>
> We have been using this in a lot of gcc-11 based toolchains
> for various configurations for a while, cross and native.
>
> This is a noop for anything but VxWorks and helped cure crashes
> of target debuggers in VxWorks environments.
>
> Bootstrapped and regression tested for mainline on x86_64-linux.
>
> Is this ok to commit?

I think this is reasonable, thus OK.

Thanks,
Richard.

> Thanks in advance!
>
> Best Regards,
>
> Olivier
>
> 2022-09-30  Olivier Hainque  
>
> gcc/
> * defaults.h (DWARF_DEFAULT_VERSION): Define if not
> defined already.
> * common.opt (gdwarf-): Use it.
> * doc/tm.texi.in (DWARF_DEFAULT_VERSION): Document.
> * doc/tm.texi: Update accordingly.
>
> * config/vxworks.h (DWARF_DEFAULT_VERSION): Redefine.
> * config/vxworks.cc: Remove code setting dwarf_version, now
> handled by the DWARF_DEFAULT_VERSION redefinition.
>


[PATCH] Introduce DWARF_VERSION_DEFAULT (and redefine for VxWorks)

2022-09-30 Thread Olivier Hainque via Gcc-patches
Hello,

This change is a proposal to introduce a target overridable macro
to replace the hardcoded value used in common.opt to initialize
dwarf_version.

The main advantage compared to special code in a target
override_options hook is that redefinitions by target config files
are visible by both the compiler proper and by the driver, which
might refer to dwarf_version in ASM_DEBUG_SPECs and friends.

This is useful at least on VxWorks, where we usually need to
default to dwarf 4 or even 2 to accommodate non-gdb debuggers
provided by the environment, including for assembly sources
used in libgcc for some ports (witnessed with lse.S on aarch64).

We have been using this in a lot of gcc-11 based toolchains
for various configurations for a while, cross and native.

This is a noop for anything but VxWorks and helped cure crashes
of target debuggers in VxWorks environments.

Bootstrapped and regression tested for mainline on x86_64-linux.

Is this ok to commit?

Thanks in advance!

Best Regards,

Olivier

2022-09-30  Olivier Hainque  

gcc/
* defaults.h (DWARF_DEFAULT_VERSION): Define if not
defined already.
* common.opt (gdwarf-): Use it.
* doc/tm.texi.in (DWARF_DEFAULT_VERSION): Document.
* doc/tm.texi: Update accordingly.

* config/vxworks.h (DWARF_DEFAULT_VERSION): Redefine.
* config/vxworks.cc: Remove code setting dwarf_version, now
handled by the DWARF_DEFAULT_VERSION redefinition.



0012-Introduce-DWARF_VERSION_DEFAULT-and-redefine-for-VxW.patch
Description: Binary data