[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