diff options
author | Daniel Jacobowitz <drow@false.org> | 2005-08-01 04:06:27 +0000 |
---|---|---|
committer | Daniel Jacobowitz <drow@false.org> | 2005-08-01 04:06:27 +0000 |
commit | 77e0b926c11f74a3f7d4029dcdde8e5e722f0cae (patch) | |
tree | 2ac46260c5832bb5b252f1f236201271c2bde83f /gdb/dwarf2-frame.c | |
parent | 3ffbc0a50081df3ef17811030bad04db8c9bac98 (diff) | |
download | gdb-77e0b926c11f74a3f7d4029dcdde8e5e722f0cae.zip gdb-77e0b926c11f74a3f7d4029dcdde8e5e722f0cae.tar.gz gdb-77e0b926c11f74a3f7d4029dcdde8e5e722f0cae.tar.bz2 |
* dwarf2-frame.c (read_signed_leb128): Handle values that do not
fit in 32 bits.
* dwarf2read.c (read_signed_leb128): Likewise.
Diffstat (limited to 'gdb/dwarf2-frame.c')
-rw-r--r-- | gdb/dwarf2-frame.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/gdb/dwarf2-frame.c b/gdb/dwarf2-frame.c index 945d216..ef0d626 100644 --- a/gdb/dwarf2-frame.c +++ b/gdb/dwarf2-frame.c @@ -1105,8 +1105,8 @@ read_signed_leb128 (bfd *abfd, gdb_byte *buf, unsigned int *bytes_read_ptr) } while (byte & 0x80); - if ((shift < 32) && (byte & 0x40)) - result |= -(1 << shift); + if (shift < 8 * sizeof (result) && (byte & 0x40)) + result |= -(((LONGEST)1) << shift); *bytes_read_ptr = num_read; |