diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2018-09-17 08:24:25 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2018-09-17 09:33:54 +0200 |
commit | cec347bff0f2225540a8c188835978d46ab35790 (patch) | |
tree | 4d041f8aaa0f478763864b242a0565b2bdcc9f01 /arch/arm/lib | |
parent | 1bcddfb3215c27a87e86190cf492aaa68fd0019f (diff) | |
download | barebox-cec347bff0f2225540a8c188835978d46ab35790.tar.gz barebox-cec347bff0f2225540a8c188835978d46ab35790.tar.xz |
ARM: Multi PBL: Fix image calculation for certain toolchains
The current way to calculate the compressed image position works
with the OSELAS toolchains, but not with the Debian/Ubuntu toolchains.
For these toolchains &image_end_marker already returns the correct
address, adding global_variable_offset() to it is wrong.
The solution seems to be to put the image_end_marker into a different
object file so that the compiler cannot play any tricks to resolve
the address internally in the object file.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/lib')
-rw-r--r-- | arch/arm/lib/pbl.lds.S | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/lib/pbl.lds.S b/arch/arm/lib/pbl.lds.S index 9df1800543..ddc65bbf45 100644 --- a/arch/arm/lib/pbl.lds.S +++ b/arch/arm/lib/pbl.lds.S @@ -92,7 +92,7 @@ SECTIONS __piggydata_end = .; . = ALIGN(4); - .image_end : { *(.image_end) } + .image_end : { *(.__image_end_marker) } __image_end = .; _barebox_image_size = __image_end - BASE; |