From f85ad1e52a499bc98ae9d559157e8adbe8a5ad1f Mon Sep 17 00:00:00 2001 From: Bradey Honsinger Date: Mon, 15 Mar 2010 08:43:41 +0100 Subject: image loading: fix problem with offsets > 0x80000000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes bug that prevented users from specifying a base address of 0x80000000 or higher in image commands (flash write_image, etm image, xscale trace_image). image.base_address is an offset from the start address contained in the image file (if there is one), or from 0 (for binary files). As a signed 32-bit int, it couldn't be greater than 0x7fffffff, which is a problem when trying to write a binary file to flash above that address. Changing it to a 64-bit long long keeps it as a signed offset, but allows it to cover the entire 32-bit address space. Signed-off-by: Øyvind Harboe --- src/target/image.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/target/image.h') diff --git a/src/target/image.h b/src/target/image.h index e963b3c1..b096031b 100644 --- a/src/target/image.h +++ b/src/target/image.h @@ -62,7 +62,7 @@ struct image int num_sections; /* number of sections contained in the image */ struct imageection *sections; /* array of sections */ int base_address_set; /* whether the image has a base address set (for relocation purposes) */ - int base_address; /* base address, if one is set */ + long long base_address; /* base address, if one is set */ int start_address_set; /* whether the image has a start address (entry point) associated */ uint32_t start_address; /* start address, if one is set */ }; -- cgit v1.2.3