[patch] libgloss/m68k: Fix semihosting. (Part 2)
Jeff Johnston
jjohnstn@redhat.com
Wed Jan 3 16:48:00 GMT 2007
Patch checked in.
-- Jeff J.
Kazu Hirata wrote:
> Hi,
>
> Attached is a patch to fix semihosting.
>
> The same description applies as
>
> http://sources.redhat.com/ml/newlib/2006/msg01039.html
>
> This patch should be applied in addition to the above patch.
>
> Tested by running "Hello, world". OK to apply?
>
> Kazu Hirata
>
> libgloss/
> 2006-12-26 Kazu Hirata <kazu@codesourcery.com>
>
> Merge from newlib-csl-20060320-branch:
> 2006-12-22 Nathan Sidwell <nathan@codesourcery.com>
>
> * m68k/cf-crt0.S (__start): Adjust semihosting.
>
> Index: cf-crt0.S
> ===================================================================
> RCS file: /cvs/src/src/libgloss/m68k/cf-crt0.S,v
> retrieving revision 1.2
> diff -u -d -p -r1.2 cf-crt0.S
> --- cf-crt0.S 11 Dec 2006 19:58:01 -0000 1.2
> +++ cf-crt0.S 26 Dec 2006 13:28:52 -0000
> @@ -29,17 +29,14 @@ __start:
> #if HOSTED
> /* INIT_SIM syscall. Allows changing sp & d1. */
> move.l IMM(1),d0
> - .align 4
>
> - /* The halt sequence must be 'nop; halt' and aligned to a 4 byte
> - boundary. */
> + /* The semihosting sequence is 'nop; halt;sentinel' aligned to
> + a 4 byte boundary. The sentinel is an ill formed instruction
> + (movec %sp,0). The debugger will adjust the pc, so it is never
> + executed. */
> + .balignw 4,0x4e71
> nop
> halt
> -
> - /* This sentinel instruction value must be immediately after
> - the halt instruction. The debugger will adjust the pc, so
> - that it is never executed. This instruction is
> - 'movec %sp,0'. */
> .long 0x4e7bf000
> #endif
> move.l d1,sp@-
More information about the Newlib
mailing list