From 8dde85fcdfc555cad4db560cf5fed033ae5b3ebb Mon Sep 17 00:00:00 2001 From: Nick Clifton Date: Tue, 21 Jan 2003 15:41:10 +0000 Subject: (display_debug_loc): Skip address base changes. --- binutils/ChangeLog | 4 ++++ binutils/readelf.c | 17 ++++++++++------- 2 files changed, 14 insertions(+), 7 deletions(-) (limited to 'binutils') diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 03b50e2..f4c03c5 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,7 @@ +2003-01-21 Daniel Berlin + + * readelf.c (display_debug_loc): Skip address base changes. + 2003-01-17 Fabio Alemagna * readelf.c (get_osabi_name): Handle ELFOSABI_AROS, ELFOSABI_OPENVMS diff --git a/binutils/readelf.c b/binutils/readelf.c index dcc2ec2..ef36de0 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -7628,13 +7628,12 @@ display_debug_loc (section, start, file) while (1) { - /* Normally, the lists in the debug_loc section are related to a - given compilation unit, and thus, we would use the - pointer size of that compilation unit. However, since we are - displaying it seperately here, we either have to store - pointer sizes of all compilation units, or assume they don't - change. We assume, like the debug_line display, that - it doesn't change. */ + /* Normally, the lists in the debug_loc section are related to a + given compilation unit, and thus, we would use the pointer size + of that compilation unit. However, since we are displaying it + seperately here, we either have to store pointer sizes of all + compilation units, or assume they don't change. We assume, + like the debug_line display, that it doesn't change. */ begin = byte_get (start, debug_line_pointer_size); start += debug_line_pointer_size; end = byte_get (start, debug_line_pointer_size); @@ -7643,6 +7642,10 @@ display_debug_loc (section, start, file) if (begin == 0 && end == 0) break; + /* For now, skip any base address specifiers. */ + if (begin == 0xffffffff) + continue; + begin += addr; end += addr; -- cgit v1.1