diff options
author | Ian Lance Taylor <ian@airs.com> | 2008-05-28 20:48:16 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 2008-05-28 20:48:16 +0000 |
commit | 62b01cb5034c3694d07c60158529f18cb301bb5c (patch) | |
tree | 22682d726ba0094de43e3b3eb47306a3e08f5e93 /elfcpp/dwarf.h | |
parent | 1a51c1a48dafc996d6c199832cb75b46779d33ae (diff) | |
download | gdb-62b01cb5034c3694d07c60158529f18cb301bb5c.zip gdb-62b01cb5034c3694d07c60158529f18cb301bb5c.tar.gz gdb-62b01cb5034c3694d07c60158529f18cb301bb5c.tar.bz2 |
elfcpp/:
* dwarf.h (enum DW_FORM): Define.
gold/:
* reduced_debug_output.cc: New file.
* reduced_debug_output.h: New file.
* options.h (class General_optoins): Add --strip-debug-non-line.
* options.cc (General_options::finalize): Add strip_debug_non_line
to the strip heirarchy.
* layout.h (class Layout): Add debug_abbrev_ and debug_info_
fields.
* layout.cc: Include "reduced_debug_output.h".
(Layout::Layout): Initialize new fields.
(line_only_debug_sections): New static array.
(is_lines_only_debug_sections): New static inline function.
(Layout::include_section): Handle --strip-debug-non-line.
(Layout::make_output_section): If --strip-debug-non-line, build
new output sections for .debug_abbrev and .debug_info.
* dwarf_reader.cc (read_unsigned_LEB_128): Move to namespace
gold. Warn about possible overflow.
(read_signed_LEB_128): Likewise.
* dwarf_reader.h: (read_unsigned_LEB_128): Declare.
(read_signed_LEB_128): Declare.
* Makefile.am (CCFILES): Add reduced_debug_output.cc.
(HFILES): Add reduced_debug_output.h.
* Makefile.in: Rebuild.
Diffstat (limited to 'elfcpp/dwarf.h')
-rw-r--r-- | elfcpp/dwarf.h | 30 |
1 files changed, 28 insertions, 2 deletions
diff --git a/elfcpp/dwarf.h b/elfcpp/dwarf.h index b60bdbd..c6ff402 100644 --- a/elfcpp/dwarf.h +++ b/elfcpp/dwarf.h @@ -4,7 +4,7 @@ // Written by Ian Lance Taylor <iant@google.com>. // This file is part of elfcpp. - + // This program is free software; you can redistribute it and/or // modify it under the terms of the GNU Library General Public License // as published by the Free Software Foundation; either version 2, or @@ -124,6 +124,32 @@ enum DW_TAG DW_TAG_PGI_interface_block = 0xA020 }; +enum DW_FORM +{ + DW_FORM_null = 0x00, + DW_FORM_addr = 0x01, + DW_FORM_block2 = 0x03, + DW_FORM_block4 = 0x04, + DW_FORM_data2 = 0x05, + DW_FORM_data4 = 0x06, + DW_FORM_data8 = 0x07, + DW_FORM_string = 0x08, + DW_FORM_block = 0x09, + DW_FORM_block1 = 0x0a, + DW_FORM_data1 = 0x0b, + DW_FORM_flag = 0x0c, + DW_FORM_sdata = 0x0d, + DW_FORM_strp = 0x0e, + DW_FORM_udata = 0x0f, + DW_FORM_ref_addr = 0x10, + DW_FORM_ref1 = 0x11, + DW_FORM_ref2 = 0x12, + DW_FORM_ref4 = 0x13, + DW_FORM_ref8 = 0x14, + DW_FORM_ref_udata = 0x15, + DW_FORM_indirect = 0x16 +}; + // Frame unwind information. enum DW_EH_PE @@ -372,7 +398,7 @@ enum DW_OP DW_OP_call_frame_cfa =0x9c, DW_OP_bit_piece =0x9d, DW_OP_lo_user =0xe0, - DW_OP_hi_user =0xff, + DW_OP_hi_user =0xff, // GNU extensions DW_OP_GNU_push_tls_address =0xe0 }; |