[PATCH] RDOS support for newlib

Jeff Johnston jjohnstn@redhat.com
Wed Jan 25 21:46:00 GMT 2006


Leif Ekblad wrote:
> Jeff:
> 
>> 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.
> 
> 
> I'll deal with those later.
> 
>> 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.
> 
> 
> Removed
> 
>> 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.
> 
> 
> OK. I enclose rdos.tar.bz2, which contains the current versions
> of these files.
> 

Leif,

   I have some issues/questions regarding your rdos directory files.

   1. You have licensed rdos.s under the GPL not the LGPL.  This is not
      allowed.  If you relicence the file and send it back to me, I will
      replace it.

   2. You have licensed syscall stubs with your copyright and the LGPL.
      The code for these stubs is trivial and already exists in numerous
      places, including newlib docs.  I recommend simply leaving the
      licensing out of these files.  For the files where you have
      rdos-specific code (e.g. close.c/read.c/write.c), the license you
      have is appropriate.

   3. You did not have a Makefile.am.  I added one in (attached) and
      generated Makefile.in from it.

   4. You have an acconfig.h file and a config.h.in, plus you have a
      custom configure.in.  You never use any of the AC_DEFINED variables
      in your code.  You should not have supplied a config.h as this
      file should be generated at configuration time in the build
      directory.  Running autoheader also gave me a different
      config.h.in file than you provided.  A simpler
      configure.in is used by most libc/sys directories.  Is there
      any particular reason you needed the configure.in
      you provided and config.h support?

I have tar'd up a version of the directory after a number of changes
including a simpler configure.in, a Makefile.am, no acconfig.h, and a 
stub config.h for future usage (e.g. sys/linux has a hard-coded config.h 
it uses).

Please confirm this still builds for you and inform me of any 
issues/questions you have with my changes.  If you have no issues with 
the changes and it builds fine, supply me with a new rdos.s and I can 
check the initial version of the code in.

-- Jeff J.

> New changelog:
> 
> 2006-01-21  Leif Ekblad  <leif@rdos.net>
> 
> * configure.host: RDOS support added
> * libc/include/sys/config.h: Reentrancy should be a function in RDOS
> * libc/sys/rdos: RDOS target directory added
> 
> 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
> 
> Leif Ekblad
> http://www.rdos.net/rdos

-------------- next part --------------
A non-text attachment was scrubbed...
Name: rdos.new.tar.bz2
Type: application/x-bzip2
Size: 46041 bytes
Desc: not available
URL: <http://sourceware.org/pipermail/newlib/attachments/20060125/ac0c096d/attachment.bz2>


More information about the Newlib mailing list