[U-Boot] [PATCH v2 0/2] improve hello_world standalone application for arm
max.oss.09 at gmail.com
Mon Aug 14 16:27:18 UTC 2017
This series addresses
- hardcoded load address, use LOADADDR if available as the entry point
- 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 http://git.toradex.com/cgit/u-boot-toradex.git/log/?h=for-next
Changes in v2:
- Don't confuse loadaddr with entry point as reported by Wolfgang.
- Change the assembly magic to a C function and use __attribute__
to force arm instruction set.
- Keep the entry point name hello_world as reported by Wolfgang.
Max Krummenacher (2):
arm: use LOADADDR as the default for STANDALONE_LOAD_ADDR
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 | 18 ++++++++++++++++++
3 files changed, 23 insertions(+), 1 deletion(-)
More information about the U-Boot