[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-arm] Regression tests for Assembly libraries for Cortex-M: Mor
Re: [Qemu-arm] Regression tests for Assembly libraries for Cortex-M: More recent qemu versions core-dump or fail with warnings
Sat, 27 Apr 2019 21:41:21 +0100
On Fri, 26 Apr 2019 at 19:20, "Björn Haase" <address@hidden> wrote:
> >All the cortex-m systems support semihosting. (Note
> >that the ABI for M-profile semihosting is not quite
> >the same as the A-profile ABI -- it uses a breakpoint
> >insn, rather than an SVC insn.) You need to enable
> >it with the -semihosting option, and you can't use
> >it from non-privileged code (this is the same as the
> >A-profile semihosting).
> You don't actually know whether someby has actually used this together with
> the syscall implementations in newlib/libgloss? I somehow fear that my older
> implementation only did work because it was using the SWI interface ...
> However, I have seen that libgloss seems to provide different versions of the
> "Angel" interface. One of these also seems to use a breakpoint instruction.
I would certainly expect libgloss/newlib to use the
correct semihosting interface if built for M-profile,
and we've never had any QEMU users who've said "my
M-profile code assumes SWI but QEMU doesn't implement
that", which I think we would have done if libgloss/newlib
were buggy in this way.
I just haven't actually personally gone and tested it.
The only thing I can think of is that if you accidentally
link against an A-profile newlib/libgloss you'll get the
wrong semihosting ABI.