[U-Boot] [PATCH 2/2] hello_world.c: fix entry point in case of arm thumb binary
max.oss.09 at gmail.com
Sat Aug 12 21:31:55 UTC 2017
Am Samstag, den 12.08.2017, 20:39 +0200 schrieb Wolfgang Denk:
> Dear Max,
> In message <20170812090346.7887-3-max.krummenacher at toradex.com> you wrote:
> > If compiling for thumb the U-Boot 'go' command can not jump to the entry
> > point, as the jump will be done in the assumption that the code jumped to
> > is using the arm instruction set.
> > So add add a simple forwarder in arm instruction set which then jumps
> > to the 'real' entry.
> This description makes no sense to me. Whatever you do, the address
> where the image starts executuin is what is called the entry point.
> Whether this is needs special code to swutch to thumb mode or not
> does not make any difference. Whichever address you use with the
> "go" command is the "entry point".
> Also, can the mode switching not be done inside the body of the
> regular hello_world() function? This would be much better as it
> wuld allow to always use the same method to determine the entry
> point address (line running "nm" on the binary and grepping for the
> name "hello_world"). With your code, you would have to fix all
> documentation and explain that the entry pooint name is suddenly
> domething totally different (and an unexpected, unusal name like
> "dummy2" as well) for thumb images.
This again stems from my assumption that one has to write the
standalone application in a way that the entry point is actually
linked to the beginning of the binary.
One cannot put the mode switching from thumb to arm instruction set
inside the body of a C function, as the entry code prepended by
the compiler would be in thumb and thus an exception would occur
before the mode switching code gets executed.
Probably one can add a pragma conditionally so that the entry
function gets compiled in arm instruction set. I investigate
further and send a v2.
> Sorry, but this does not seem a good idea to me.
> Naked-by: Wolfgang Denk <wd at denx.de>
> Best regards,
> Wolfgang Denk
More information about the U-Boot