Thank you Jeff, The issue was due to EH_RETURN_DATA_REGNO returning incorrect registers. Can the register returned by EH_RETURN_DATA_REGNO be any hard register (except the stack register) ? I am not able to confirm that from the documentation. On Mon, Apr 13, 2015 at 11:55 AM, Jeff Law <law@xxxxxxxxxx> wrote: > On 04/13/2015 10:51 AM, ftwilliam wrote: >> >> Hi, >> >> I am getting SIGSEGV in df_ref_record() while building libgcc using: >> ../gcc-repo/configure --target=myarch-elf --enable-languages=c >> >> Below is the GDB backtrace, and attached is the patch against trunk. >> >> I want to debug this myself, but can I get pointers on how I can debug >> this issue ? >> >> >> >> Program received signal SIGSEGV, Segmentation fault. >> df_ref_record (cl=cl@entry=DF_REF_ARTIFICIAL, >> collection_rec=collection_rec@entry=0xbff21a10, reg=0xafafafaf, > > Note the value of "reg". > > That looks like you're referencing bits of memory that have been garbage > collected. > > I'd go up in the call chain to see where that value comes from. > > jeff >