diff options
author | Nick Clifton <nickc@redhat.com> | 2004-05-13 14:41:18 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2004-05-13 14:41:18 +0000 |
commit | 0da76f83eb29135ae1bd52ba5962721fb1d0c6fc (patch) | |
tree | 216775d9b34d02cfc91fa714163ab9703a49577f /binutils | |
parent | 4b363073298671c9a2a096d2ba70dd7586315c4c (diff) | |
download | gdb-0da76f83eb29135ae1bd52ba5962721fb1d0c6fc.zip gdb-0da76f83eb29135ae1bd52ba5962721fb1d0c6fc.tar.gz gdb-0da76f83eb29135ae1bd52ba5962721fb1d0c6fc.tar.bz2 |
Handle dwarf3 format CIE entries.
Diffstat (limited to 'binutils')
-rw-r--r-- | binutils/ChangeLog | 5 | ||||
-rw-r--r-- | binutils/readelf.c | 29 |
2 files changed, 30 insertions, 4 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 0dec4fe..0cbdf4b 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,8 @@ +2004-05-13 Paul Brook <paul@codesourcery.com> + + * readelf.c (display_debug_frames): Handle dwarf3 format CIE + entries. + 2004-05-13 Nick Clifton <nickc@redhat.com> * po/fr.po: Updated French translation. diff --git a/binutils/readelf.c b/binutils/readelf.c index 1c4e57d..569c7f2 100644 --- a/binutils/readelf.c +++ b/binutils/readelf.c @@ -1,5 +1,5 @@ /* readelf.c -- display contents of an ELF format file - Copyright 1998, 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright 1998, 1999, 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc. Originally developed by Eric Youngdale <eric@andante.jic.com> Modifications by Nick Clifton <nickc@redhat.com> @@ -8968,7 +8968,14 @@ display_debug_frames (Elf_Internal_Shdr *section, { fc->code_factor = LEB (); fc->data_factor = SLEB (); - fc->ra = byte_get (start, 1); start += 1; + if (version == 1) + { + fc->ra = GET (1); + } + else + { + fc->ra = LEB (); + } augmentation_data_len = LEB (); augmentation_data = start; start += augmentation_data_len; @@ -8978,13 +8985,27 @@ display_debug_frames (Elf_Internal_Shdr *section, start += addr_size; fc->code_factor = LEB (); fc->data_factor = SLEB (); - fc->ra = byte_get (start, 1); start += 1; + if (version == 1) + { + fc->ra = GET (1); + } + else + { + fc->ra = LEB (); + } } else { fc->code_factor = LEB (); fc->data_factor = SLEB (); - fc->ra = byte_get (start, 1); start += 1; + if (version == 1) + { + fc->ra = GET (1); + } + else + { + fc->ra = LEB (); + } } cie = fc; |