[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 63/65] include/hw/elf: Remove truncating signed casts
|
From: |
Richard Henderson |
|
Subject: |
[PATCH v2 63/65] include/hw/elf: Remove truncating signed casts |
|
Date: |
Fri, 20 Oct 2023 13:43:29 -0700 |
There's nothing about elf that specifically requires signed vs unsigned.
This is very much a target-specific preference.
In the meantime, casting low and high from uint64_t back to Elf_SWord
to uint64_t discards high bits that might have been set by translate_fn.
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
include/hw/elf_ops.h | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/include/hw/elf_ops.h b/include/hw/elf_ops.h
index dffb0e73d2..0a5c258fe6 100644
--- a/include/hw/elf_ops.h
+++ b/include/hw/elf_ops.h
@@ -385,10 +385,11 @@ static ssize_t glue(load_elf, SZ)(const char *name, int
fd,
}
if (pflags) {
- *pflags = (elf_word)ehdr.e_flags;
+ *pflags = ehdr.e_flags;
+ }
+ if (pentry) {
+ *pentry = ehdr.e_entry;
}
- if (pentry)
- *pentry = (uint64_t)(elf_sword)ehdr.e_entry;
glue(load_symbols, SZ)(&ehdr, fd, must_swab, clear_lsb, sym_cb);
@@ -610,10 +611,12 @@ static ssize_t glue(load_elf, SZ)(const char *name, int
fd,
}
}
- if (lowaddr)
- *lowaddr = (uint64_t)(elf_sword)low;
- if (highaddr)
- *highaddr = (uint64_t)(elf_sword)high;
+ if (lowaddr) {
+ *lowaddr = low;
+ }
+ if (highaddr) {
+ *highaddr = high;
+ }
ret = total_size;
fail:
if (mapped_file) {
--
2.34.1
- [PATCH v2 57/65] target/hppa: Implement MIXH, MIXW, (continued)
- [PATCH v2 57/65] target/hppa: Implement MIXH, MIXW, Richard Henderson, 2023/10/20
- [PATCH v2 58/65] target/hppa: Implement PERMH, Richard Henderson, 2023/10/20
- [PATCH v2 60/65] target/hppa: Precompute zero into DisasContext, Richard Henderson, 2023/10/20
- [PATCH v2 61/65] target/hppa: Return zero for r0 from load_gpr, Richard Henderson, 2023/10/20
- [PATCH v2 59/65] target/hppa: Fix interruption based on default PSW, Richard Henderson, 2023/10/20
- [PATCH v2 62/65] target/hppa: Simplify trans_dep*_imm, Richard Henderson, 2023/10/20
- [PATCH v2 65/65] linux-user/hppa: Drop EXCP_DUMP from handled exceptions, Richard Henderson, 2023/10/20
- [PATCH v2 64/65] hw/hppa: Translate phys addresses for the cpu, Richard Henderson, 2023/10/20
- [PATCH v2 63/65] include/hw/elf: Remove truncating signed casts,
Richard Henderson <=