From 3f215a10930f7d2cd7dc76f6a0b51bd405ae1a7d Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Thu, 17 Aug 2000 23:00:38 +0000 Subject: [PATCH] Catch and warn about attempts to display debug information for version 1 aranges. --- binutils/ChangeLog | 6 ++++++ binutils/readelf.c | 15 ++++++++++++++- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/binutils/ChangeLog b/binutils/ChangeLog index f257f8d..998851a 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,9 @@ +2000-08-17 Nick Clifton + + * readelf.c (display_debug_pubnames): Only issue warning + message once. Terminate message with a new line. + (display_debug_aranges): Only display version 2 debug info. + 2000-08-14 Todd Vierling * objcopy.c (strip_main): Silently accept -d as an alias for -g diff --git a/binutils/readelf.c b/binutils/readelf.c index c211d1e..4bb4cbd 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -5225,7 +5225,14 @@ display_debug_pubnames (section, start, file) if (pubnames.pn_version != 2) { - warn (_("Only DWARF 2 pubnames are currently supported")); + static int warned = 0; + + if (! warned) + { + warn (_("Only DWARF 2 pubnames are currently supported\n")); + warned = 1; + } + continue; } @@ -6397,6 +6404,12 @@ display_debug_aranges (section, start, file) arange.ar_pointer_size = BYTE_GET (external->ar_pointer_size); arange.ar_segment_size = BYTE_GET (external->ar_segment_size); + if (arange.ar_version != 2) + { + warn (_("Only DWARF 2 aranges are currently supported.\n")); + break; + } + printf (_(" Length: %ld\n"), arange.ar_length); printf (_(" Version: %d\n"), arange.ar_version); printf (_(" Offset into .debug_info: %lx\n"), arange.ar_info_offset); -- 2.7.4