diff options
author | Dominik Vogt <vogt@linux.vnet.ibm.com> | 2015-11-09 17:12:56 +0100 |
---|---|---|
committer | Andreas Krebbel <krebbel@linux.vnet.ibm.com> | 2015-11-09 17:12:56 +0100 |
commit | c4e0beacd71d4a65cfbe27466ae3d0403c39ead5 (patch) | |
tree | 09710f91615986de4df254d6132d3d7d986e3fa2 | |
parent | 29f628db8835fd86b85ffb40d4a9ed5b1c28f1e6 (diff) | |
download | gdb-c4e0beacd71d4a65cfbe27466ae3d0403c39ead5.zip gdb-c4e0beacd71d4a65cfbe27466ae3d0403c39ead5.tar.gz gdb-c4e0beacd71d4a65cfbe27466ae3d0403c39ead5.tar.bz2 |
binutils: Fix left shift of negative value.
This patch fixes all occurences of left-shifting negative constants in C code
which is undefined by the C standard.
binutils/ChangeLog:
* dwarf.c (read_leb128): Fix left shift of negative value.
-rw-r--r-- | binutils/ChangeLog | 4 | ||||
-rw-r--r-- | binutils/dwarf.c | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/binutils/ChangeLog b/binutils/ChangeLog index 8779082..bcbad22 100644 --- a/binutils/ChangeLog +++ b/binutils/ChangeLog @@ -1,3 +1,7 @@ +2015-11-09 Dominik Vogt <vogt@linux.vnet.ibm.com> + + * dwarf.c (read_leb128): Fix left shift of negative value. + 2015-11-03 Alan Modra <amodra@gmail.com> * readelf (process_version_sections): Check DT_VERNEED and diff --git a/binutils/dwarf.c b/binutils/dwarf.c index c14049a..9f1baea 100644 --- a/binutils/dwarf.c +++ b/binutils/dwarf.c @@ -292,7 +292,7 @@ read_leb128 (unsigned char *data, *length_return = num_read; if (sign && (shift < 8 * sizeof (result)) && (byte & 0x40)) - result |= (dwarf_vma) -1 << shift; + result |= -((dwarf_vma) 1 << shift); return result; } |