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 /gold/options.cc | |
parent | 1a51c1a48dafc996d6c199832cb75b46779d33ae (diff) | |
download | fsf-binutils-gdb-62b01cb5034c3694d07c60158529f18cb301bb5c.zip fsf-binutils-gdb-62b01cb5034c3694d07c60158529f18cb301bb5c.tar.gz fsf-binutils-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 'gold/options.cc')
-rw-r--r-- | gold/options.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gold/options.cc b/gold/options.cc index da30a6d..03686e0 100644 --- a/gold/options.cc +++ b/gold/options.cc @@ -640,11 +640,13 @@ void General_options::finalize() { // Normalize the strip modifiers. They have a total order: - // strip_all > strip_debug > strip_debug_gdb. If one is true, set - // all beneath it to true as well. + // strip_all > strip_debug > strip_non_line > strip_debug_gdb. + // If one is true, set all beneath it to true as well. if (this->strip_all()) this->set_strip_debug(true); if (this->strip_debug()) + this->set_strip_debug_non_line(true); + if (this->strip_debug_non_line()) this->set_strip_debug_gdb(true); // If the user specifies both -s and -r, convert the -s to -S. |