mirror of
https://github.com/darlinghq/darling-gdb.git
synced 2024-12-11 14:14:23 +00:00
[Ada] Skip unwind-seh.c when searching first "user" frame
On x86_64-windows with GCC 4.7 (using native SEH info), the debugger behaves as follow: (gdb) catch exception unhandled Catchpoint 1: unhandled Ada exceptions (gdb) run Starting program: C:\[...]\b.exe Catchpoint 1, unhandled CONSTRAINT_ERROR at 0x000000000040cc57 in _GCC_specific_handler ([...]) at ../../../src/libgcc/unwind-seh.c:289 [...] This is after compiler the following code: procedure B is begin raise Constraint_Error; end B; ... using the following command: % gnatmake -g b When hitting the exception catchpoint, it should have gone up the stack all the way until finding the frame corresponding to procedure B. But if stopped short because unwind-seh.c is compiled with debugging information, and the debugger is also able to locate that source file. To prevent this from happening, this patch adds unwind-seh.c to the list of files that should be ignored, regardless of other factors. gdb/ChangeLog: * ada-lang.h (ADA_KNOWN_RUNTIME_FILE_NAME_PATTERNS): Add entry for "unwind-seh.c".
This commit is contained in:
parent
5ded533171
commit
5a04cc987f
@ -1,3 +1,8 @@
|
||||
2012-10-24 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* ada-lang.h (ADA_KNOWN_RUNTIME_FILE_NAME_PATTERNS): Add entry for
|
||||
"unwind-seh.c".
|
||||
|
||||
2012-10-24 Joel Brobecker <brobecker@adacore.com>
|
||||
|
||||
* ada-lang.c (ada_template_to_fixed_record_type_1): Do not
|
||||
|
@ -45,6 +45,7 @@ struct inferior;
|
||||
|
||||
#if !defined (ADA_KNOWN_RUNTIME_FILE_NAME_PATTERNS)
|
||||
#define ADA_KNOWN_RUNTIME_FILE_NAME_PATTERNS \
|
||||
"^unwind-seh.c$", \
|
||||
"^[agis]-.*\\.ad[bs]$",
|
||||
#endif
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user