PATCH [8/n]: Prepare x32: PR other/48007: Unwind library doesn't work with UNITS_PER_WORD > sizeof (void *)

Rainer Orth ro@CeBiTec.Uni-Bielefeld.DE
Thu Jun 30 18:10:00 GMT 2011


"H.J. Lu" <hjl.tools@gmail.com> writes:

>> gcc/
>>
>> 2011-06-30  H.J. Lu  <hongjiu.lu@intel.com>
>>
>>        * config.gcc (libgcc_tm_file): Add i386/value-unwind.h for
>>        Linux/x86.
>>
>>        * system.h (REG_VALUE_IN_UNWIND_CONTEXT): Poisoned.
>>
>>        * unwind-dw2.c (_Unwind_Context_Reg_Val): New.
>>        (_Unwind_Get_Unwind_Word): Likewise.
>>        (_Unwind_Get_Unwind_Context_Reg_Val): Likewise.
>>        (_Unwind_Context): Use _Unwind_Context_Reg_Val on the reg field.
>>        (SIGNAL_FRAME_BIT): Define if REG_VALUE_IN_UNWIND_CONTEXT is
>>        defined.
>>        (_Unwind_IsExtendedContext): Likewise.
>>        (EXTENDED_CONTEXT_BIT): Don't define if REG_VALUE_IN_UNWIND_CONTEXT
>>        is defined.
>>        (_Unwind_GetGR): Updated.
>>        (_Unwind_SetGR): Likewise.
>>        (_Unwind_GetGRPtr): Likewise.
>>        (_Unwind_SetGRPtr): Likewise.
>>        (_Unwind_SetGRValue): Likewise.
>>        (_Unwind_GRByValue): Likewise.
>>        (__frame_state_for): Likewise.
>>        (uw_install_context_1): Likewise.
>>
>>        * doc/tm.texi.in: Document REG_VALUE_IN_UNWIND_CONTEXT.
>>        * doc/tm.texi: Regenerated.
>>
>> libgcc/
>>
>> 2011-06-30  H.J. Lu  <hongjiu.lu@intel.com>
>>
>>        * config/i386/value-unwind.h: New.

Why all those contortions with i386/value-unwind.h?  It seems far
simpler to me to put this into libgcc/config/i386/linux-unwind.h and be
done with it.

The unwinder are on their way to libgcc, and I don't want to keep some
gcc-side configuration behind.

	Rainer

-- 
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University



More information about the Gcc-patches mailing list