www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/2002/05/13/01:00:08

X-Authentication-Warning: delorie.com: mailnull set sender to djgpp-bounces using -f
From: "Boris Vrbanić" <boris DOT vrbanic AT hi DOT hinet DOT hr>
Newsgroups: comp.os.msdos.djgpp
Subject: Question about "unwind-dw2.c"
Date: Mon, 13 May 2002 06:51:08 +0200
Organization: HThinet
Lines: 44
Message-ID: <abngn8$1vjk$1@as201.hinet.hr>
NNTP-Posting-Host: ad7-m235.net.hinet.hr
X-Trace: as201.hinet.hr 1021265448 65140 195.29.135.235 (13 May 2002 04:50:48 GMT)
X-Complaints-To: abuse AT hinet DOT hr
NNTP-Posting-Date: Mon, 13 May 2002 04:50:48 +0000 (UTC)
X-Priority: 3
X-MSMail-Priority: Normal
X-Newsreader: Microsoft Outlook Express 6.00.2600.0000
X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

Question is about following structure - reg field - and two functions
dealing with it:


struct _Unwind_Context
{
  void *reg[DWARF_FRAME_REGISTERS+1];
  void *cfa;
  void *ra;
  void *lsda;
  struct dwarf_eh_bases bases;
  _Unwind_Word args_size;
};

inline _Unwind_Word
_Unwind_GetGR (struct _Unwind_Context *context, int index)
{
  /* This will segfault if the register hasn't been saved.  */
  return * (_Unwind_Word *) context->reg[index];
}

inline void
_Unwind_SetGR (struct _Unwind_Context *context, int index, _Unwind_Word val)
{
  * (_Unwind_Word *) context->reg[index] = val;
}



And the question is:

which function and at what point of exception handling is
responsible of filling reg pointers?

eh_personality function is writting to reg 0 and 1 but address
is NULL and that causes page fault in my OS  (I am trying to implement
libsupc++ library). I have spent entire week to figure out how it works
or should work - but nothing helped...

Can anyone help me? Please!!!



- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019