[U-Boot] [PATCH v5 0/6] Add an SPL to boot the da850evm from SPI

Christian Riesch christian.riesch at omicron.at
Wed Dec 7 10:32:18 CET 2011


Hi Tom,

On Tue, Dec 6, 2011 at 11:17 PM, Tom Rini <tom.rini at gmail.com> wrote:
> On Tue, Dec 6, 2011 at 10:34 AM, Tom Rini <tom.rini at gmail.com> wrote:
[...]
>> OK, thanks, I'll chalk it up to my toolchain then.
>
> After talking with Wolfgang and Albert, we (OK, Wolfgang) found that
> ELDK 4.2 toolchain also shows this issue, so please grab that and
> figure out what's going on here.  Thanks!

With ELDK 4.2 I got the same error message:

arm-linux-ld: error: no memory region specified for loadable section 
`.ARM.exidx'

In my linker script for the SPL (board/davinci/da8xxevm/u-boot-spl.lds) no
such section is defined. But somehow the linker in the Codesourcery
toolchain that I used before manages to place the .ARM.exidx section 
between rodata and data automatically (The section is listed in the
corresponding .map file). However, with the ELDK 4.2 toolchain this section
(and the .got section) must be specified explicitly. With the patch below 
(applied on top of the patchset) the SPL builds and links nicely with
both ELDK 4.2 and the Codesourcery toolchain.

Tom, could you please try if that works for your toolchain?

I don't know much about linker scripts, so my question is: Is this
the right way to solve this problem?

Thanks, Christian

---
 board/davinci/da8xxevm/u-boot-spl.lds |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/board/davinci/da8xxevm/u-boot-spl.lds b/board/davinci/da8xxevm/u-boot-spl.lds
index 6f6e065..1ba0a59 100644
--- a/board/davinci/da8xxevm/u-boot-spl.lds
+++ b/board/davinci/da8xxevm/u-boot-spl.lds
@@ -44,6 +44,8 @@ SECTIONS
 
 	. = ALIGN(4);
 	.rodata : { *(SORT_BY_ALIGNMENT(.rodata*)) } >.sram
+	.ARM.exidx : { *(.ARM.exidx*) } > .sram
+	.got : { *(.got*) } > .sram
 
 	. = ALIGN(4);
 	.data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram
-- 
1.7.0.4



More information about the U-Boot mailing list