summaryrefslogtreecommitdiffstats
path: root/binutils/readelf.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2003-01-21 15:41:10 +0000
committerNick Clifton <nickc@redhat.com>2003-01-21 15:41:10 +0000
commit8dde85fcdfc555cad4db560cf5fed033ae5b3ebb (patch)
tree16632e796ff411570822886cda9b39f8a5bbe157 /binutils/readelf.c
parent7fce784e9a2c17aa56a1ff5edd8214487154c044 (diff)
downloadppe42-binutils-8dde85fcdfc555cad4db560cf5fed033ae5b3ebb.tar.gz
ppe42-binutils-8dde85fcdfc555cad4db560cf5fed033ae5b3ebb.zip
(display_debug_loc): Skip address base changes.
Diffstat (limited to 'binutils/readelf.c')
-rw-r--r--binutils/readelf.c17
1 files changed, 10 insertions, 7 deletions
diff --git a/binutils/readelf.c b/binutils/readelf.c
index dcc2ec2cd6..ef36de0058 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;
OpenPOWER on IntegriCloud