fixed incorrect elf segment size - Thanks Øyvind Harboe

git-svn-id: svn://svn.berlios.de/openocd/trunk@277 b42882b7-edfa-0310-969c-e2dbd0fdcd60
This commit is contained in:
ntfreak 2008-01-25 18:09:21 +00:00
parent 080b2e3f2f
commit 8d6292d9a0
2 changed files with 4 additions and 3 deletions

View File

@ -411,7 +411,7 @@ int image_elf_read_headers(image_t *image)
{ {
if ((field32(elf, elf->segments[i].p_type) == PT_LOAD) && (field32(elf, elf->segments[i].p_filesz) != 0)) if ((field32(elf, elf->segments[i].p_type) == PT_LOAD) && (field32(elf, elf->segments[i].p_filesz) != 0))
{ {
image->sections[j].size = field32(elf, elf->segments[i].p_memsz); image->sections[j].size = field32(elf, elf->segments[i].p_filesz);
image->sections[j].base_address = field32(elf, elf->segments[i].p_paddr); image->sections[j].base_address = field32(elf, elf->segments[i].p_paddr);
image->sections[j].private = &elf->segments[i]; image->sections[j].private = &elf->segments[i];
image->sections[j].flags = field32(elf, elf->segments[i].p_flags); image->sections[j].flags = field32(elf, elf->segments[i].p_flags);
@ -1027,3 +1027,4 @@ int image_calculate_checksum(u8* buffer, u32 nbytes, u32* checksum)
} }

View File

@ -781,7 +781,7 @@ int target_checksum_memory(struct target_s *target, u32 address, u32 size, u32*
size, &checksum)) == ERROR_TARGET_RESOURCE_NOT_AVAILABLE) size, &checksum)) == ERROR_TARGET_RESOURCE_NOT_AVAILABLE)
{ {
buffer = malloc(size); buffer = malloc(size);
if (buffer==NULL) if (buffer == NULL)
{ {
ERROR("error allocating buffer for section (%d bytes)", size); ERROR("error allocating buffer for section (%d bytes)", size);
return ERROR_OK; return ERROR_OK;
@ -1925,7 +1925,7 @@ int handle_verify_image_command(struct command_context_s *cmd_ctx, char *cmd, ch
for (i = 0; i < image.num_sections; i++) for (i = 0; i < image.num_sections; i++)
{ {
buffer = malloc(image.sections[i].size); buffer = malloc(image.sections[i].size);
if (buffer==NULL) if (buffer == NULL)
{ {
command_print(cmd_ctx, "error allocating buffer for section (%d bytes)", image.sections[i].size); command_print(cmd_ctx, "error allocating buffer for section (%d bytes)", image.sections[i].size);
break; break;