diff --git a/libgcc/unwind-dw2-fde-dip.c b/libgcc/unwind-dw2-fde-dip.c
index 4e0b880513f3e57a76f1422fb89fc78a5d9fd370..28ea0e64e0e8d8c1faf52194a78cfc98398eceb8 100644
--- a/libgcc/unwind-dw2-fde-dip.c
+++ b/libgcc/unwind-dw2-fde-dip.c
@@ -403,7 +403,7 @@ find_fde_tail (_Unwind_Ptr pc,
 	 BFD ld generates.  */
       signed value __attribute__ ((mode (SI)));
       memcpy (&value, p, sizeof (value));
-      eh_frame = p + value;
+      eh_frame = (_Unwind_Ptr) (p + value);
       p += sizeof (value);
     }
   else