aboutsummaryrefslogtreecommitdiff
path: root/src/target/image.c
diff options
context:
space:
mode:
authorJan Matyas <matyas@codasip.com>2022-04-12 13:33:51 +0200
committerAntonio Borneo <borneo.antonio@gmail.com>2022-04-23 09:26:15 +0000
commita213397323585188ad2622de7eb9d5fcddee7a02 (patch)
tree4951eaf597214ae22df09a37b2348de13e49fccb /src/target/image.c
parent5ebb1bdea1dfff9cce430bd17d08e340eea38e03 (diff)
downloadriscv-openocd-a213397323585188ad2622de7eb9d5fcddee7a02.zip
riscv-openocd-a213397323585188ad2622de7eb9d5fcddee7a02.tar.gz
riscv-openocd-a213397323585188ad2622de7eb9d5fcddee7a02.tar.bz2
target/image: fix - p_flags field in ELF64 segment headers is 64 bits wide
Fixed the reading of p_flags in ELF64 segment headers - that field is 64 bits wide. Change-Id: I053ca57d36efb54b7c638484acd6c7a2fbcbd05a Signed-off-by: Jan Matyas <matyas@codasip.com> Reviewed-on: https://review.openocd.org/c/openocd/+/6927 Tested-by: jenkins Reviewed-by: Antonio Borneo <borneo.antonio@gmail.com>
Diffstat (limited to 'src/target/image.c')
-rw-r--r--src/target/image.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/target/image.c b/src/target/image.c
index eafa73e..130ea6c 100644
--- a/src/target/image.c
+++ b/src/target/image.c
@@ -596,7 +596,7 @@ static int image_elf64_read_headers(struct image *image)
image->sections[j].base_address = field64(elf,
elf->segments64[i].p_paddr);
image->sections[j].private = &elf->segments64[i];
- image->sections[j].flags = field32(elf, elf->segments64[i].p_flags);
+ image->sections[j].flags = field64(elf, elf->segments64[i].p_flags);
j++;
}
}
@@ -1168,7 +1168,7 @@ int image_read_section(struct image *image,
return ERROR_OK;
}
-int image_add_section(struct image *image, target_addr_t base, uint32_t size, int flags, uint8_t const *data)
+int image_add_section(struct image *image, target_addr_t base, uint32_t size, uint64_t flags, uint8_t const *data)
{
struct imagesection *section;