Use wrapping_add when computing TockOS app start address so we don't panic in debug builds.

Change-Id: Ic79f58efeec51b56fb53f232a90f302d52de35d1
diff --git a/core/src/entry_point/mod.rs b/core/src/entry_point/mod.rs
index 850c213..0df0072 100644
--- a/core/src/entry_point/mod.rs
+++ b/core/src/entry_point/mod.rs
@@ -95,7 +95,9 @@
     // script -- should be immediately above the stack).
     let layout_header: &LayoutHeader = core::mem::transmute(app_start);
 
-    let data_flash_start_addr = app_start + layout_header.data_sym_start;
+    // The data_sym_start value can be a negative offset, hence the need for
+    // the wrapping add.
+    let data_flash_start_addr = app_start.wrapping_add(layout_header.data_sym_start);
 
     ptr::copy_nonoverlapping(
         data_flash_start_addr as *const u8,