Web lists-archives.com

Re: [Mingw-users] Pending new mingwrt and w32api releases




On 07/03/2017 11:00, David Gressett wrote:
> I stepped through both of them  one step at a time
> in parallel. I found that the paths taken through the runtime
> handling the exception diverge well before the crash happens
> in the V5 crashdemo. The divergence occurs not in an Ada
> routine, but in one written in C:
>
> src/gcc-6.3.0/libgcc/unwind-dw2-fde.c
>
> The divergence occurs in the very last procedure in
> the file, _Unwind_Find_FDE, which starts at line 998.
> The divergence starts at the very first executable lines
> (1004 and 1005). I didn't get a screen capture of the displays;
> I will do that when I try it again.
>
>  998  const fde *
>  999  _Unwind_Find_FDE (void *pc, struct dwarf_eh_bases *bases)
> 1000  {
> 1001    struct object *ob;
> 1002    const fde *f = NULL;
> 1003
> 1004    init_object_mutex_once ();
> 1005    __gthread_mutex_lock (&object_mutex);
> 1006
> 1007    /* Linear search through the classified objects, to find the one
> 1008    containing the pc.  Note that pc_begin is sorted descending, and
> 1009    we expect objects to be non-overlapping.  */

This is the runtime support in GCC to manage exceptions and this looks 
like the DWARF, ie ELF support. It uses the runtime and language 
specific hooks to locate the information needed to handle the exception. 
Failures here resulting in an abort tend to mean you have information 
missing in your executable that is needed or there may be a change in 
the data format or the wrong data format.

I did not know Windows executables used dwarf based information for 
exceptions?

Chris

------------------------------------------------------------------------------
Announcing the Oxford Dictionaries API! The API offers world-renowned
dictionary content that is easy and intuitive to access. Sign up for an
account today to start using our lexical data to power your apps and
projects. Get started today and enter our developer competition.
http://sdm.link/oxford
_______________________________________________
MinGW-users mailing list
MinGW-users@xxxxxxxxxxxxxxxxxxxxx

This list observes the Etiquette found at 
http://www.mingw.org/Mailing_Lists.
We ask that you be polite and do the same.  Disregard for the list etiquette may cause your account to be moderated.

_______________________________________________
You may change your MinGW Account Options or unsubscribe at:
https://lists.sourceforge.net/lists/listinfo/mingw-users
Also: mailto:mingw-users-request@xxxxxxxxxxxxxxxxxxxxx?subject=unsubscribe