This series addresses
- hardcoded entry address, use LOADADDR if available as the entry point instead
- fix thumb build, jumping with 'go' to the entry point expects arm code
Note that in addition to the two fixes I've seen random freezes
or 'random' printed stuff when using an early linaro gcc 6 compiler.
Adding an initialized variable helped in that case
static int dummy_var_in_text = 1;
I assume that this forces alignment of some linker sections.
(e.g. I see that __bss_start points to 0x1201027e, with the variable
this moves to 0x12010280)
However with the current linaro compilers this does not happen so I
don't propose a patch for this issue.
Linaro GCC 5.4-2017.05 5.4.1 20170404
Linaro GCC 6.3-2017.05 6.3.1 20170404
Linaro GCC 7.1-2017.05 7.1.1 20170510
This series is available at
Max Krummenacher (2):
arm: use $loadaddr as the standalone entry point
hello_world.c: fix entry point in case of arm thumb binary
arch/arm/config.mk | 4 ++++
doc/README.standalone | 2 +-
examples/standalone/hello_world.c | 15 +++++++++++++++
3 files changed, 20 insertions(+), 1 deletion(-)
U-Boot mailing list