[PATCH] microblaze: microblaze.md: Use 'SI' instead of 'VOID' for operand 1 of 'call_value_intern'
Michael Eager
eager@eagerm.com
Sun Oct 26 21:34:00 GMT 2014
On 10/26/14 03:36, Chen Gang wrote:
> On 10/22/2014 09:34 AM, Chen Gang wrote:
>>
>>>>
>>>> Yes, if you want to test on a target, you will need a target. You can either have a simulator (see binutils and sim/* for an example of how to write one) or target hardware in some form.
>>>>
>
> After tried 'sim', I found the root cause is microblaze sim does not
> support '--sysroot', which is the environments for shared libraries and
> system calls (need load microblaze kernel).
>
> - microblaze can successfully execute simple programs which has no
> glibc and no system call.
>
> - In upstream master branch of binutils, for microblaze sim, it has no
> related testsuite for sim in binutils, neither support '--sysroot',
> neither support function stack, startup parameters, and environments.
>
> - After hard code the default stack in sim, it can start the '-static'
> program with glibc, but stop at uname() which will use system call.
>
> So I want to consult: at present, can we let microblaze sim run 'normal'
> programs (have glibc, and use system call)?
Microblaze-sim provides basic instruction set architecture and memory simulation.
There is no operating system support. (It's also quite old. I'm not sure
which version of the MB architecture it models, but it is not recent.)
Microblaze-sim is not a full system simulator, like QEMU. To be able to
run a program which requires glibc, you need to be able to boot a full Linux
image on the simulator, which microblaze-sim cannot do. QEMU models an
entire processor and can boot a Linux image.
--
Michael Eager eager@eagercon.com
1960 Park Blvd., Palo Alto, CA 94306 650-325-8077
More information about the Gcc-patches
mailing list