* [Patch]: Path problems when setting breakpoints using mingw-build-gdb
@ 2007-02-03 2:33 秦巍
2007-02-03 11:26 ` Eli Zaretskii
0 siblings, 1 reply; 8+ messages in thread
From: 秦巍 @ 2007-02-03 2:33 UTC (permalink / raw)
To: gdb-patches; +Cc: bjgnu
Dears,
When using mingw-build-gdb on windows.
sending command "b main.c:3",
gdb shows:
No line 3 in file "F:\gcd\2310gcd\main.c".
but sending command "b main",
gdb shows:
Breakpoint 1 at 0xa00011dc: file F:\gcd\2310gcd/main.c, line 3.
Maybe the defined SLASH_STRING is not correct on windows.
diff -ruN current_cvs/gdb-6.6/gdb/defs.h gdb-6.6/gdb/defs.h
--- current_cvs/gdb-6.6/gdb/defs.h 2007-02-03 09:43:50.000000000
+0800
+++ gdb-6.6/gdb/defs.h 2007-02-03 09:48:10.000000000 +0800
@@ -1186,8 +1186,12 @@
#endif
#ifndef SLASH_STRING
+#if defined (__MSDOS__) || defined (_WIN32)
+#define SLASH_STRING "\\"
+#else
#define SLASH_STRING "/"
#endif
+#endif
/* Provide default definitions of PIDGET, TIDGET, and MERGEPID.
The name ``TIDGET'' is a historical accident. Many uses of TIDGET
Best regards,
Qinwei
Mail qinwei@sunnorth.com.cn
Phone +86-010-62981668-2708
Fax +86-010-62985972
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Patch]: Path problems when setting breakpoints using mingw-build-gdb
2007-02-03 2:33 [Patch]: Path problems when setting breakpoints using mingw-build-gdb 秦巍
@ 2007-02-03 11:26 ` Eli Zaretskii
2007-02-05 8:37 ` 秦巍
0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2007-02-03 11:26 UTC (permalink / raw)
To: 秦巍; +Cc: gdb-patches, bjgnu
> Cc: bjgnu@sunnorth.com.cn
> From: =?Big5?B?r7PE3g==?=<qinwei@sunnorth.com.cn>
> Date: Sat, 3 Feb 2007 10:33:48 +0800
>
> When using mingw-build-gdb on windows.
What is the GDB version you used? where did you get the binary?
> sending command "b main.c:3",
> gdb shows:
> No line 3 in file "F:\gcd\2310gcd\main.c".
> but sending command "b main",
> gdb shows:
> Breakpoint 1 at 0xa00011dc: file F:\gcd\2310gcd/main.c, line 3.
Could you please show a complete self-contained example, including the
source and the compilation command line? Also, please tell what
version of GCC you used. I'd like to try to reproduce this on my
machine.
> Maybe the defined SLASH_STRING is not correct on windows.
Did you try applying that patch, and if so, did the problem go away?
Personally, I don't think it's related at all, because SLASH_STRING
should not be used where an absolute file name is taken apart to look
for the directory and the basename. Instead, GDB should use other
macros, such as IS_DIR_SEPARATOR (from include/filenames.h), which do
cater to Windows filenames.
SLASH_STRING is only used to _construct_ file names, and that is okay,
since the Windows file I/O APIs recognize both \ and / as separators.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Patch]: Path problems when setting breakpoints using mingw-build-gdb
2007-02-03 11:26 ` Eli Zaretskii
@ 2007-02-05 8:37 ` 秦巍
2007-02-05 12:06 ` Daniel Jacobowitz
0 siblings, 1 reply; 8+ messages in thread
From: 秦巍 @ 2007-02-05 8:37 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: bjgnu, gdb-patches
[-- Attachment #1: Type: text/plain, Size: 3010 bytes --]
Hi Eli Zaretskii, Thanks for your reply.
> What is the GDB version you used? where did you get the binary?
gdb-6.6 for score(newly added) target.
and build using gcc-4.2
If you want to reproduce this on your machine, you need to check
out gcc and binutils source and use --target=score-elf to build.
Besides, i will mail the already build score-elf-gdb to you,
for there is no score simulator source in the gdb source tree.
I will first try to explan the problem here if we can solve the
problem.
> Personally, I don't think it's related at all, because SLASH_STRING
> should not be used where an absolute file name is taken apart to look
> for the directory and the basename. Instead, GDB should use other
> macros, such as IS_DIR_SEPARATOR (from include/filenames.h), which do
> cater to Windows filenames.
>
> SLASH_STRING is only used to _construct_ file names, and that is okay,
> since the Windows file I/O APIs recognize both \ and / as separators.
dwarf-2 info of gcd.elf is in the log file. See function "start_subfile".
This function is firstly called according to the DIE:
The section .debug_info contains:
Compilation Unit @ offset 0x0:
Length: 128
Version: 2
Abbrev Offset: 0
Pointer Size: 4
<0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
DW_AT_producer : GNU C 4.2.0 20070111 (prerelease)
DW_AT_language : 1 (ANSI C)
DW_AT_name : F:\gcd\2310gcd\main.c
DW_AT_comp_dir : F:\\gcd\\2310gcd
DW_AT_low_pc : 0xa00011d8
DW_AT_high_pc : 0xa00011e6
DW_AT_stmt_list : 0
and then create a subfile, we call it subfile1
(gdb) p *subfile1
$88 = {
next = 0x0,
name = 0x8961f60 "F:\\gcd\\2310gcd\\main.c",
dirname = 0x8961be8 "F:\\\\gcd\\\\2310gcd",
line_vector = 0x0,
line_vector_length = 0,
language = language_c,
debugformat = 0x0
}
Secondly, "start_subfile" is called according to .debug_line's
"Directory Table" and "File Name Table":
gdb will use "SLASH_STRING" to combine full filenames, and create
another subfile, we call it subfile2
(gdb) p *subfile2
$89 = {
next = 0x8961f40,
name = 0x89623a0 "F:\\gcd\\2310gcd/main.c",
dirname = 0x89623c0 "F:\\\\gcd\\\\2310gcd",
line_vector = 0x0,
line_vector_length = 0,
language = language_c,
debugformat = 0x0
}
subfile1->name and subfile2->name are not equal.
and current_subfile = subfile2;
When setting breakpoint like "b main.c:3" using mingw-build-gdb,
it will print: No line 3 in file "F:\\gcd\\2310gcd\\main.c".
just for subfile1->line_vector = 0.
I think here gdb should create one "subfile" per source file.
So i modify "SLASH_STRING" to keep "subfile->name" equals to "name",
and "start_subfile" creates only one "subfile" according to both
.debug_info DIE and .debug_line's "Directory Table" and "File Name Table".
> Did you try applying that patch, and if so, did the problem go away?
Yes.
Best regards,
Qinwei
Mail qinwei@sunnorth.com.cn
Phone +86-010-62981668-2708
Fax +86-010-62985972
[-- Attachment #2: log --]
[-- Type: application/octet-stream, Size: 73718 bytes --]
gcd.elf: file format elf32-littlescore
The section .debug_aranges contains:
Length: 28
Version: 2
Offset into .debug_info: 0
Pointer Size: 4
Segment Size: 0
Address Length
0xa00011d8 0xe
0x00000000 0x0
Length: 28
Version: 2
Offset into .debug_info: 84
Pointer Size: 4
Segment Size: 0
Address Length
0xa00011e8 0x13a
0x00000000 0x0
Contents of the .debug_pubnames section:
Length: 23
Version: 2
Offset into .debug_info section: 0
Size of area in .debug_info section: 132
Offset Name
98 main
Length: 145
Version: 2
Offset into .debug_info section: 132
Size of area in .debug_info section: 4061
Offset Name
3328 _read_r
3414 _write_r
3501 _open_r
3591 _close_r
3652 _exit
3697 _sbrk_r
3758 _lseek_r
3853 _fstat_r
3932 isatty
3977 _getpid
4005 _kill
The section .debug_info contains:
Compilation Unit @ offset 0x0:
Length: 128
Version: 2
Abbrev Offset: 0
Pointer Size: 4
<0><b>: Abbrev Number: 1 (DW_TAG_compile_unit)
DW_AT_producer : GNU C 4.2.0 20070111 (prerelease)
DW_AT_language : 1 (ANSI C)
DW_AT_name : F:\gcd\2310gcd\main.c
DW_AT_comp_dir : F:\\gcd\\2310gcd
DW_AT_low_pc : 0xa00011d8
DW_AT_high_pc : 0xa00011e6
DW_AT_stmt_list : 0
<1><62>: Abbrev Number: 2 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : main
DW_AT_decl_file : 1
DW_AT_decl_line : 2
DW_AT_prototyped : 1
DW_AT_type : <7c>
DW_AT_low_pc : 0xa00011d8
DW_AT_high_pc : 0xa00011e6
DW_AT_frame_base : 0 (location list)
<1><7c>: Abbrev Number: 3 (DW_TAG_base_type)
DW_AT_byte_size : 4
DW_AT_encoding : 5 (signed)
DW_AT_name : int
Compilation Unit @ offset 0x84:
Length: 4057
Version: 2
Abbrev Offset: 54
Pointer Size: 4
<0><8f>: Abbrev Number: 1 (DW_TAG_compile_unit)
DW_AT_producer : GNU C 4.2.0 20070111 (prerelease)
DW_AT_language : 1 (ANSI C)
DW_AT_name : F:\gcd\2310gcd\libgloss.c
DW_AT_comp_dir : F:\\gcd\\2310gcd
DW_AT_low_pc : 0xa00011e8
DW_AT_high_pc : 0xa0001322
DW_AT_stmt_list : 0x45
<1><ea>: Abbrev Number: 2 (DW_TAG_base_type)
DW_AT_byte_size : 2
DW_AT_encoding : 5 (signed)
DW_AT_name : short int
<1><f7>: Abbrev Number: 2 (DW_TAG_base_type)
DW_AT_byte_size : 2
DW_AT_encoding : 7 (unsigned)
DW_AT_name : short unsigned int
<1><10d>: Abbrev Number: 2 (DW_TAG_base_type)
DW_AT_byte_size : 4
DW_AT_encoding : 5 (signed)
DW_AT_name : int
<1><114>: Abbrev Number: 2 (DW_TAG_base_type)
DW_AT_byte_size : 4
DW_AT_encoding : 7 (unsigned)
DW_AT_name : unsigned int
<1><124>: Abbrev Number: 2 (DW_TAG_base_type)
DW_AT_byte_size : 8
DW_AT_encoding : 5 (signed)
DW_AT_name : long long int
<1><135>: Abbrev Number: 2 (DW_TAG_base_type)
DW_AT_byte_size : 8
DW_AT_encoding : 7 (unsigned)
DW_AT_name : long long unsigned int
<1><14f>: Abbrev Number: 2 (DW_TAG_base_type)
DW_AT_byte_size : 4
DW_AT_encoding : 5 (signed)
DW_AT_name : long int
<1><15b>: Abbrev Number: 3 (DW_TAG_typedef)
DW_AT_name : wint_t
DW_AT_decl_file : 3
DW_AT_decl_line : 355
DW_AT_type : <114>
<1><16a>: Abbrev Number: 4 (DW_TAG_union_type)
DW_AT_byte_size : 4
DW_AT_decl_file : 2
DW_AT_decl_line : 29
DW_AT_sibling : <18e>
<2><172>: Abbrev Number: 5 (DW_TAG_member)
DW_AT_name : __wch
DW_AT_decl_file : 2
DW_AT_decl_line : 30
DW_AT_type : <15b>
<2><17f>: Abbrev Number: 5 (DW_TAG_member)
DW_AT_name : __wchb
DW_AT_decl_file : 2
DW_AT_decl_line : 31
DW_AT_type : <18e>
<1><18e>: Abbrev Number: 6 (DW_TAG_array_type)
DW_AT_type : <1a1>
DW_AT_sibling : <19e>
<2><197>: Abbrev Number: 7 (DW_TAG_subrange_type)
DW_AT_type : <19e>
DW_AT_upper_bound : 3
<1><19e>: Abbrev Number: 8 (DW_TAG_base_type)
DW_AT_byte_size : 4
DW_AT_encoding : 7 (unsigned)
<1><1a1>: Abbrev Number: 2 (DW_TAG_base_type)
DW_AT_byte_size : 1
DW_AT_encoding : 8 (unsigned char)
DW_AT_name : unsigned char
<1><1b2>: Abbrev Number: 9 (DW_TAG_structure_type)
DW_AT_byte_size : 8
DW_AT_decl_file : 2
DW_AT_decl_line : 26
DW_AT_sibling : <1df>
<2><1ba>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : __count
DW_AT_decl_file : 2
DW_AT_decl_line : 27
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
<2><1cc>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : __value
DW_AT_decl_file : 2
DW_AT_decl_line : 32
DW_AT_type : <16a>
DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
<1><1df>: Abbrev Number: 11 (DW_TAG_typedef)
DW_AT_name : _mbstate_t
DW_AT_decl_file : 2
DW_AT_decl_line : 33
DW_AT_type : <1b2>
<1><1f1>: Abbrev Number: 11 (DW_TAG_typedef)
DW_AT_name : _flock_t
DW_AT_decl_file : 2
DW_AT_decl_line : 35
DW_AT_type : <10d>
<1><201>: Abbrev Number: 12 (DW_TAG_pointer_type)
DW_AT_byte_size : 4
<1><203>: Abbrev Number: 2 (DW_TAG_base_type)
DW_AT_byte_size : 4
DW_AT_encoding : 7 (unsigned)
DW_AT_name : long unsigned int
<1><218>: Abbrev Number: 11 (DW_TAG_typedef)
DW_AT_name : time_t
DW_AT_decl_file : 4
DW_AT_decl_line : 95
DW_AT_type : <14f>
<1><226>: Abbrev Number: 13 (DW_TAG_pointer_type)
DW_AT_byte_size : 4
DW_AT_type : <22c>
<1><22c>: Abbrev Number: 2 (DW_TAG_base_type)
DW_AT_byte_size : 1
DW_AT_encoding : 6 (signed char)
DW_AT_name : char
<1><234>: Abbrev Number: 11 (DW_TAG_typedef)
DW_AT_name : ino_t
DW_AT_decl_file : 4
DW_AT_decl_line : 121
DW_AT_type : <f7>
<1><241>: Abbrev Number: 11 (DW_TAG_typedef)
DW_AT_name : dev_t
DW_AT_decl_file : 4
DW_AT_decl_line : 155
DW_AT_type : <ea>
<1><24e>: Abbrev Number: 11 (DW_TAG_typedef)
DW_AT_name : off_t
DW_AT_decl_file : 4
DW_AT_decl_line : 160
DW_AT_type : <14f>
<1><25b>: Abbrev Number: 11 (DW_TAG_typedef)
DW_AT_name : uid_t
DW_AT_decl_file : 4
DW_AT_decl_line : 162
DW_AT_type : <f7>
<1><268>: Abbrev Number: 11 (DW_TAG_typedef)
DW_AT_name : gid_t
DW_AT_decl_file : 4
DW_AT_decl_line : 163
DW_AT_type : <f7>
<1><275>: Abbrev Number: 11 (DW_TAG_typedef)
DW_AT_name : mode_t
DW_AT_decl_file : 4
DW_AT_decl_line : 184
DW_AT_type : <114>
<1><283>: Abbrev Number: 11 (DW_TAG_typedef)
DW_AT_name : nlink_t
DW_AT_decl_file : 4
DW_AT_decl_line : 189
DW_AT_type : <f7>
<1><292>: Abbrev Number: 11 (DW_TAG_typedef)
DW_AT_name : __ULong
DW_AT_decl_file : 5
DW_AT_decl_line : 19
DW_AT_type : <203>
<1><2a1>: Abbrev Number: 14 (DW_TAG_structure_type)
DW_AT_name : _Bigint
DW_AT_byte_size : 24
DW_AT_decl_file : 5
DW_AT_decl_line : 41
DW_AT_sibling : <30d>
<2><2b1>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _next
DW_AT_decl_file : 5
DW_AT_decl_line : 42
DW_AT_type : <30d>
DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
<2><2c1>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _k
DW_AT_decl_file : 5
DW_AT_decl_line : 43
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
<2><2ce>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _maxwds
DW_AT_decl_file : 5
DW_AT_decl_line : 43
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
<2><2e0>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _sign
DW_AT_decl_file : 5
DW_AT_decl_line : 43
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
<2><2f0>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _wds
DW_AT_decl_file : 5
DW_AT_decl_line : 43
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
<2><2ff>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _x
DW_AT_decl_file : 5
DW_AT_decl_line : 44
DW_AT_type : <313>
DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
<1><30d>: Abbrev Number: 13 (DW_TAG_pointer_type)
DW_AT_byte_size : 4
DW_AT_type : <2a1>
<1><313>: Abbrev Number: 6 (DW_TAG_array_type)
DW_AT_type : <292>
DW_AT_sibling : <323>
<2><31c>: Abbrev Number: 7 (DW_TAG_subrange_type)
DW_AT_type : <19e>
DW_AT_upper_bound : 0
<1><323>: Abbrev Number: 14 (DW_TAG_structure_type)
DW_AT_name : __tm
DW_AT_byte_size : 36
DW_AT_decl_file : 5
DW_AT_decl_line : 49
DW_AT_sibling : <3e3>
<2><330>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : __tm_sec
DW_AT_decl_file : 5
DW_AT_decl_line : 50
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
<2><343>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : __tm_min
DW_AT_decl_file : 5
DW_AT_decl_line : 51
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
<2><356>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : __tm_hour
DW_AT_decl_file : 5
DW_AT_decl_line : 52
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
<2><36a>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : __tm_mday
DW_AT_decl_file : 5
DW_AT_decl_line : 53
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
<2><37e>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : __tm_mon
DW_AT_decl_file : 5
DW_AT_decl_line : 54
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
<2><391>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : __tm_year
DW_AT_decl_file : 5
DW_AT_decl_line : 55
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
<2><3a5>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : __tm_wday
DW_AT_decl_file : 5
DW_AT_decl_line : 56
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
<2><3b9>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : __tm_yday
DW_AT_decl_file : 5
DW_AT_decl_line : 57
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
<2><3cd>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : __tm_isdst
DW_AT_decl_file : 5
DW_AT_decl_line : 58
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
<1><3e3>: Abbrev Number: 15 (DW_TAG_structure_type)
DW_AT_name : (indirect string, offset: 0x7): _on_exit_args
DW_AT_byte_size : 132
DW_AT_decl_file : 5
DW_AT_decl_line : 67
DW_AT_sibling : <416>
<2><3ef>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _fnargs
DW_AT_decl_file : 5
DW_AT_decl_line : 68
DW_AT_type : <416>
DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
<2><401>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _fntypes
DW_AT_decl_file : 5
DW_AT_decl_line : 69
DW_AT_type : <292>
DW_AT_data_member_location: 3 byte block: 23 80 1 (DW_OP_plus_uconst: 128)
<1><416>: Abbrev Number: 6 (DW_TAG_array_type)
DW_AT_type : <201>
DW_AT_sibling : <426>
<2><41f>: Abbrev Number: 7 (DW_TAG_subrange_type)
DW_AT_type : <19e>
DW_AT_upper_bound : 31
<1><426>: Abbrev Number: 16 (DW_TAG_structure_type)
DW_AT_name : _atexit
DW_AT_byte_size : 268
DW_AT_decl_file : 5
DW_AT_decl_line : 80
DW_AT_sibling : <475>
<2><437>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _next
DW_AT_decl_file : 5
DW_AT_decl_line : 81
DW_AT_type : <475>
DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
<2><447>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _ind
DW_AT_decl_file : 5
DW_AT_decl_line : 82
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
<2><456>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _fns
DW_AT_decl_file : 5
DW_AT_decl_line : 83
DW_AT_type : <47b>
DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
<2><465>: Abbrev Number: 17 (DW_TAG_member)
DW_AT_name : (indirect string, offset: 0x7): _on_exit_args
DW_AT_decl_file : 5
DW_AT_decl_line : 84
DW_AT_type : <3e3>
DW_AT_data_member_location: 3 byte block: 23 88 1 (DW_OP_plus_uconst: 136)
<1><475>: Abbrev Number: 13 (DW_TAG_pointer_type)
DW_AT_byte_size : 4
DW_AT_type : <426>
<1><47b>: Abbrev Number: 6 (DW_TAG_array_type)
DW_AT_type : <48d>
DW_AT_sibling : <48b>
<2><484>: Abbrev Number: 7 (DW_TAG_subrange_type)
DW_AT_type : <19e>
DW_AT_upper_bound : 31
<1><48b>: Abbrev Number: 18 (DW_TAG_subroutine_type)
DW_AT_prototyped : 1
<1><48d>: Abbrev Number: 13 (DW_TAG_pointer_type)
DW_AT_byte_size : 4
DW_AT_type : <48b>
<1><493>: Abbrev Number: 14 (DW_TAG_structure_type)
DW_AT_name : __sbuf
DW_AT_byte_size : 8
DW_AT_decl_file : 5
DW_AT_decl_line : 95
DW_AT_sibling : <4c3>
<2><4a2>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _base
DW_AT_decl_file : 5
DW_AT_decl_line : 96
DW_AT_type : <4c3>
DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
<2><4b2>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _size
DW_AT_decl_file : 5
DW_AT_decl_line : 97
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
<1><4c3>: Abbrev Number: 13 (DW_TAG_pointer_type)
DW_AT_byte_size : 4
DW_AT_type : <1a1>
<1><4c9>: Abbrev Number: 11 (DW_TAG_typedef)
DW_AT_name : _fpos_t
DW_AT_decl_file : 5
DW_AT_decl_line : 105
DW_AT_type : <14f>
<1><4d8>: Abbrev Number: 14 (DW_TAG_structure_type)
DW_AT_name : __sFILE
DW_AT_byte_size : 92
DW_AT_decl_file : 5
DW_AT_decl_line : 160
DW_AT_sibling : <643>
<2><4e8>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _p
DW_AT_decl_file : 5
DW_AT_decl_line : 161
DW_AT_type : <4c3>
DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
<2><4f5>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _r
DW_AT_decl_file : 5
DW_AT_decl_line : 162
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
<2><502>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _w
DW_AT_decl_file : 5
DW_AT_decl_line : 163
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
<2><50f>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _flags
DW_AT_decl_file : 5
DW_AT_decl_line : 164
DW_AT_type : <ea>
DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
<2><520>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _file
DW_AT_decl_file : 5
DW_AT_decl_line : 165
DW_AT_type : <ea>
DW_AT_data_member_location: 2 byte block: 23 e (DW_OP_plus_uconst: 14)
<2><530>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _bf
DW_AT_decl_file : 5
DW_AT_decl_line : 166
DW_AT_type : <493>
DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
<2><53e>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _lbfsize
DW_AT_decl_file : 5
DW_AT_decl_line : 167
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
<2><551>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _cookie
DW_AT_decl_file : 5
DW_AT_decl_line : 174
DW_AT_type : <201>
DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
<2><563>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _read
DW_AT_decl_file : 5
DW_AT_decl_line : 176
DW_AT_type : <65d>
DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
<2><573>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _write
DW_AT_decl_file : 5
DW_AT_decl_line : 177
DW_AT_type : <688>
DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
<2><584>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _seek
DW_AT_decl_file : 5
DW_AT_decl_line : 179
DW_AT_type : <6a8>
DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
<2><594>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _close
DW_AT_decl_file : 5
DW_AT_decl_line : 180
DW_AT_type : <6be>
DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
<2><5a5>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _ub
DW_AT_decl_file : 5
DW_AT_decl_line : 183
DW_AT_type : <493>
DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
<2><5b3>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _up
DW_AT_decl_file : 5
DW_AT_decl_line : 184
DW_AT_type : <4c3>
DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
<2><5c1>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _ur
DW_AT_decl_file : 5
DW_AT_decl_line : 185
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60)
<2><5cf>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _ubuf
DW_AT_decl_file : 5
DW_AT_decl_line : 188
DW_AT_type : <6c4>
DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64)
<2><5df>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _nbuf
DW_AT_decl_file : 5
DW_AT_decl_line : 189
DW_AT_type : <6d4>
DW_AT_data_member_location: 2 byte block: 23 43 (DW_OP_plus_uconst: 67)
<2><5ef>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _lb
DW_AT_decl_file : 5
DW_AT_decl_line : 192
DW_AT_type : <493>
DW_AT_data_member_location: 2 byte block: 23 44 (DW_OP_plus_uconst: 68)
<2><5fd>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _blksize
DW_AT_decl_file : 5
DW_AT_decl_line : 195
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 4c (DW_OP_plus_uconst: 76)
<2><610>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _offset
DW_AT_decl_file : 5
DW_AT_decl_line : 196
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 50 (DW_OP_plus_uconst: 80)
<2><622>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _data
DW_AT_decl_file : 5
DW_AT_decl_line : 199
DW_AT_type : <8af>
DW_AT_data_member_location: 2 byte block: 23 54 (DW_OP_plus_uconst: 84)
<2><632>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : _lock
DW_AT_decl_file : 5
DW_AT_decl_line : 203
DW_AT_type : <1f1>
DW_AT_data_member_location: 2 byte block: 23 58 (DW_OP_plus_uconst: 88)
<1><643>: Abbrev Number: 19 (DW_TAG_subroutine_type)
DW_AT_prototyped : 1
DW_AT_type : <10d>
DW_AT_sibling : <65d>
<2><64d>: Abbrev Number: 20 (DW_TAG_formal_parameter)
DW_AT_type : <201>
<2><652>: Abbrev Number: 20 (DW_TAG_formal_parameter)
DW_AT_type : <226>
<2><657>: Abbrev Number: 20 (DW_TAG_formal_parameter)
DW_AT_type : <10d>
<1><65d>: Abbrev Number: 13 (DW_TAG_pointer_type)
DW_AT_byte_size : 4
DW_AT_type : <643>
<1><663>: Abbrev Number: 19 (DW_TAG_subroutine_type)
DW_AT_prototyped : 1
DW_AT_type : <10d>
DW_AT_sibling : <67d>
<2><66d>: Abbrev Number: 20 (DW_TAG_formal_parameter)
DW_AT_type : <201>
<2><672>: Abbrev Number: 20 (DW_TAG_formal_parameter)
DW_AT_type : <67d>
<2><677>: Abbrev Number: 20 (DW_TAG_formal_parameter)
DW_AT_type : <10d>
<1><67d>: Abbrev Number: 13 (DW_TAG_pointer_type)
DW_AT_byte_size : 4
DW_AT_type : <683>
<1><683>: Abbrev Number: 21 (DW_TAG_const_type)
DW_AT_type : <22c>
<1><688>: Abbrev Number: 13 (DW_TAG_pointer_type)
DW_AT_byte_size : 4
DW_AT_type : <663>
<1><68e>: Abbrev Number: 19 (DW_TAG_subroutine_type)
DW_AT_prototyped : 1
DW_AT_type : <4c9>
DW_AT_sibling : <6a8>
<2><698>: Abbrev Number: 20 (DW_TAG_formal_parameter)
DW_AT_type : <201>
<2><69d>: Abbrev Number: 20 (DW_TAG_formal_parameter)
DW_AT_type : <4c9>
<2><6a2>: Abbrev Number: 20 (DW_TAG_formal_parameter)
DW_AT_type : <10d>
<1><6a8>: Abbrev Number: 13 (DW_TAG_pointer_type)
DW_AT_byte_size : 4
DW_AT_type : <68e>
<1><6ae>: Abbrev Number: 19 (DW_TAG_subroutine_type)
DW_AT_prototyped : 1
DW_AT_type : <10d>
DW_AT_sibling : <6be>
<2><6b8>: Abbrev Number: 20 (DW_TAG_formal_parameter)
DW_AT_type : <201>
<1><6be>: Abbrev Number: 13 (DW_TAG_pointer_type)
DW_AT_byte_size : 4
DW_AT_type : <6ae>
<1><6c4>: Abbrev Number: 6 (DW_TAG_array_type)
DW_AT_type : <1a1>
DW_AT_sibling : <6d4>
<2><6cd>: Abbrev Number: 7 (DW_TAG_subrange_type)
DW_AT_type : <19e>
DW_AT_upper_bound : 2
<1><6d4>: Abbrev Number: 6 (DW_TAG_array_type)
DW_AT_type : <1a1>
DW_AT_sibling : <6e4>
<2><6dd>: Abbrev Number: 7 (DW_TAG_subrange_type)
DW_AT_type : <19e>
DW_AT_upper_bound : 0
<1><6e4>: Abbrev Number: 16 (DW_TAG_structure_type)
DW_AT_name : _reent
DW_AT_byte_size : 896
DW_AT_decl_file : 5
DW_AT_decl_line : 199
DW_AT_sibling : <8af>
<2><6f4>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _errno
DW_AT_decl_file : 5
DW_AT_decl_line : 535
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
<2><706>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _stdin
DW_AT_decl_file : 5
DW_AT_decl_line : 540
DW_AT_type : <90d>
DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
<2><718>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _stdout
DW_AT_decl_file : 5
DW_AT_decl_line : 540
DW_AT_type : <90d>
DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
<2><72b>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _stderr
DW_AT_decl_file : 5
DW_AT_decl_line : 540
DW_AT_type : <90d>
DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
<2><73e>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _inc
DW_AT_decl_file : 5
DW_AT_decl_line : 542
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
<2><74e>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _emergency
DW_AT_decl_file : 5
DW_AT_decl_line : 543
DW_AT_type : <bd7>
DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
<2><764>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _current_category
DW_AT_decl_file : 5
DW_AT_decl_line : 545
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
<2><781>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _current_locale
DW_AT_decl_file : 5
DW_AT_decl_line : 546
DW_AT_type : <67d>
DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52)
<2><79c>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : __sdidinit
DW_AT_decl_file : 5
DW_AT_decl_line : 548
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 38 (DW_OP_plus_uconst: 56)
<2><7b2>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : __cleanup
DW_AT_decl_file : 5
DW_AT_decl_line : 550
DW_AT_type : <bf3>
DW_AT_data_member_location: 2 byte block: 23 3c (DW_OP_plus_uconst: 60)
<2><7c7>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _result
DW_AT_decl_file : 5
DW_AT_decl_line : 553
DW_AT_type : <30d>
DW_AT_data_member_location: 2 byte block: 23 40 (DW_OP_plus_uconst: 64)
<2><7da>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _result_k
DW_AT_decl_file : 5
DW_AT_decl_line : 554
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 44 (DW_OP_plus_uconst: 68)
<2><7ef>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _p5s
DW_AT_decl_file : 5
DW_AT_decl_line : 555
DW_AT_type : <30d>
DW_AT_data_member_location: 2 byte block: 23 48 (DW_OP_plus_uconst: 72)
<2><7ff>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _freelist
DW_AT_decl_file : 5
DW_AT_decl_line : 556
DW_AT_type : <bf9>
DW_AT_data_member_location: 2 byte block: 23 4c (DW_OP_plus_uconst: 76)
<2><814>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _cvtlen
DW_AT_decl_file : 5
DW_AT_decl_line : 559
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 50 (DW_OP_plus_uconst: 80)
<2><827>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _cvtbuf
DW_AT_decl_file : 5
DW_AT_decl_line : 560
DW_AT_type : <226>
DW_AT_data_member_location: 2 byte block: 23 54 (DW_OP_plus_uconst: 84)
<2><83a>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _new
DW_AT_decl_file : 5
DW_AT_decl_line : 594
DW_AT_type : <bae>
DW_AT_data_member_location: 2 byte block: 23 58 (DW_OP_plus_uconst: 88)
<2><84a>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _atexit
DW_AT_decl_file : 5
DW_AT_decl_line : 597
DW_AT_type : <475>
DW_AT_data_member_location: 3 byte block: 23 c8 2 (DW_OP_plus_uconst: 328)
<2><85e>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _atexit0
DW_AT_decl_file : 5
DW_AT_decl_line : 598
DW_AT_type : <426>
DW_AT_data_member_location: 3 byte block: 23 cc 2 (DW_OP_plus_uconst: 332)
<2><873>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _sig_func
DW_AT_decl_file : 5
DW_AT_decl_line : 601
DW_AT_type : <c0b>
DW_AT_data_member_location: 3 byte block: 23 d8 4 (DW_OP_plus_uconst: 600)
<2><889>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : __sglue
DW_AT_decl_file : 5
DW_AT_decl_line : 606
DW_AT_type : <8c3>
DW_AT_data_member_location: 3 byte block: 23 dc 4 (DW_OP_plus_uconst: 604)
<2><89d>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : __sf
DW_AT_decl_file : 5
DW_AT_decl_line : 607
DW_AT_type : <c17>
DW_AT_data_member_location: 3 byte block: 23 e8 4 (DW_OP_plus_uconst: 616)
<1><8af>: Abbrev Number: 13 (DW_TAG_pointer_type)
DW_AT_byte_size : 4
DW_AT_type : <6e4>
<1><8b5>: Abbrev Number: 11 (DW_TAG_typedef)
DW_AT_name : __FILE
DW_AT_decl_file : 5
DW_AT_decl_line : 253
DW_AT_type : <4d8>
<1><8c3>: Abbrev Number: 23 (DW_TAG_structure_type)
DW_AT_name : _glue
DW_AT_byte_size : 12
DW_AT_decl_file : 5
DW_AT_decl_line : 257
DW_AT_sibling : <907>
<2><8d2>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _next
DW_AT_decl_file : 5
DW_AT_decl_line : 258
DW_AT_type : <907>
DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
<2><8e3>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _niobs
DW_AT_decl_file : 5
DW_AT_decl_line : 259
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
<2><8f5>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _iobs
DW_AT_decl_file : 5
DW_AT_decl_line : 260
DW_AT_type : <90d>
DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
<1><907>: Abbrev Number: 13 (DW_TAG_pointer_type)
DW_AT_byte_size : 4
DW_AT_type : <8c3>
<1><90d>: Abbrev Number: 13 (DW_TAG_pointer_type)
DW_AT_byte_size : 4
DW_AT_type : <8b5>
<1><913>: Abbrev Number: 23 (DW_TAG_structure_type)
DW_AT_name : _rand48
DW_AT_byte_size : 14
DW_AT_decl_file : 5
DW_AT_decl_line : 284
DW_AT_sibling : <957>
<2><924>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _seed
DW_AT_decl_file : 5
DW_AT_decl_line : 285
DW_AT_type : <957>
DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
<2><935>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _mult
DW_AT_decl_file : 5
DW_AT_decl_line : 286
DW_AT_type : <957>
DW_AT_data_member_location: 2 byte block: 23 6 (DW_OP_plus_uconst: 6)
<2><946>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _add
DW_AT_decl_file : 5
DW_AT_decl_line : 287
DW_AT_type : <f7>
DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
<1><957>: Abbrev Number: 6 (DW_TAG_array_type)
DW_AT_type : <f7>
DW_AT_sibling : <967>
<2><960>: Abbrev Number: 7 (DW_TAG_subrange_type)
DW_AT_type : <19e>
DW_AT_upper_bound : 2
<1><967>: Abbrev Number: 24 (DW_TAG_structure_type)
DW_AT_byte_size : 208
DW_AT_decl_file : 5
DW_AT_decl_line : 565
DW_AT_sibling : <b2e>
<2><970>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _unused_rand
DW_AT_decl_file : 5
DW_AT_decl_line : 566
DW_AT_type : <114>
DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
<2><988>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _strtok_last
DW_AT_decl_file : 5
DW_AT_decl_line : 567
DW_AT_type : <226>
DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
<2><9a0>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _asctime_buf
DW_AT_decl_file : 5
DW_AT_decl_line : 568
DW_AT_type : <b2e>
DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
<2><9b8>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _localtime_buf
DW_AT_decl_file : 5
DW_AT_decl_line : 569
DW_AT_type : <323>
DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
<2><9d2>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _gamma_signgam
DW_AT_decl_file : 5
DW_AT_decl_line : 570
DW_AT_type : <10d>
DW_AT_data_member_location: 2 byte block: 23 48 (DW_OP_plus_uconst: 72)
<2><9ec>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _rand_next
DW_AT_decl_file : 5
DW_AT_decl_line : 571
DW_AT_type : <135>
DW_AT_data_member_location: 2 byte block: 23 50 (DW_OP_plus_uconst: 80)
<2><a02>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _r48
DW_AT_decl_file : 5
DW_AT_decl_line : 572
DW_AT_type : <913>
DW_AT_data_member_location: 2 byte block: 23 58 (DW_OP_plus_uconst: 88)
<2><a12>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _mblen_state
DW_AT_decl_file : 5
DW_AT_decl_line : 573
DW_AT_type : <1df>
DW_AT_data_member_location: 2 byte block: 23 68 (DW_OP_plus_uconst: 104)
<2><a2a>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _mbtowc_state
DW_AT_decl_file : 5
DW_AT_decl_line : 574
DW_AT_type : <1df>
DW_AT_data_member_location: 2 byte block: 23 70 (DW_OP_plus_uconst: 112)
<2><a43>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _wctomb_state
DW_AT_decl_file : 5
DW_AT_decl_line : 575
DW_AT_type : <1df>
DW_AT_data_member_location: 2 byte block: 23 78 (DW_OP_plus_uconst: 120)
<2><a5c>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _l64a_buf
DW_AT_decl_file : 5
DW_AT_decl_line : 576
DW_AT_type : <b3e>
DW_AT_data_member_location: 3 byte block: 23 80 1 (DW_OP_plus_uconst: 128)
<2><a72>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _signal_buf
DW_AT_decl_file : 5
DW_AT_decl_line : 577
DW_AT_type : <b4e>
DW_AT_data_member_location: 3 byte block: 23 88 1 (DW_OP_plus_uconst: 136)
<2><a8a>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _getdate_err
DW_AT_decl_file : 5
DW_AT_decl_line : 578
DW_AT_type : <10d>
DW_AT_data_member_location: 3 byte block: 23 a0 1 (DW_OP_plus_uconst: 160)
<2><aa3>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _mbrlen_state
DW_AT_decl_file : 5
DW_AT_decl_line : 579
DW_AT_type : <1df>
DW_AT_data_member_location: 3 byte block: 23 a4 1 (DW_OP_plus_uconst: 164)
<2><abd>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _mbrtowc_state
DW_AT_decl_file : 5
DW_AT_decl_line : 580
DW_AT_type : <1df>
DW_AT_data_member_location: 3 byte block: 23 ac 1 (DW_OP_plus_uconst: 172)
<2><ad8>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _mbsrtowcs_state
DW_AT_decl_file : 5
DW_AT_decl_line : 581
DW_AT_type : <1df>
DW_AT_data_member_location: 3 byte block: 23 b4 1 (DW_OP_plus_uconst: 180)
<2><af5>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _wcrtomb_state
DW_AT_decl_file : 5
DW_AT_decl_line : 582
DW_AT_type : <1df>
DW_AT_data_member_location: 3 byte block: 23 bc 1 (DW_OP_plus_uconst: 188)
<2><b10>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _wcsrtombs_state
DW_AT_decl_file : 5
DW_AT_decl_line : 583
DW_AT_type : <1df>
DW_AT_data_member_location: 3 byte block: 23 c4 1 (DW_OP_plus_uconst: 196)
<1><b2e>: Abbrev Number: 6 (DW_TAG_array_type)
DW_AT_type : <22c>
DW_AT_sibling : <b3e>
<2><b37>: Abbrev Number: 7 (DW_TAG_subrange_type)
DW_AT_type : <19e>
DW_AT_upper_bound : 25
<1><b3e>: Abbrev Number: 6 (DW_TAG_array_type)
DW_AT_type : <22c>
DW_AT_sibling : <b4e>
<2><b47>: Abbrev Number: 7 (DW_TAG_subrange_type)
DW_AT_type : <19e>
DW_AT_upper_bound : 7
<1><b4e>: Abbrev Number: 6 (DW_TAG_array_type)
DW_AT_type : <22c>
DW_AT_sibling : <b5e>
<2><b57>: Abbrev Number: 7 (DW_TAG_subrange_type)
DW_AT_type : <19e>
DW_AT_upper_bound : 23
<1><b5e>: Abbrev Number: 24 (DW_TAG_structure_type)
DW_AT_byte_size : 240
DW_AT_decl_file : 5
DW_AT_decl_line : 589
DW_AT_sibling : <b8e>
<2><b67>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _nextf
DW_AT_decl_file : 5
DW_AT_decl_line : 591
DW_AT_type : <b8e>
DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
<2><b79>: Abbrev Number: 22 (DW_TAG_member)
DW_AT_name : _nmalloc
DW_AT_decl_file : 5
DW_AT_decl_line : 592
DW_AT_type : <b9e>
DW_AT_data_member_location: 2 byte block: 23 78 (DW_OP_plus_uconst: 120)
<1><b8e>: Abbrev Number: 6 (DW_TAG_array_type)
DW_AT_type : <4c3>
DW_AT_sibling : <b9e>
<2><b97>: Abbrev Number: 7 (DW_TAG_subrange_type)
DW_AT_type : <19e>
DW_AT_upper_bound : 29
<1><b9e>: Abbrev Number: 6 (DW_TAG_array_type)
DW_AT_type : <114>
DW_AT_sibling : <bae>
<2><ba7>: Abbrev Number: 7 (DW_TAG_subrange_type)
DW_AT_type : <19e>
DW_AT_upper_bound : 29
<1><bae>: Abbrev Number: 25 (DW_TAG_union_type)
DW_AT_byte_size : 240
DW_AT_decl_file : 5
DW_AT_decl_line : 563
DW_AT_sibling : <bd7>
<2><bb7>: Abbrev Number: 26 (DW_TAG_member)
DW_AT_name : _reent
DW_AT_decl_file : 5
DW_AT_decl_line : 584
DW_AT_type : <967>
<2><bc6>: Abbrev Number: 26 (DW_TAG_member)
DW_AT_name : _unused
DW_AT_decl_file : 5
DW_AT_decl_line : 593
DW_AT_type : <b5e>
<1><bd7>: Abbrev Number: 6 (DW_TAG_array_type)
DW_AT_type : <22c>
DW_AT_sibling : <be7>
<2><be0>: Abbrev Number: 7 (DW_TAG_subrange_type)
DW_AT_type : <19e>
DW_AT_upper_bound : 24
<1><be7>: Abbrev Number: 27 (DW_TAG_subroutine_type)
DW_AT_prototyped : 1
DW_AT_sibling : <bf3>
<2><bed>: Abbrev Number: 20 (DW_TAG_formal_parameter)
DW_AT_type : <8af>
<1><bf3>: Abbrev Number: 13 (DW_TAG_pointer_type)
DW_AT_byte_size : 4
DW_AT_type : <be7>
<1><bf9>: Abbrev Number: 13 (DW_TAG_pointer_type)
DW_AT_byte_size : 4
DW_AT_type : <30d>
<1><bff>: Abbrev Number: 27 (DW_TAG_subroutine_type)
DW_AT_prototyped : 1
DW_AT_sibling : <c0b>
<2><c05>: Abbrev Number: 20 (DW_TAG_formal_parameter)
DW_AT_type : <10d>
<1><c0b>: Abbrev Number: 13 (DW_TAG_pointer_type)
DW_AT_byte_size : 4
DW_AT_type : <c11>
<1><c11>: Abbrev Number: 13 (DW_TAG_pointer_type)
DW_AT_byte_size : 4
DW_AT_type : <bff>
<1><c17>: Abbrev Number: 6 (DW_TAG_array_type)
DW_AT_type : <8b5>
DW_AT_sibling : <c27>
<2><c20>: Abbrev Number: 7 (DW_TAG_subrange_type)
DW_AT_type : <19e>
DW_AT_upper_bound : 2
<1><c27>: Abbrev Number: 14 (DW_TAG_structure_type)
DW_AT_name : stat
DW_AT_byte_size : 60
DW_AT_decl_file : 6
DW_AT_decl_line : 26
DW_AT_sibling : <d74>
<2><c34>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : st_dev
DW_AT_decl_file : 6
DW_AT_decl_line : 27
DW_AT_type : <241>
DW_AT_data_member_location: 2 byte block: 23 0 (DW_OP_plus_uconst: 0)
<2><c45>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : st_ino
DW_AT_decl_file : 6
DW_AT_decl_line : 28
DW_AT_type : <234>
DW_AT_data_member_location: 2 byte block: 23 2 (DW_OP_plus_uconst: 2)
<2><c56>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : st_mode
DW_AT_decl_file : 6
DW_AT_decl_line : 29
DW_AT_type : <275>
DW_AT_data_member_location: 2 byte block: 23 4 (DW_OP_plus_uconst: 4)
<2><c68>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : st_nlink
DW_AT_decl_file : 6
DW_AT_decl_line : 30
DW_AT_type : <283>
DW_AT_data_member_location: 2 byte block: 23 8 (DW_OP_plus_uconst: 8)
<2><c7b>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : st_uid
DW_AT_decl_file : 6
DW_AT_decl_line : 31
DW_AT_type : <25b>
DW_AT_data_member_location: 2 byte block: 23 a (DW_OP_plus_uconst: 10)
<2><c8c>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : st_gid
DW_AT_decl_file : 6
DW_AT_decl_line : 32
DW_AT_type : <268>
DW_AT_data_member_location: 2 byte block: 23 c (DW_OP_plus_uconst: 12)
<2><c9d>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : st_rdev
DW_AT_decl_file : 6
DW_AT_decl_line : 33
DW_AT_type : <241>
DW_AT_data_member_location: 2 byte block: 23 e (DW_OP_plus_uconst: 14)
<2><caf>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : st_size
DW_AT_decl_file : 6
DW_AT_decl_line : 34
DW_AT_type : <24e>
DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16)
<2><cc1>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : st_atime
DW_AT_decl_file : 6
DW_AT_decl_line : 41
DW_AT_type : <218>
DW_AT_data_member_location: 2 byte block: 23 14 (DW_OP_plus_uconst: 20)
<2><cd4>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : st_spare1
DW_AT_decl_file : 6
DW_AT_decl_line : 42
DW_AT_type : <14f>
DW_AT_data_member_location: 2 byte block: 23 18 (DW_OP_plus_uconst: 24)
<2><ce8>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : st_mtime
DW_AT_decl_file : 6
DW_AT_decl_line : 43
DW_AT_type : <218>
DW_AT_data_member_location: 2 byte block: 23 1c (DW_OP_plus_uconst: 28)
<2><cfb>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : st_spare2
DW_AT_decl_file : 6
DW_AT_decl_line : 44
DW_AT_type : <14f>
DW_AT_data_member_location: 2 byte block: 23 20 (DW_OP_plus_uconst: 32)
<2><d0f>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : st_ctime
DW_AT_decl_file : 6
DW_AT_decl_line : 45
DW_AT_type : <218>
DW_AT_data_member_location: 2 byte block: 23 24 (DW_OP_plus_uconst: 36)
<2><d22>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : st_spare3
DW_AT_decl_file : 6
DW_AT_decl_line : 46
DW_AT_type : <14f>
DW_AT_data_member_location: 2 byte block: 23 28 (DW_OP_plus_uconst: 40)
<2><d36>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : st_blksize
DW_AT_decl_file : 6
DW_AT_decl_line : 47
DW_AT_type : <14f>
DW_AT_data_member_location: 2 byte block: 23 2c (DW_OP_plus_uconst: 44)
<2><d4b>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : st_blocks
DW_AT_decl_file : 6
DW_AT_decl_line : 48
DW_AT_type : <14f>
DW_AT_data_member_location: 2 byte block: 23 30 (DW_OP_plus_uconst: 48)
<2><d5f>: Abbrev Number: 10 (DW_TAG_member)
DW_AT_name : st_spare4
DW_AT_decl_file : 6
DW_AT_decl_line : 49
DW_AT_type : <d74>
DW_AT_data_member_location: 2 byte block: 23 34 (DW_OP_plus_uconst: 52)
<1><d74>: Abbrev Number: 6 (DW_TAG_array_type)
DW_AT_type : <14f>
DW_AT_sibling : <d84>
<2><d7d>: Abbrev Number: 7 (DW_TAG_subrange_type)
DW_AT_type : <19e>
DW_AT_upper_bound : 1
<1><d84>: Abbrev Number: 28 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : _read_r
DW_AT_decl_file : 1
DW_AT_decl_line : 13
DW_AT_type : <10d>
DW_AT_low_pc : 0xa00011e8
DW_AT_high_pc : 0xa0001200
DW_AT_frame_base : 0x2b (location list)
DW_AT_sibling : <dda>
<2><da4>: Abbrev Number: 29 (DW_TAG_formal_parameter)
DW_AT_name : r
DW_AT_decl_file : 1
DW_AT_decl_line : 9
DW_AT_type : <8af>
DW_AT_location : 2 byte block: 91 0 (DW_OP_fbreg: 0)
<2><db0>: Abbrev Number: 29 (DW_TAG_formal_parameter)
DW_AT_name : fd
DW_AT_decl_file : 1
DW_AT_decl_line : 10
DW_AT_type : <10d>
DW_AT_location : 2 byte block: 91 4 (DW_OP_fbreg: 4)
<2><dbd>: Abbrev Number: 29 (DW_TAG_formal_parameter)
DW_AT_name : buf
DW_AT_decl_file : 1
DW_AT_decl_line : 11
DW_AT_type : <226>
DW_AT_location : 2 byte block: 91 8 (DW_OP_fbreg: 8)
<2><dcb>: Abbrev Number: 30 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0x0): nbytes
DW_AT_decl_file : 1
DW_AT_decl_line : 12
DW_AT_type : <10d>
DW_AT_location : 2 byte block: 91 c (DW_OP_fbreg: 12)
<1><dda>: Abbrev Number: 28 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : _write_r
DW_AT_decl_file : 1
DW_AT_decl_line : 29
DW_AT_type : <10d>
DW_AT_low_pc : 0xa0001200
DW_AT_high_pc : 0xa0001218
DW_AT_frame_base : 0x56 (location list)
DW_AT_sibling : <e31>
<2><dfb>: Abbrev Number: 29 (DW_TAG_formal_parameter)
DW_AT_name : r
DW_AT_decl_file : 1
DW_AT_decl_line : 25
DW_AT_type : <8af>
DW_AT_location : 2 byte block: 91 0 (DW_OP_fbreg: 0)
<2><e07>: Abbrev Number: 29 (DW_TAG_formal_parameter)
DW_AT_name : fd
DW_AT_decl_file : 1
DW_AT_decl_line : 26
DW_AT_type : <10d>
DW_AT_location : 2 byte block: 91 4 (DW_OP_fbreg: 4)
<2><e14>: Abbrev Number: 29 (DW_TAG_formal_parameter)
DW_AT_name : buf
DW_AT_decl_file : 1
DW_AT_decl_line : 27
DW_AT_type : <226>
DW_AT_location : 2 byte block: 91 8 (DW_OP_fbreg: 8)
<2><e22>: Abbrev Number: 30 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0x0): nbytes
DW_AT_decl_file : 1
DW_AT_decl_line : 28
DW_AT_type : <10d>
DW_AT_location : 2 byte block: 91 c (DW_OP_fbreg: 12)
<1><e31>: Abbrev Number: 28 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : _open_r
DW_AT_decl_file : 1
DW_AT_decl_line : 43
DW_AT_type : <10d>
DW_AT_low_pc : 0xa0001218
DW_AT_high_pc : 0xa0001230
DW_AT_frame_base : 0x81 (location list)
DW_AT_sibling : <e8b>
<2><e51>: Abbrev Number: 29 (DW_TAG_formal_parameter)
DW_AT_name : r
DW_AT_decl_file : 1
DW_AT_decl_line : 39
DW_AT_type : <8af>
DW_AT_location : 2 byte block: 91 0 (DW_OP_fbreg: 0)
<2><e5d>: Abbrev Number: 29 (DW_TAG_formal_parameter)
DW_AT_name : buf
DW_AT_decl_file : 1
DW_AT_decl_line : 40
DW_AT_type : <226>
DW_AT_location : 2 byte block: 91 4 (DW_OP_fbreg: 4)
<2><e6b>: Abbrev Number: 29 (DW_TAG_formal_parameter)
DW_AT_name : flags
DW_AT_decl_file : 1
DW_AT_decl_line : 41
DW_AT_type : <10d>
DW_AT_location : 2 byte block: 91 8 (DW_OP_fbreg: 8)
<2><e7b>: Abbrev Number: 29 (DW_TAG_formal_parameter)
DW_AT_name : mode
DW_AT_decl_file : 1
DW_AT_decl_line : 42
DW_AT_type : <10d>
DW_AT_location : 2 byte block: 91 c (DW_OP_fbreg: 12)
<1><e8b>: Abbrev Number: 28 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : _close_r
DW_AT_decl_file : 1
DW_AT_decl_line : 55
DW_AT_type : <10d>
DW_AT_low_pc : 0xa0001230
DW_AT_high_pc : 0xa0001244
DW_AT_frame_base : 0xac (location list)
DW_AT_sibling : <ec8>
<2><eac>: Abbrev Number: 29 (DW_TAG_formal_parameter)
DW_AT_name : ptr
DW_AT_decl_file : 1
DW_AT_decl_line : 53
DW_AT_type : <8af>
DW_AT_location : 2 byte block: 91 0 (DW_OP_fbreg: 0)
<2><eba>: Abbrev Number: 29 (DW_TAG_formal_parameter)
DW_AT_name : fd
DW_AT_decl_file : 1
DW_AT_decl_line : 54
DW_AT_type : <10d>
DW_AT_location : 2 byte block: 91 4 (DW_OP_fbreg: 4)
<1><ec8>: Abbrev Number: 31 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : _exit
DW_AT_decl_file : 1
DW_AT_decl_line : 68
DW_AT_low_pc : 0xa0001244
DW_AT_high_pc : 0xa0001250
DW_AT_frame_base : 0xd7 (location list)
DW_AT_sibling : <ef5>
<2><ee2>: Abbrev Number: 29 (DW_TAG_formal_parameter)
DW_AT_name : extcode
DW_AT_decl_file : 1
DW_AT_decl_line : 67
DW_AT_type : <10d>
DW_AT_location : 2 byte block: 91 0 (DW_OP_fbreg: 0)
<1><ef5>: Abbrev Number: 28 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : _sbrk_r
DW_AT_decl_file : 1
DW_AT_decl_line : 81
DW_AT_type : <226>
DW_AT_low_pc : 0xa0001250
DW_AT_high_pc : 0xa0001262
DW_AT_frame_base : 0x102 (location list)
DW_AT_sibling : <f32>
<2><f15>: Abbrev Number: 29 (DW_TAG_formal_parameter)
DW_AT_name : ptr
DW_AT_decl_file : 1
DW_AT_decl_line : 79
DW_AT_type : <8af>
DW_AT_location : 2 byte block: 91 0 (DW_OP_fbreg: 0)
<2><f23>: Abbrev Number: 30 (DW_TAG_formal_parameter)
DW_AT_name : (indirect string, offset: 0x0): nbytes
DW_AT_decl_file : 1
DW_AT_decl_line : 80
DW_AT_type : <10d>
DW_AT_location : 2 byte block: 91 4 (DW_OP_fbreg: 4)
<1><f32>: Abbrev Number: 28 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : _lseek_r
DW_AT_decl_file : 1
DW_AT_decl_line : 96
DW_AT_type : <24e>
DW_AT_low_pc : 0xa0001264
DW_AT_high_pc : 0xa000127c
DW_AT_frame_base : 0x12d (location list)
DW_AT_sibling : <f91>
<2><f53>: Abbrev Number: 29 (DW_TAG_formal_parameter)
DW_AT_name : ptr
DW_AT_decl_file : 1
DW_AT_decl_line : 92
DW_AT_type : <8af>
DW_AT_location : 2 byte block: 91 0 (DW_OP_fbreg: 0)
<2><f61>: Abbrev Number: 29 (DW_TAG_formal_parameter)
DW_AT_name : fd
DW_AT_decl_file : 1
DW_AT_decl_line : 93
DW_AT_type : <10d>
DW_AT_location : 2 byte block: 91 4 (DW_OP_fbreg: 4)
<2><f6e>: Abbrev Number: 29 (DW_TAG_formal_parameter)
DW_AT_name : offset
DW_AT_decl_file : 1
DW_AT_decl_line : 94
DW_AT_type : <24e>
DW_AT_location : 2 byte block: 91 8 (DW_OP_fbreg: 8)
<2><f7f>: Abbrev Number: 29 (DW_TAG_formal_parameter)
DW_AT_name : whence
DW_AT_decl_file : 1
DW_AT_decl_line : 95
DW_AT_type : <10d>
DW_AT_location : 2 byte block: 91 c (DW_OP_fbreg: 12)
<1><f91>: Abbrev Number: 28 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : _fstat_r
DW_AT_decl_file : 1
DW_AT_decl_line : 109
DW_AT_type : <10d>
DW_AT_low_pc : 0xa000127c
DW_AT_high_pc : 0xa0001294
DW_AT_frame_base : 0x158 (location list)
DW_AT_sibling : <fda>
<2><fb2>: Abbrev Number: 29 (DW_TAG_formal_parameter)
DW_AT_name : r
DW_AT_decl_file : 1
DW_AT_decl_line : 106
DW_AT_type : <8af>
DW_AT_location : 2 byte block: 91 0 (DW_OP_fbreg: 0)
<2><fbe>: Abbrev Number: 29 (DW_TAG_formal_parameter)
DW_AT_name : fd
DW_AT_decl_file : 1
DW_AT_decl_line : 107
DW_AT_type : <10d>
DW_AT_location : 2 byte block: 91 4 (DW_OP_fbreg: 4)
<2><fcb>: Abbrev Number: 29 (DW_TAG_formal_parameter)
DW_AT_name : buf
DW_AT_decl_file : 1
DW_AT_decl_line : 108
DW_AT_type : <fda>
DW_AT_location : 2 byte block: 91 8 (DW_OP_fbreg: 8)
<1><fda>: Abbrev Number: 13 (DW_TAG_pointer_type)
DW_AT_byte_size : 4
DW_AT_type : <c27>
<1><fe0>: Abbrev Number: 28 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : isatty
DW_AT_decl_file : 1
DW_AT_decl_line : 120
DW_AT_type : <10d>
DW_AT_low_pc : 0xa0001294
DW_AT_high_pc : 0xa00012da
DW_AT_frame_base : 0x183 (location list)
DW_AT_sibling : <100d>
<2><fff>: Abbrev Number: 29 (DW_TAG_formal_parameter)
DW_AT_name : fd
DW_AT_decl_file : 1
DW_AT_decl_line : 118
DW_AT_type : <10d>
DW_AT_location : 2 byte block: 91 0 (DW_OP_fbreg: 0)
<1><100d>: Abbrev Number: 32 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : _getpid
DW_AT_decl_file : 1
DW_AT_decl_line : 135
DW_AT_type : <10d>
DW_AT_low_pc : 0xa00012dc
DW_AT_high_pc : 0xa00012ea
DW_AT_frame_base : 0x1ba (location list)
<1><1029>: Abbrev Number: 33 (DW_TAG_subprogram)
DW_AT_external : 1
DW_AT_name : _kill
DW_AT_decl_file : 1
DW_AT_decl_line : 153
DW_AT_type : <10d>
DW_AT_low_pc : 0xa00012ec
DW_AT_high_pc : 0xa0001322
DW_AT_frame_base : 0x1e5 (location list)
<2><1043>: Abbrev Number: 29 (DW_TAG_formal_parameter)
DW_AT_name : pid
DW_AT_decl_file : 1
DW_AT_decl_line : 149
DW_AT_type : <10d>
DW_AT_location : 2 byte block: 91 0 (DW_OP_fbreg: 0)
<2><1051>: Abbrev Number: 29 (DW_TAG_formal_parameter)
DW_AT_name : sig
DW_AT_decl_file : 1
DW_AT_decl_line : 151
DW_AT_type : <10d>
DW_AT_location : 2 byte block: 91 4 (DW_OP_fbreg: 4)
Contents of the .debug_abbrev section:
Number TAG
1 DW_TAG_compile_unit [has children]
DW_AT_producer DW_FORM_string
DW_AT_language DW_FORM_data1
DW_AT_name DW_FORM_string
DW_AT_comp_dir DW_FORM_string
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_stmt_list DW_FORM_data4
2 DW_TAG_subprogram [no children]
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_string
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_prototyped DW_FORM_flag
DW_AT_type DW_FORM_ref4
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_frame_base DW_FORM_data4
3 DW_TAG_base_type [no children]
DW_AT_byte_size DW_FORM_data1
DW_AT_encoding DW_FORM_data1
DW_AT_name DW_FORM_string
Number TAG
1 DW_TAG_compile_unit [has children]
DW_AT_producer DW_FORM_string
DW_AT_language DW_FORM_data1
DW_AT_name DW_FORM_string
DW_AT_comp_dir DW_FORM_string
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_stmt_list DW_FORM_data4
2 DW_TAG_base_type [no children]
DW_AT_byte_size DW_FORM_data1
DW_AT_encoding DW_FORM_data1
DW_AT_name DW_FORM_string
3 DW_TAG_typedef [no children]
DW_AT_name DW_FORM_string
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data2
DW_AT_type DW_FORM_ref4
4 DW_TAG_union_type [has children]
DW_AT_byte_size DW_FORM_data1
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_sibling DW_FORM_ref4
5 DW_TAG_member [no children]
DW_AT_name DW_FORM_string
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_type DW_FORM_ref4
6 DW_TAG_array_type [has children]
DW_AT_type DW_FORM_ref4
DW_AT_sibling DW_FORM_ref4
7 DW_TAG_subrange_type [no children]
DW_AT_type DW_FORM_ref4
DW_AT_upper_bound DW_FORM_data1
8 DW_TAG_base_type [no children]
DW_AT_byte_size DW_FORM_data1
DW_AT_encoding DW_FORM_data1
9 DW_TAG_structure_type [has children]
DW_AT_byte_size DW_FORM_data1
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_sibling DW_FORM_ref4
10 DW_TAG_member [no children]
DW_AT_name DW_FORM_string
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_type DW_FORM_ref4
DW_AT_data_member_location DW_FORM_block1
11 DW_TAG_typedef [no children]
DW_AT_name DW_FORM_string
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_type DW_FORM_ref4
12 DW_TAG_pointer_type [no children]
DW_AT_byte_size DW_FORM_data1
13 DW_TAG_pointer_type [no children]
DW_AT_byte_size DW_FORM_data1
DW_AT_type DW_FORM_ref4
14 DW_TAG_structure_type [has children]
DW_AT_name DW_FORM_string
DW_AT_byte_size DW_FORM_data1
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_sibling DW_FORM_ref4
15 DW_TAG_structure_type [has children]
DW_AT_name DW_FORM_strp
DW_AT_byte_size DW_FORM_data1
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_sibling DW_FORM_ref4
16 DW_TAG_structure_type [has children]
DW_AT_name DW_FORM_string
DW_AT_byte_size DW_FORM_data2
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_sibling DW_FORM_ref4
17 DW_TAG_member [no children]
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_type DW_FORM_ref4
DW_AT_data_member_location DW_FORM_block1
18 DW_TAG_subroutine_type [no children]
DW_AT_prototyped DW_FORM_flag
19 DW_TAG_subroutine_type [has children]
DW_AT_prototyped DW_FORM_flag
DW_AT_type DW_FORM_ref4
DW_AT_sibling DW_FORM_ref4
20 DW_TAG_formal_parameter [no children]
DW_AT_type DW_FORM_ref4
21 DW_TAG_const_type [no children]
DW_AT_type DW_FORM_ref4
22 DW_TAG_member [no children]
DW_AT_name DW_FORM_string
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data2
DW_AT_type DW_FORM_ref4
DW_AT_data_member_location DW_FORM_block1
23 DW_TAG_structure_type [has children]
DW_AT_name DW_FORM_string
DW_AT_byte_size DW_FORM_data1
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data2
DW_AT_sibling DW_FORM_ref4
24 DW_TAG_structure_type [has children]
DW_AT_byte_size DW_FORM_data1
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data2
DW_AT_sibling DW_FORM_ref4
25 DW_TAG_union_type [has children]
DW_AT_byte_size DW_FORM_data1
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data2
DW_AT_sibling DW_FORM_ref4
26 DW_TAG_member [no children]
DW_AT_name DW_FORM_string
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data2
DW_AT_type DW_FORM_ref4
27 DW_TAG_subroutine_type [has children]
DW_AT_prototyped DW_FORM_flag
DW_AT_sibling DW_FORM_ref4
28 DW_TAG_subprogram [has children]
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_string
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_type DW_FORM_ref4
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_frame_base DW_FORM_data4
DW_AT_sibling DW_FORM_ref4
29 DW_TAG_formal_parameter [no children]
DW_AT_name DW_FORM_string
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_type DW_FORM_ref4
DW_AT_location DW_FORM_block1
30 DW_TAG_formal_parameter [no children]
DW_AT_name DW_FORM_strp
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_type DW_FORM_ref4
DW_AT_location DW_FORM_block1
31 DW_TAG_subprogram [has children]
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_string
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_frame_base DW_FORM_data4
DW_AT_sibling DW_FORM_ref4
32 DW_TAG_subprogram [no children]
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_string
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_type DW_FORM_ref4
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_frame_base DW_FORM_data4
33 DW_TAG_subprogram [has children]
DW_AT_external DW_FORM_flag
DW_AT_name DW_FORM_string
DW_AT_decl_file DW_FORM_data1
DW_AT_decl_line DW_FORM_data1
DW_AT_type DW_FORM_ref4
DW_AT_low_pc DW_FORM_addr
DW_AT_high_pc DW_FORM_addr
DW_AT_frame_base DW_FORM_data4
Dump of debug contents of section .debug_line:
Length: 65
DWARF Version: 2
Prologue Length: 44
Minimum Instruction Length: 1
Initial value of 'is_stmt': 1
Line Base: -5
Line Range: 14
Opcode Base: 13
Opcodes:
Opcode 1 has 0 args
Opcode 2 has 1 args
Opcode 3 has 1 args
Opcode 4 has 1 args
Opcode 5 has 1 args
Opcode 6 has 0 args
Opcode 7 has 0 args
Opcode 8 has 0 args
Opcode 9 has 1 args
Opcode 10 has 0 args
Opcode 11 has 0 args
Opcode 12 has 1 args
The Directory Table:
F:\gcd\2310gcd
The File Name Table:
Entry Dir Time Size Name
1 1 0 0 main.c
Line Number Statements:
Extended opcode 2: set Address to 0xa00011d8
Special opcode 6: advance Address by 0 to 0xa00011d8 and Line by 1 to 2
Special opcode 62: advance Address by 4 to 0xa00011dc and Line by 1 to 3
Special opcode 34: advance Address by 2 to 0xa00011de and Line by 1 to 4
Advance PC by 8 to 0xa00011e6
Extended opcode 1: End of Sequence
Length: 354
DWARF Version: 2
Prologue Length: 278
Minimum Instruction Length: 1
Initial value of 'is_stmt': 1
Line Base: -5
Line Range: 14
Opcode Base: 13
Opcodes:
Opcode 1 has 0 args
Opcode 2 has 1 args
Opcode 3 has 1 args
Opcode 4 has 1 args
Opcode 5 has 1 args
Opcode 6 has 0 args
Opcode 7 has 0 args
Opcode 8 has 0 args
Opcode 9 has 1 args
Opcode 10 has 0 args
Opcode 11 has 0 args
Opcode 12 has 1 args
The Directory Table:
F:\gcd\2310gcd
c:/progra~1/sunplus/s_21cc~1.0/gnu/bin/../lib/gcc/score-elf/4.2.0/../../../../score-elf/include/sys
c:/progra~1/sunplus/s_21cc~1.0/gnu/bin/../lib/gcc/score-elf/4.2.0/include
The File Name Table:
Entry Dir Time Size Name
1 1 0 0 libgloss.c
2 2 0 0 _types.h
3 3 0 0 stddef.h
4 2 0 0 types.h
5 2 0 0 reent.h
6 2 0 0 stat.h
Line Number Statements:
Extended opcode 2: set Address to 0xa00011e8
Advance Line by 12 to 13
Copy
Special opcode 174: advance Address by 12 to 0xa00011f4 and Line by 1 to 14
Special opcode 63: advance Address by 4 to 0xa00011f8 and Line by 2 to 16
Advance Line by 13 to 29
Special opcode 117: advance Address by 8 to 0xa0001200 and Line by 0 to 29
Special opcode 174: advance Address by 12 to 0xa000120c and Line by 1 to 30
Special opcode 62: advance Address by 4 to 0xa0001210 and Line by 1 to 31
Advance Line by 12 to 43
Special opcode 117: advance Address by 8 to 0xa0001218 and Line by 0 to 43
Special opcode 174: advance Address by 12 to 0xa0001224 and Line by 1 to 44
Special opcode 62: advance Address by 4 to 0xa0001228 and Line by 1 to 45
Advance Line by 10 to 55
Special opcode 117: advance Address by 8 to 0xa0001230 and Line by 0 to 55
Special opcode 118: advance Address by 8 to 0xa0001238 and Line by 1 to 56
Special opcode 62: advance Address by 4 to 0xa000123c and Line by 1 to 57
Advance Line by 11 to 68
Special opcode 117: advance Address by 8 to 0xa0001244 and Line by 0 to 68
Special opcode 90: advance Address by 6 to 0xa000124a and Line by 1 to 69
Advance Line by 12 to 81
Special opcode 89: advance Address by 6 to 0xa0001250 and Line by 0 to 81
Special opcode 118: advance Address by 8 to 0xa0001258 and Line by 1 to 82
Special opcode 34: advance Address by 2 to 0xa000125a and Line by 1 to 83
Advance Line by 13 to 96
Special opcode 145: advance Address by 10 to 0xa0001264 and Line by 0 to 96
Special opcode 174: advance Address by 12 to 0xa0001270 and Line by 1 to 97
Special opcode 62: advance Address by 4 to 0xa0001274 and Line by 1 to 98
Advance Line by 11 to 109
Special opcode 117: advance Address by 8 to 0xa000127c and Line by 0 to 109
Special opcode 174: advance Address by 12 to 0xa0001288 and Line by 1 to 110
Special opcode 62: advance Address by 4 to 0xa000128c and Line by 1 to 111
Advance Line by 9 to 120
Special opcode 117: advance Address by 8 to 0xa0001294 and Line by 0 to 120
Special opcode 175: advance Address by 12 to 0xa00012a0 and Line by 2 to 122
Advance PC by 46 to 0xa00012ce
Special opcode 7: advance Address by 0 to 0xa00012ce and Line by 2 to 124
Advance Line by 11 to 135
Special opcode 201: advance Address by 14 to 0xa00012dc and Line by 0 to 135
Special opcode 63: advance Address by 4 to 0xa00012e0 and Line by 2 to 137
Special opcode 35: advance Address by 2 to 0xa00012e2 and Line by 2 to 139
Advance Line by 14 to 153
Special opcode 145: advance Address by 10 to 0xa00012ec and Line by 0 to 153
Special opcode 203: advance Address by 14 to 0xa00012fa and Line by 2 to 155
Special opcode 148: advance Address by 10 to 0xa0001304 and Line by 3 to 158
Special opcode 118: advance Address by 8 to 0xa000130c and Line by 1 to 159
Special opcode 120: advance Address by 8 to 0xa0001314 and Line by 3 to 162
Advance PC by 14 to 0xa0001322
Extended opcode 1: End of Sequence
The section .debug_frame contains:
00000000 0000000c ffffffff CIE
Version: 1
Augmentation: ""
Code alignment factor: 1
Data alignment factor: -4
Return address column: 3
DW_CFA_def_cfa: r0 ofs 0
00000010 00000014 00000000 FDE cie=00000000 pc=a00011d8..a00011e6
DW_CFA_advance_loc: 2 to a00011da
DW_CFA_def_cfa_offset: 4
DW_CFA_offset: r2 at cfa-4
DW_CFA_advance_loc: 2 to a00011dc
DW_CFA_def_cfa_reg: r2
00000028 0000000c ffffffff CIE
Version: 1
Augmentation: ""
Code alignment factor: 1
Data alignment factor: -4
Return address column: 3
DW_CFA_def_cfa: r0 ofs 0
00000038 00000014 00000028 FDE cie=00000028 pc=a00011e8..a0001200
DW_CFA_advance_loc: 2 to a00011ea
DW_CFA_def_cfa_offset: 4
DW_CFA_offset: r2 at cfa-4
DW_CFA_advance_loc: 2 to a00011ec
DW_CFA_def_cfa_reg: r2
00000050 00000014 00000028 FDE cie=00000028 pc=a0001200..a0001218
DW_CFA_advance_loc: 2 to a0001202
DW_CFA_def_cfa_offset: 4
DW_CFA_offset: r2 at cfa-4
DW_CFA_advance_loc: 2 to a0001204
DW_CFA_def_cfa_reg: r2
00000068 00000014 00000028 FDE cie=00000028 pc=a0001218..a0001230
DW_CFA_advance_loc: 2 to a000121a
DW_CFA_def_cfa_offset: 4
DW_CFA_offset: r2 at cfa-4
DW_CFA_advance_loc: 2 to a000121c
DW_CFA_def_cfa_reg: r2
00000080 00000014 00000028 FDE cie=00000028 pc=a0001230..a0001244
DW_CFA_advance_loc: 2 to a0001232
DW_CFA_def_cfa_offset: 4
DW_CFA_offset: r2 at cfa-4
DW_CFA_advance_loc: 2 to a0001234
DW_CFA_def_cfa_reg: r2
00000098 00000014 00000028 FDE cie=00000028 pc=a0001244..a0001250
DW_CFA_advance_loc: 2 to a0001246
DW_CFA_def_cfa_offset: 4
DW_CFA_offset: r2 at cfa-4
DW_CFA_advance_loc: 2 to a0001248
DW_CFA_def_cfa_reg: r2
000000b0 00000014 00000028 FDE cie=00000028 pc=a0001250..a0001262
DW_CFA_advance_loc: 2 to a0001252
DW_CFA_def_cfa_offset: 4
DW_CFA_offset: r2 at cfa-4
DW_CFA_advance_loc: 2 to a0001254
DW_CFA_def_cfa_reg: r2
000000c8 00000014 00000028 FDE cie=00000028 pc=a0001264..a000127c
DW_CFA_advance_loc: 2 to a0001266
DW_CFA_def_cfa_offset: 4
DW_CFA_offset: r2 at cfa-4
DW_CFA_advance_loc: 2 to a0001268
DW_CFA_def_cfa_reg: r2
000000e0 00000014 00000028 FDE cie=00000028 pc=a000127c..a0001294
DW_CFA_advance_loc: 2 to a000127e
DW_CFA_def_cfa_offset: 4
DW_CFA_offset: r2 at cfa-4
DW_CFA_advance_loc: 2 to a0001280
DW_CFA_def_cfa_reg: r2
000000f8 00000018 00000028 FDE cie=00000028 pc=a0001294..a00012da
DW_CFA_advance_loc: 4 to a0001298
DW_CFA_def_cfa_offset: 4
DW_CFA_advance_loc: 4 to a000129c
DW_CFA_def_cfa_offset: 8
DW_CFA_offset: r2 at cfa-4
DW_CFA_advance_loc: 2 to a000129e
DW_CFA_def_cfa_reg: r2
DW_CFA_nop
00000114 00000014 00000028 FDE cie=00000028 pc=a00012dc..a00012ea
DW_CFA_advance_loc: 2 to a00012de
DW_CFA_def_cfa_offset: 4
DW_CFA_offset: r2 at cfa-4
DW_CFA_advance_loc: 2 to a00012e0
DW_CFA_def_cfa_reg: r2
0000012c 00000018 00000028 FDE cie=00000028 pc=a00012ec..a0001322
DW_CFA_advance_loc: 4 to a00012f0
DW_CFA_def_cfa_offset: 4
DW_CFA_advance_loc: 4 to a00012f4
DW_CFA_def_cfa_offset: 8
DW_CFA_offset: r2 at cfa-4
DW_CFA_advance_loc: 2 to a00012f6
DW_CFA_def_cfa_reg: r2
DW_CFA_nop
Contents of the .debug_str section:
0x00000000 6e627974 6573005f 6f6e5f65 7869745f nbytes._on_exit_
0x00000010 61726773 00 args.
Contents of the .debug_loc section:
Offset Begin End Expression
00000000 a00011d8 a00011da (DW_OP_reg0)
00000000 a00011da a00011dc (DW_OP_breg0: 4)
00000000 a00011dc a00011e6 (DW_OP_breg2: 4)
00000000 <End of list>
0000002b a00011e8 a00011ea (DW_OP_reg0)
0000002b a00011ea a00011ec (DW_OP_breg0: 4)
0000002b a00011ec a0001200 (DW_OP_breg2: 4)
0000002b <End of list>
00000056 a0001200 a0001202 (DW_OP_reg0)
00000056 a0001202 a0001204 (DW_OP_breg0: 4)
00000056 a0001204 a0001218 (DW_OP_breg2: 4)
00000056 <End of list>
00000081 a0001218 a000121a (DW_OP_reg0)
00000081 a000121a a000121c (DW_OP_breg0: 4)
00000081 a000121c a0001230 (DW_OP_breg2: 4)
00000081 <End of list>
000000ac a0001230 a0001232 (DW_OP_reg0)
000000ac a0001232 a0001234 (DW_OP_breg0: 4)
000000ac a0001234 a0001244 (DW_OP_breg2: 4)
000000ac <End of list>
000000d7 a0001244 a0001246 (DW_OP_reg0)
000000d7 a0001246 a0001248 (DW_OP_breg0: 4)
000000d7 a0001248 a0001250 (DW_OP_breg2: 4)
000000d7 <End of list>
00000102 a0001250 a0001252 (DW_OP_reg0)
00000102 a0001252 a0001254 (DW_OP_breg0: 4)
00000102 a0001254 a0001262 (DW_OP_breg2: 4)
00000102 <End of list>
0000012d a0001264 a0001266 (DW_OP_reg0)
0000012d a0001266 a0001268 (DW_OP_breg0: 4)
0000012d a0001268 a000127c (DW_OP_breg2: 4)
0000012d <End of list>
00000158 a000127c a000127e (DW_OP_reg0)
00000158 a000127e a0001280 (DW_OP_breg0: 4)
00000158 a0001280 a0001294 (DW_OP_breg2: 4)
00000158 <End of list>
00000183 a0001294 a0001298 (DW_OP_reg0)
00000183 a0001298 a000129c (DW_OP_breg0: 4)
00000183 a000129c a000129e (DW_OP_breg0: 8)
00000183 a000129e a00012da (DW_OP_breg2: 8)
00000183 <End of list>
000001ba a00012dc a00012de (DW_OP_reg0)
000001ba a00012de a00012e0 (DW_OP_breg0: 4)
000001ba a00012e0 a00012ea (DW_OP_breg2: 4)
000001ba <End of list>
000001e5 a00012ec a00012f0 (DW_OP_reg0)
000001e5 a00012f0 a00012f4 (DW_OP_breg0: 4)
000001e5 a00012f4 a00012f6 (DW_OP_breg0: 8)
000001e5 a00012f6 a0001322 (DW_OP_breg2: 8)
000001e5 <End of list>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Patch]: Path problems when setting breakpoints using mingw-build-gdb
2007-02-05 8:37 ` 秦巍
@ 2007-02-05 12:06 ` Daniel Jacobowitz
2007-02-06 4:24 ` Eli Zaretskii
0 siblings, 1 reply; 8+ messages in thread
From: Daniel Jacobowitz @ 2007-02-05 12:06 UTC (permalink / raw)
To: ????; +Cc: Eli Zaretskii, bjgnu, gdb-patches
On Mon, Feb 05, 2007 at 04:34:50PM +0800, ???? wrote:
> Secondly, "start_subfile" is called according to .debug_line's
> "Directory Table" and "File Name Table":
>
> gdb will use "SLASH_STRING" to combine full filenames, and create
> another subfile, we call it subfile2
> (gdb) p *subfile2
> $89 = {
> next = 0x8961f40,
> name = 0x89623a0 "F:\\gcd\\2310gcd/main.c",
> dirname = 0x89623c0 "F:\\\\gcd\\\\2310gcd",
> line_vector = 0x0,
> line_vector_length = 0,
> language = language_c,
> debugformat = 0x0
> }
>
> subfile1->name and subfile2->name are not equal.
Right. What I believe we need to do is use a different function to
compare filenames, one which allows \ and / to be treated as equal (on
all platforms). I don't know if it should also do case insensitive
comparison on all platforms, but it should certainly do so on Windows.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Patch]: Path problems when setting breakpoints using mingw-build-gdb
2007-02-05 12:06 ` Daniel Jacobowitz
@ 2007-02-06 4:24 ` Eli Zaretskii
2007-02-06 11:58 ` Daniel Jacobowitz
0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2007-02-06 4:24 UTC (permalink / raw)
To: Daniel Jacobowitz; +Cc: qinwei, bjgnu, gdb-patches
> Date: Mon, 5 Feb 2007 07:06:17 -0500
> From: Daniel Jacobowitz <drow@false.org>
> Cc: Eli Zaretskii <eliz@gnu.org>, bjgnu@sunnorth.com.cn,
> gdb-patches@sourceware.org
>
> What I believe we need to do is use a different function to
> compare filenames, one which allows \ and / to be treated as equal (on
> all platforms). I don't know if it should also do case insensitive
> comparison on all platforms, but it should certainly do so on Windows.
We already have FILENAME_CMP; perhaps all we need is to expand it on
Windows into a specially written (perhaps inline) function instead of
strcasecmp.
WDYT?
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Patch]: Path problems when setting breakpoints using mingw-build-gdb
2007-02-06 4:24 ` Eli Zaretskii
@ 2007-02-06 11:58 ` Daniel Jacobowitz
2007-02-07 18:12 ` Eli Zaretskii
0 siblings, 1 reply; 8+ messages in thread
From: Daniel Jacobowitz @ 2007-02-06 11:58 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: qinwei, bjgnu, gdb-patches
On Tue, Feb 06, 2007 at 06:24:34AM +0200, Eli Zaretskii wrote:
> > Date: Mon, 5 Feb 2007 07:06:17 -0500
> > From: Daniel Jacobowitz <drow@false.org>
> > Cc: Eli Zaretskii <eliz@gnu.org>, bjgnu@sunnorth.com.cn,
> > gdb-patches@sourceware.org
> >
> > What I believe we need to do is use a different function to
> > compare filenames, one which allows \ and / to be treated as equal (on
> > all platforms). I don't know if it should also do case insensitive
> > comparison on all platforms, but it should certainly do so on Windows.
>
> We already have FILENAME_CMP; perhaps all we need is to expand it on
> Windows into a specially written (perhaps inline) function instead of
> strcasecmp.
>
> WDYT?
On all platforms, please, not just on Windows. I regularly use Linux
debuggers with files compiled on Windows, that contain backslashes - I
would love to make that work better.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Patch]: Path problems when setting breakpoints using mingw-build-gdb
2007-02-06 11:58 ` Daniel Jacobowitz
@ 2007-02-07 18:12 ` Eli Zaretskii
2007-02-07 18:37 ` Daniel Jacobowitz
0 siblings, 1 reply; 8+ messages in thread
From: Eli Zaretskii @ 2007-02-07 18:12 UTC (permalink / raw)
To: Daniel Jacobowitz; +Cc: qinwei, bjgnu, gdb-patches
> Date: Tue, 6 Feb 2007 06:57:57 -0500
> From: Daniel Jacobowitz <drow@false.org>
> Cc: qinwei@sunnorth.com.cn, bjgnu@sunnorth.com.cn,
> gdb-patches@sourceware.org
>
> > We already have FILENAME_CMP; perhaps all we need is to expand it on
> > Windows into a specially written (perhaps inline) function instead of
> > strcasecmp.
> >
> > WDYT?
>
> On all platforms, please, not just on Windows.
I think this would be dangerous, and probably shouldn't be the
default.
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Patch]: Path problems when setting breakpoints using mingw-build-gdb
2007-02-07 18:12 ` Eli Zaretskii
@ 2007-02-07 18:37 ` Daniel Jacobowitz
0 siblings, 0 replies; 8+ messages in thread
From: Daniel Jacobowitz @ 2007-02-07 18:37 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: qinwei, bjgnu, gdb-patches
On Wed, Feb 07, 2007 at 08:11:51PM +0200, Eli Zaretskii wrote:
> > Date: Tue, 6 Feb 2007 06:57:57 -0500
> > From: Daniel Jacobowitz <drow@false.org>
> > Cc: qinwei@sunnorth.com.cn, bjgnu@sunnorth.com.cn,
> > gdb-patches@sourceware.org
> >
> > > We already have FILENAME_CMP; perhaps all we need is to expand it on
> > > Windows into a specially written (perhaps inline) function instead of
> > > strcasecmp.
> > >
> > > WDYT?
> >
> > On all platforms, please, not just on Windows.
>
> I think this would be dangerous, and probably shouldn't be the
> default.
Yes, an extra knob here would be reasonable indeed.
--
Daniel Jacobowitz
CodeSourcery
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2007-02-07 18:37 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-02-03 2:33 [Patch]: Path problems when setting breakpoints using mingw-build-gdb 秦巍
2007-02-03 11:26 ` Eli Zaretskii
2007-02-05 8:37 ` 秦巍
2007-02-05 12:06 ` Daniel Jacobowitz
2007-02-06 4:24 ` Eli Zaretskii
2007-02-06 11:58 ` Daniel Jacobowitz
2007-02-07 18:12 ` Eli Zaretskii
2007-02-07 18:37 ` Daniel Jacobowitz
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox