[PATCH] RDOS support for newlib

Jeff Johnston jjohnstn@redhat.com
Wed Jan 18 18:59:00 GMT 2006


Leif,

A number of issues.

1. Files from the top-level directory require special approval since
    these files are shared with other projects.  See the
    top-level MAINTAINERS file for details on which mailing
    lists to send various patches to.

2. You have patches to generated files (configure, aclocal.m4).
    You must only provide patches for the files that generate these and
    do not post the generated diffs.

3. You make libtool changes.  Do you intend on using libtool to
    build rdos under newlib?  There is more involved in this.

Note the code below that only allows libtool for x86-linux:

case "${host}" in
   i[34567]86-pc-linux-*)
     use_libtool=yes
     have_sys_mach_dir=yes
     stdio64_dir=stdio64
     oext=lo
     aext=la ;;
   *) ;; #shared library not supported for ${host}
esac

4. You must submit the initial patch for your new files.  You may
    request to be the maintainer of said files once they are
    approved and to check-in patches without prior permission, but
    that right is never given to anyone sight-unseen and may
    require a few patches to build up a trust factor.

-- Jeff J.


Leif Ekblad wrote:
> I enclose request for patches and changelog for RDOS
> support in newlib.
> 
> I don't include the required files in newlib/libc/sys/rdos.
> I would like to add and maintain these files myself.
> 
> Regards,
> Leif Ekblad
> www.rdos.net/rdos
> 
> 
> 
> ------------------------------------------------------------------------
> 
> 2006-01-17  Leif Ekblad  <leif@rdos.net>
> 
> 	* configure.in: RDOS should build newlib target
> 	* libtool.m4: Synchronized with libtool
> 	* configure: Regenerated
> 	* newlib/libtool.m4: Synchronized with libtool
> 	* newlib/aclocal.m4: RDOS added from libtool.m4
> 	* newlib/configure: Regenerated
> 	* newlib/configure.host: RDOS support added
> 	* newlib/libc/include/sys/config.h: Reentrancy should be a function in RDOS
> 	* newlib/libc/sys/rdos: RDOS target directory added
> 
> 
> Index .: configure.in
> ===============================================================================
> diff -r -pu org/newlib-1.14/configure.in new/newlib-1.14/configure.in
> --- org/newlib-1.14/configure.in	2006-01-04 14:11:22.000000000 +0100
> +++ new/newlib-1.14/configure.in	2006-01-16 11:15:46.000000000 +0100
> @@ -657,7 +657,7 @@ case "${target}" in
>      noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
>      ;;
>    i[[3456789]]86-*-rdos*)
> -    noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
> +    noconfigdirs="$noconfigdirs gdb target-libgloss"
>      ;;
>    m32r-*-*)
>      noconfigdirs="$noconfigdirs ${libgcj}"
> 
> 
> Index .: libtool.m4
> ===============================================================================
> diff -r -pu org/newlib-1.14/libtool.m4 new/newlib-1.14/libtool.m4
> --- org/newlib-1.14/libtool.m4	2005-12-27 17:37:57.000000000 +0100
> +++ new/newlib-1.14/libtool.m4	2006-01-16 11:14:46.000000000 +0100
> 
> Expected diffs:
> 
> @@ -768,6 +768,10 @@ sco3.2v5*)
>    lt_cv_deplibs_check_method=pass_all
>    ;;
>  
> +rdos*)
> +  lt_cv_deplibs_check_method=pass_all
> +  ;;
> +
>  solaris*)
>    lt_cv_deplibs_check_method=pass_all
>    lt_cv_file_magic_test_file=/lib/libc.so
> 
> 
> Index .: configure
> ===============================================================================
> diff -r -pu org/newlib-1.14/configure new/newlib-1.14/configure
> --- org/newlib-1.14/configure	2006-01-04 14:11:22.000000000 +0100
> +++ new/newlib-1.14/configure	2006-01-16 11:16:53.000000000 +0100
> 
> Recreate with autoconf!
> 
> Expected diffs:
> 
> @@ -1449,8 +1449,8 @@ case "${target}" in
>      noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss ${libgcj}"
>      ;;
>    i[3456789]86-*-rdos*)
> -   noconfigdirs="$noconfigdirs gdb target-newlib target-libgloss"
> -     ;;
> +    noconfigdirs="$noconfigdirs gdb target-libgloss"
> +    ;;
>    m32r-*-*)
>      noconfigdirs="$noconfigdirs ${libgcj}"
>      ;;
> 
> 
> Index newlib: libtool.m4
> ===============================================================================
> diff -r -pu org/newlib-1.14/newlib/libtool.m4 new/newlib-1.14/newlib/libtool.m4
> --- org/newlib-1.14/newlib/libtool.m4	2002-07-04 21:57:25.000000000 +0200
> +++ new/newlib-1.14/newlib/libtool.m4	2006-01-16 11:18:22.000000000 +0100
> 
> Expected diffs:
> 
> @@ -539,6 +539,10 @@ beos*)
>    lt_cv_deplibs_check_method=pass_all
>    ;;
>  
> +rdos*)
> +  lt_cv_deplibs_check_method=pass_all
> +  ;;
> +
>  bsdi4*)
>    lt_cv_deplibs_check_method=['file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)']
>    lt_cv_file_magic_cmd='/usr/bin/file -L'
> 
>    
> Index newlib: aclocal.m4
> ===============================================================================
> diff -r -pu org/newlib-1.14/newlib/aclocal.m4 new/newlib-1.14/newlib/aclocal.m4
> --- org/newlib-1.14/newlib/aclocal.m4	2006-01-12 00:50:28.000000000 +0100
> +++ new/newlib-1.14/newlib/aclocal.m4	2006-01-16 11:19:14.000000000 +0100
> @@ -908,6 +908,10 @@ beos*)
>    lt_cv_deplibs_check_method=pass_all
>    ;;
>  
> +rdos*)
> +  lt_cv_deplibs_check_method=pass_all
> +  ;;
> +
>  bsdi4*)
>    lt_cv_deplibs_check_method=['file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)']
>    lt_cv_file_magic_cmd='/usr/bin/file -L'
> 
>    
> Index newlib: configure
> ===============================================================================
> diff -r -pu org/newlib-1.14/newlib/configure new/newlib-1.14/newlib/configure
> --- org/newlib-1.14/newlib/configure	2006-01-12 00:50:28.000000000 +0100
> +++ new/newlib-1.14/newlib/configure	2006-01-16 11:19:48.000000000 +0100
> 
> Recreate with autoconf (diffs not shown)!
> 
>    
> Index newlib: configure.host
> ===============================================================================
> diff -r -pu org/newlib-1.14/newlib/configure.host new/newlib-1.14/newlib/configure.host
> --- org/newlib-1.14/newlib/configure.host	2005-12-12 12:25:07.000000000 +0100
> +++ new/newlib-1.14/newlib/configure.host	2006-01-16 14:01:57.000000000 +0100
> @@ -362,6 +362,10 @@ case "${host}" in
>    h8500-*-elf*)
>  	sys_dir=h8500hms
>  	;;
> +  i[34567]86-*-rdos*)
> +	sys_dir=rdos
> +	newlib_cflags="${newlib_cflags} -DMISSING_SYSCALL_NAMES"
> +	;;
>    i[34567]86-*-sco*)
>  	sys_dir=sysvi386
>  	unix_dir=unix
> 
>  	   
> Index newlib/libc/include/sys: config.h
> ===============================================================================
> diff -r -pu org/newlib-1.14/newlib/libc/include/sys/config.h new/newlib-1.14/newlib/libc/include/sys/config.h
> --- org/newlib-1.14/newlib/libc/include/sys/config.h	2005-08-10 22:35:13.000000000 +0200
> +++ new/newlib-1.14/newlib/libc/include/sys/config.h	2006-01-16 11:21:46.000000000 +0100
> @@ -59,7 +59,7 @@
>  /* in other words, go32 */
>  #define _FLOAT_RET double
>  #endif
> -#ifdef __linux__
> +#if defined(__linux__) || defined(__RDOS__) 
>  /* we want the reentrancy structure to be returned by a function */
>  #define __DYNAMIC_REENT__
>  #define HAVE_GETDATE
>  



More information about the Newlib mailing list