public inbox for binutils@sourceware.org
 help / color / mirror / Atom feed
From: John Baldwin <jhb@FreeBSD.org>
To: gdb-patches@sourceware.org,	binutils@sourceware.org
Subject: [PATCH 8/8] Use unsigned integer constant with left shifts.
Date: Sat, 11 Jun 2016 20:49:00 -0000	[thread overview]
Message-ID: <1465678115-58170-9-git-send-email-jhb@FreeBSD.org> (raw)
In-Reply-To: <1465678115-58170-1-git-send-email-jhb@FreeBSD.org>

This avoids undefined behavior.

gdb/ChangeLog:

	* ada-lang.c (ada_unpack_from_contents): Use unsigned constants with
	left shifts.
---
 gdb/ChangeLog  | 5 +++++
 gdb/ada-lang.c | 4 ++--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 4c4389d..1077e2f 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
 2016-06-11  John Baldwin  <jhb@FreeBSD.org>
 
+	* ada-lang.c (ada_unpack_from_contents): Use unsigned constants with
+	left shifts.
+
+2016-06-11  John Baldwin  <jhb@FreeBSD.org>
+
 	* v850-tdep.c (v850_use_struct_convention): Trim type length checks.
 
 2016-06-11  John Baldwin  <jhb@FreeBSD.org>
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index 412aa97..0e951a4 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -2486,7 +2486,7 @@ ada_unpack_from_contents (const gdb_byte *src, int bit_offset, int bit_size,
       accumSize += HOST_CHAR_BIT - unusedLS;
       if (accumSize >= HOST_CHAR_BIT)
         {
-          unpacked[unpacked_idx] = accum & ~(~0L << HOST_CHAR_BIT);
+          unpacked[unpacked_idx] = accum & ~(~0UL << HOST_CHAR_BIT);
           accumSize -= HOST_CHAR_BIT;
           accum >>= HOST_CHAR_BIT;
           unpacked_bytes_left -= 1;
@@ -2500,7 +2500,7 @@ ada_unpack_from_contents (const gdb_byte *src, int bit_offset, int bit_size,
   while (unpacked_bytes_left > 0)
     {
       accum |= sign << accumSize;
-      unpacked[unpacked_idx] = accum & ~(~0L << HOST_CHAR_BIT);
+      unpacked[unpacked_idx] = accum & ~(~0UL << HOST_CHAR_BIT);
       accumSize -= HOST_CHAR_BIT;
       if (accumSize < 0)
 	accumSize = 0;
-- 
2.7.0

  parent reply	other threads:[~2016-06-11 20:49 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-11 20:49 [PATCH 0/8] Fix various warnings from clang 3.8.0 John Baldwin
2016-06-11 20:49 ` [PATCH 5/8] Detect a frameless frame by comparing the FP register to -1 John Baldwin
2016-06-13 11:22   ` Yao Qi
2016-06-14 19:08     ` John Baldwin
2016-06-15  8:44       ` Yao Qi
2016-06-11 20:49 ` John Baldwin [this message]
2016-06-11 20:49 ` [PATCH 1/8] Use correct enum type for do_elf_stt_common John Baldwin
2016-06-13  1:48   ` Alan Modra
2016-06-11 20:49 ` [PATCH 2/8] Change the size field of MSP430_Opcode_Decoded to a plain integer John Baldwin
2016-06-13  1:48   ` Alan Modra
2016-06-11 20:49 ` [PATCH 7/8] Remove unneeded checks on type lengths John Baldwin
2016-06-13 10:47   ` Yao Qi
2016-06-11 20:49 ` [PATCH 3/8] Initialize 'ra' to zero to avoid uninitialized use John Baldwin
2016-06-13 11:04   ` Yao Qi
2016-06-11 20:56 ` [PATCH 6/8] Pass a NULL pointer as the last argument to find_pc_partial_function John Baldwin
2016-06-13 10:49   ` Yao Qi
2016-06-11 20:56 ` [PATCH 4/8] Remove check for negative size John Baldwin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1465678115-58170-9-git-send-email-jhb@FreeBSD.org \
    --to=jhb@freebsd.org \
    --cc=binutils@sourceware.org \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).