This is the mail archive of the newlib@sourceware.org mailing list for the newlib project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Add Xilinx MicroBlaze support (1 of 3)


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.




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]