On Fri, Sep 30, 2022 at 6:18 PM Olivier Hainque via Gcc-patches
<gcc-patches@gcc.gnu.org> 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  <hain...@adacore.com>
>
> 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.
>

Reply via email to