* aarch64.c (aarch64_find_call): Promote to bfd_vma before sign
authorAlan Modra <amodra@gmail.com>
Fri, 24 May 2013 00:28:06 +0000 (00:28 +0000)
committerAlan Modra <amodra@gmail.com>
Fri, 24 May 2013 00:28:06 +0000 (00:28 +0000)
extending.

gprof/ChangeLog
gprof/aarch64.c

index aa4c966fdafa4f861dd703d47fe4034a26d1a2a4..d8556672c00e5e5570deca8ed6309ea181f81b4a 100644 (file)
@@ -1,3 +1,8 @@
+2013-05-24  Alan Modra  <amodra@gmail.com>
+
+       * aarch64.c (aarch64_find_call): Promote to bfd_vma before sign
+       extending.
+
 2013-05-22  Venkataramanan Kumar  <Venkataramanan.kumar@linaro.org>
 
        * aarch64.c: New file.
index 4187d97a912ec0a0a8d16fc4ca3dae207b234d74..68febf9372341f77b4f57301b4fd90f248ad21a5 100644 (file)
@@ -68,7 +68,7 @@ aarch64_find_call (Sym *parent, bfd_vma p_lowpc, bfd_vma p_highpc)
 
          /* Regular pc relative addressing check that this is the
             address of a function.  */
-         offset = (((insn & 0x3ffffff) ^ 0x2000000) - 0x2000000) << 2;
+         offset = ((((bfd_vma) insn & 0x3ffffff) ^ 0x2000000) - 0x2000000) << 2;
 
          dest_pc = pc + offset;