On Sat, Jun 25, 2011 at 1:19 PM, Joseph S. Myers wrote: > On Sat, 25 Jun 2011, H.J. Lu wrote: > >> +#ifndef UNIQUE_UNWIND_CONTEXT > > The use of #ifndef seems to imply that this is a target macro, to be > defined in libgcc_tm.h.  In that case it should be documented, and > poisoned in system.h under the "only used for code built for the target" > case, and this: > >> +#if defined __x86_64 && !defined __LP64__ > > is inappropriate since you should instead put it in an appropriate header > in libgcc/config/, rather than hardcoding an architecture-specific #if in > an architecture-independent file. > Here is the updated patch. OK for trunk? Thanks. -- H.J. --- gcc/ 2011-06-25 H.J. Lu PR other/48007 * config.gcc (libgcc_tm_file): Add i386/unique-unwind.h for Linux/x86. * system.h (UNIQUE_UNWIND_CONTEXT): Poisoned. * unwind-dw2.c (_Unwind_Context): If UNIQUE_UNWIND_CONTEXT is defined, add dwarf_reg_size_table and value, remove version and by_value. (EXTENDED_CONTEXT_BIT): Don't define if UNIQUE_UNWIND_CONTEXT is defined. (_Unwind_IsExtendedContext): Likewise. (_Unwind_GetGR): Support UNIQUE_UNWIND_CONTEXT. (_Unwind_SetGR): Likewise. (_Unwind_GetGRPtr): Likewise. (_Unwind_SetGRPtr): Likewise. (_Unwind_SetGRValue): Likewise. (_Unwind_GRByValue): Likewise. (__frame_state_for): Initialize dwarf_reg_size_table field if UNIQUE_UNWIND_CONTEXT is defined. (uw_install_context_1): Likewise. Support UNIQUE_UNWIND_CONTEXT. * doc/tm.texi.in: Document UNIQUE_UNWIND_CONTEXT. * doc/tm.texi: Regenerated. libgcc/ 2011-06-25 H.J. Lu * config/i386/unique-unwind.h: New file.