aboutsummaryrefslogtreecommitdiff
path: root/gold/options.cc
diff options
context:
space:
mode:
authorIan Lance Taylor <ian@airs.com>2008-05-28 20:48:16 +0000
committerIan Lance Taylor <ian@airs.com>2008-05-28 20:48:16 +0000
commit62b01cb5034c3694d07c60158529f18cb301bb5c (patch)
tree22682d726ba0094de43e3b3eb47306a3e08f5e93 /gold/options.cc
parent1a51c1a48dafc996d6c199832cb75b46779d33ae (diff)
downloadfsf-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.cc6
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.