This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [build] Move unwinder to toplevel libgcc


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]