Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [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