[PATCH] Add Xilinx MicroBlaze support (1 of 3)
Jeff Johnston
jjohnstn@redhat.com
Fri Sep 4 00:09:00 GMT 2009
Hi Michael,
A number of comments.
1. setjmp and longjmp go in newlib
2. moddi3 should be in the compiler, not libgloss
3. why are you providing errno.c?
4. What is the XMK flag? Everywhere else you are looking at
__MICROBLAZE__ or MICROBLAZE
5. write your own abort instead of touching the shared one
6. I can live with the refill.c change, but the test should be for a
single generic flag that is set in config.h for various platforms
7. All checks for MICROBLAZE should be __MICROBLAZE__ (including
ChangeLog comments)
8. I do not want special cases for platform in mallocr.c. Is it really
needed? I believe the CYGWIN check there is historical due to the WIN32
stuff being in the code that was originally ported over and Cygwin not
wanting to use it. I would like to remove that check as well and if
still needed, use a generic flag instead.
9. The Xilinx license is needed in COPYING.NEWLIB as well since you
have added Microblaze files there.
-- Jeff J.
On 18/08/09 03:22 PM, Michael Eager wrote:
> Add support for the Xilinx MicroBlaze architecture.
>
>
> 2009-08-18 Michael Eager <eager@eagercon.com>
>
> * COPYING.LIBGLOSS: Add Microblaze to Xilinx copyright notice.
>
> Libgloss:
> * configure.in: Add microblaze.
> * configure: Regenerate.
> * microblaze: NEW microblaze target directory.
> * microblaze/configure.in: NEW.
> * microblaze/configure: Generate.
> * microblaze/Makefile.in: NEW.
> * microblaze/{crt0.s,crt1.s,crt2.s,crt3.s,crt4.s,crtinit.s}: NEW.
> * microblaze/{errno.c,longjmp.S,setjmp.S,moddi3.s,pgcrtinit.s,
> _program_clean.s,_program_init.s,sbrk.c,sim-crtinit.s,sim-pgcrtinit.s,
> timer.c,_exception_handler.s,_hw_exception_handler.s,
> _interrupt_handler.s,xil_malloc.c,xil_printf.c,xil_sbrk.c: NEW.
> * microblaze/xilinx.ld: NEW.
>
> Newlib:
> * configure.host: Add microblaze.
> * libc/include/machine/ieeefp.h [MICROBLAZE]: Define __IEEE_BIG_ENDIAN.
> * libc/include/machine/setjmp.h [MICROBLAZE]: Define _JBLEN, _JBTYPE.
> * libc/include/pthread.h: Treat XMK like UNIX98_THREAD_MUTEX.
> * libc/include/sys/config.h [MICROBLAZE]: Define _REENT_SMALL.
> * libc/include/sys/types.h: Treat XMK like rtems, define
> PTHREAD_MUTEX_NORMAL, PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE,
> PTHREAD_MUTEX_DEFAULT, PTHREAD_STACK_MIN, define stuct pthread_attr_s.
> * libc/include/sys/unistd.h [XMK]: Don't declare sbrk, unlink.
> * libc/machine/configure.in: Add microblaze.
> * libc/machine/configure: Regenerate.
> * libc/machine/microblaze/configure.in: NEW.
> * libc/machine/microblaze/configure: Generate.
> * libc/machine/microblaze/Makefile.am: NEW.
> * libc/machine/microblaze/Makefile.in: Generate.
> * libc/machine/microblaze/{strcmp.c,strcpy.c,strlen.c}: NEW.
> * libc/stdio/refill.c [MICROBLAZE]: Don't test __SEOF.
> * libc/stdlib/abort.c [MICROBLAZE]: Call exit instead of _exit.
> * libc/stdlib/mallocr.c [MICROBLAZE]: Don't declare sbrk prototype,
> mALLOc(): return malloc value.
>
>
More information about the Newlib
mailing list