[build] Move unwinder to toplevel libgcc
Joseph S. Myers
joseph@codesourcery.com
Mon Jun 20 15:11:00 GMT 2011
On Mon, 20 Jun 2011, Rainer Orth wrote:
> * Move all remaining unwinder-only macros to libgcc: UNW_IVMS_MODE,
> MD_UNW_COMPATIBLE_PERSONALITY_P, MD_FROB_UPDATE_CONTEXT.
I don't see any sign of macros being poisoned in system.h. For macros
used in target-independent unwinder code - at least MD_FROB_UPDATE_CONTEXT
- that used to be defined in the host tm.h but now no longer should be, I
think poisoning in system.h is appropriate.
> * The only unwinder-related macro I haven't moved is
> LIBGCC2_UNWIND_ATTRIBUTE. It is only defined gcc/config/mips/mips.h.
> I suppose we would need a libgcc equivalent of tm.h for that,
> something I didn't want to attack at this point.
What about DWARF_ZERO_REG and PRE_GCC3_DWARF_FRAME_REGISTERS?
DWARF_REG_TO_UNWIND_COLUMN may be more complicated because it's used on
the host in rs6000.c (although not in target-independent host code) as
well as on the target - I suspect that will be a case where duplicating
the definition (with a comment in one place pointing to the other place as
needing to be kept consistent, and with the host-side copy renamed to
facilitate poisoning) may make sense. And all three are defined in
<arch>.h headers so your reason for moving them separately may apply.
(There are lots more macros used in the unwinder and on the host for which
macros predefined with -fbuilding-libgcc may be appropriate in a later
patch.)
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Libstdc++
mailing list