* [PATCH] ARM: arm32: fix realocate_to_curr_addr
@ 2018-04-22 16:41 Andreas Schmidt
2018-04-25 9:30 ` Sascha Hauer
0 siblings, 1 reply; 2+ messages in thread
From: Andreas Schmidt @ 2018-04-22 16:41 UTC (permalink / raw)
To: barebox
After add aarch64 support (commit 868df08038a91d674a0c50b0c0a2f70dbc445510)
to realocation, MLO on beaglebone black do not boot any more.
The issue is, that addition of offset in one if-case was not done.
This patch fix this.
Signed-off-by: Andreas Schmidt <mail@schmidt-andreas.de>
---
Hi!
I've tested this patch only on beablebone black REV C.
Regards,
Andreas
---
arch/arm/cpu/common.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/arm/cpu/common.c b/arch/arm/cpu/common.c
index 00ce3efb2..51fe7ed98 100644
--- a/arch/arm/cpu/common.c
+++ b/arch/arm/cpu/common.c
@@ -85,6 +85,7 @@ void relocate_to_current_adr(void)
unsigned long *fixup = (unsigned long *)(rel->r_offset + offset);
*fixup = *fixup + r + offset;
+ rel->r_offset += offset;
} else {
putc_ll('>');
puthex_ll(rel->r_info);
--
2.14.1
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] ARM: arm32: fix realocate_to_curr_addr
2018-04-22 16:41 [PATCH] ARM: arm32: fix realocate_to_curr_addr Andreas Schmidt
@ 2018-04-25 9:30 ` Sascha Hauer
0 siblings, 0 replies; 2+ messages in thread
From: Sascha Hauer @ 2018-04-25 9:30 UTC (permalink / raw)
To: Andreas Schmidt, g; +Cc: barebox
Hi Andreas,
On Sun, Apr 22, 2018 at 06:41:57PM +0200, Andreas Schmidt wrote:
> After add aarch64 support (commit 868df08038a91d674a0c50b0c0a2f70dbc445510)
> to realocation, MLO on beaglebone black do not boot any more.
> The issue is, that addition of offset in one if-case was not done.
> This patch fix this.
>
> Signed-off-by: Andreas Schmidt <mail@schmidt-andreas.de>
> ---
> Hi!
>
> I've tested this patch only on beablebone black REV C.
Applied, thanks.
It took me a while to reproduce this. I switched to gcc7 a while ago and
this gcc version no longer uses these types of relocation. Then after
using a gcc-4.9.2 I could really see the same issue. The problem arises
when relocate_to_current_adr() is called multiple times, as happens when
the board lowlevel code calls it and the startup code later again. Some
boards do this, one of them being the beagle bone.
Sascha
--
Pengutronix e.K. | |
Industrial Linux Solutions | http://www.pengutronix.de/ |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2018-04-25 9:30 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-22 16:41 [PATCH] ARM: arm32: fix realocate_to_curr_addr Andreas Schmidt
2018-04-25 9:30 ` Sascha Hauer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox