[PATCH 28/78] ARM: relocate_to_current_adr: Use unsigned long for variables
Sascha Hauer
s.hauer at pengutronix.de
Fri Mar 16 05:53:04 PDT 2018
relocate_to_current_adr() fixes up pointers in the binary, so unsigned
long is a better match as it works on aarch64 aswell.
Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
arch/arm/cpu/common.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/arch/arm/cpu/common.c b/arch/arm/cpu/common.c
index 7c07d00c1b..3766116d97 100644
--- a/arch/arm/cpu/common.c
+++ b/arch/arm/cpu/common.c
@@ -30,8 +30,8 @@
*/
void relocate_to_current_adr(void)
{
- uint32_t offset;
- uint32_t *dstart, *dend, *dynsym, *dynend;
+ unsigned long offset;
+ unsigned long *dstart, *dend, *dynsym, *dynend;
/* Get offset between linked address and runtime address */
offset = get_runtime_offset();
@@ -43,14 +43,14 @@ void relocate_to_current_adr(void)
dynend = (void *)__dynsym_end + offset;
while (dstart < dend) {
- uint32_t *fixup = (uint32_t *)(*dstart + offset);
- uint32_t type = *(dstart + 1);
+ unsigned long *fixup = (unsigned long *)(*dstart + offset);
+ unsigned long type = *(dstart + 1);
if ((type & 0xff) == 0x17) {
*fixup = *fixup + offset;
} else {
int index = type >> 8;
- uint32_t r = dynsym[index * 4 + 1];
+ unsigned long r = dynsym[index * 4 + 1];
*fixup = *fixup + r + offset;
}
--
2.16.1
More information about the barebox
mailing list