Commit Graph

20 Commits

Author SHA1 Message Date
Matt Joyce f3b8138239 Add _REENT_ERRNO(ptr)
Add a _REENT_ERRNO() macro to encapsulate the access to the
_errno member of struct reent. This will help to replace the
structure member with a thread-local storage object in a follow
up patch.

Replace uses of __errno_r() with _REENT_ERRNO().  Keep __errno_r() macro for
potential users outside of Newlib.
2022-07-13 06:55:41 +02:00
Sebastian Huber ad51d0006a Remove _global_impure_ptr indirection
Remove the pointer indirection through the read-only _global_impure_ptr and
directly use a externally visible _impure_data object of type struct _reent.
This enables the static initialization of global data structures in a follow up
patch.  In addition, we get rid of a machine-specific file.
2022-05-04 17:31:04 +02:00
Sebastian Huber da418955f5 Move common <sys/dirent.h> content to <dirent.h>
Move common content of the various <sys/dirent.h> and the latest FreeBSD
<dirent.h> to <dirent.h>.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2018-10-11 08:29:16 +02:00
Yaakov Selkowitz 0bda30e1ff ansification: remove _CONST
Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
2018-01-17 11:47:08 -06:00
Joel Sherrill a7c3258311 2013-11-21 Joel Sherrill <joel.sherrill@oarcorp.com>
* libc/posix/readdir_r.c: Add restrict keyword.
	* libc/machine/spu/sys/dirent.h, libc/sys/decstation/sys/dirent.h,
	libc/sys/linux/sys/dirent.h, libc/sys/rtems/sys/dirent.h,
	libc/sys/sparc64/sys/dirent.h, libc/sys/sun4/sys/dirent.h,
	libc/sys/sysvi386/sys/dirent.h: Add readdir_r() prototype.
2013-11-21 16:44:39 +00:00
Jeff Johnston 816c3d2968 2009-04-03 Ken Werner <ken.werner@de.ibm.com>
* libc/machine/spu/sys/linux_syscalls.h: include <sys/types.h>
        (linux_getpid, linux_gettid): Declare.
2009-04-03 22:34:17 +00:00
Jeff Johnston d5567b8d75 2008-11-20 Ken Werner <ken.werner@de.ibm.com>
* libc/machine/spu/sys/linux_syscalls.h: Additional syscall defines to
        be in sync with current kernels.
2008-11-20 20:23:24 +00:00
Jeff Johnston 75cc619bb3 2008-11-20 Ken Werner <ken.werner@de.ibm.com>
Patrick Mansfield  <patmans@us.ibm.com>
            Joel Schopp   <jschopp@austin.ibm.com>

        * libc/machine/spu/configure.in: Add __ea detection.
        * libc/machine/spu/Makefile.am: Add new files.
        * libc/machine/spu/include/ea.h: New file.
        * libc/machine/spu/ea_internal.h: Likewise.
        * libc/machine/spu/sys/mman.h: Likewise.
        * libc/machine/spu/mmap_ea.c: Likewise.
        * libc/machine/spu/munmap_ea.c: Likewise.
        * libc/machine/spu/mremap_ea.c: Likewise.
        * libc/machine/spu/msync_ea.c: Likewise.
        * libc/machine/spu/memchr_ea.c: Likewise.
        * libc/machine/spu/memcmp_ea.c: Likewise.
        * libc/machine/spu/memcpy_ea.c: Likewise.
        * libc/machine/spu/memmove_ea.c: Likewise.
        * libc/machine/spu/memset_ea.c: Likewise.
        * libc/machine/spu/malloc_ea.c: Likewise.
        * libc/machine/spu/realloc_ea.c: Likewise.
        * libc/machine/spu/calloc_ea.c: Likewise.
        * libc/machine/spu/free_ea.c: Likewise.
        * libc/machine/spu/posix_memalign_ea.c: Likewise.
        * libc/machine/spu/strcat_ea.c: Likewise.
        * libc/machine/spu/strchr_ea.c: Likewise.
        * libc/machine/spu/strcmp_ea.c: Likewise.
        * libc/machine/spu/strcpy_ea.c: Likewise.
        * libc/machine/spu/strcspn_ea.c: Likewise.
        * libc/machine/spu/strlen_ea.c: Likewise.
        * libc/machine/spu/strncat_ea.c: Likewise.
        * libc/machine/spu/strncmp_ea.c: Likewise.
        * libc/machine/spu/strncpy_ea.c: Likewise.
        * libc/machine/spu/strpbrk_ea.c: Likewise.
        * libc/machine/spu/strrchr_ea.c: Likewise.
        * libc/machine/spu/strspn_ea.c: Likewise.
        * libc/machine/spu/strstr_ea.c: Likewise.
        * libc/machine/spu/read_ea.c: Likewise.
        * libc/machine/spu/pread_ea.c: Likewise.
        * libc/machine/spu/readv_ea.c: Likewise.
        * libc/machine/spu/write_ea.c: Likewise.
        * libc/machine/spu/pwrite_ea.c: Likewise.
        * libc/machine/spu/writev_ea.c: Likewise.
2008-11-20 20:20:51 +00:00
Jeff Johnston 12b0cae7d0 2008-06-17 Ken Werner <ken.werner@de.ibm.com>
* libc/machine/spu/sys/linux_syscalls.h: New file to add Linux syscall
        support.
2008-06-17 17:28:20 +00:00
Jeff Johnston 4e73927b06 2008-06-16 Ken Werner <ken.werner@de.ibm.com>
* libc/machine/spu/sys/dirent.h: Add extern "C" specifier if C++.
	* libc/machine/spu/sys/sched.h: Likewise.
	* libc/machine/spu/sys/syscall.h: Likewise.
2008-06-16 18:54:17 +00:00
Jeff Johnston e950505015 2008-04-16 Patrick Mansfield <patmans@us.ibm.com>
* libc/machine/spu/sys/errno.h: Use _impure_data, not _reent_data.
2008-04-16 20:04:08 +00:00
Jeff Johnston 45b142890d 2008-04-14 Patrick Mansfield <patmans@us.ibm.com>
* libc/machine/spu/impure.c: New file, supply a non-static _impure_data.
        * libc/machine/spu/Makefile.am: Add new file impure.c.
        * libc/machine/spu/Makefile.in: Regenerate.
        * libc/machine/spu/sys/errno.h: Define errno to be _reent_data._errno.
2008-04-15 19:57:48 +00:00
Jeff Johnston 364faf910a 2007-09-21 Patrick Mansfield <patmans@us.ibm.com>
* libc/machine/spu/sys/uio.h: New file for readv and writev use.
2007-09-21 21:11:14 +00:00
Jeff Johnston 2f3d28fca2 2007-09-21 Patrick Mansfield <patmans@us.ibm.com>
* libc/include/sched.h: New file, just include sys/sched.h.
        * libc/machine/spu/sys/sched.h: New file, has just sched_yield
        prototype.
        * libc/machine/spu/sys/utime.h: New file, has utime prototype and
        struct utimbuf definition.
2007-09-21 21:02:15 +00:00
Jeff Johnston 63fbe1fd64 2007-09-21 Patrick Mansfield <patmans@us.ibm.com>
* libc/machine/spu/sys/dirent.h: New file, add prototypes and SPU
        specific struct and typedef.
2007-09-21 20:36:02 +00:00
Jeff Johnston 4a9880e071 2007-05-23 Patrick Mansfield <patmans@us.ibm.com>
* libc/machine/spu/sys/syscall.h: Update the __send_to_ppe
	prototype.
	* libc/machine/spu/fclose.c: Use the __send_to_ppe return value
	instead of the slot 0 value, remove any now unused variables, and
	for some cases, now store the result in an int vs int*.
	* libc/machine/spu/feof.c: Ditto.
	* libc/machine/spu/ferror.c: Ditto.
	* libc/machine/spu/fflush.c: Ditto.
	* libc/machine/spu/fgetc.c: Ditto.
	* libc/machine/spu/fgetpos.c: Ditto.
	* libc/machine/spu/fgets.c: Ditto.
	* libc/machine/spu/fileno.c: Ditto.
	* libc/machine/spu/fopen.c: Ditto.
	* libc/machine/spu/fprintf.c: Ditto.
	* libc/machine/spu/fputc.c: Ditto.
	* libc/machine/spu/fputs.c: Ditto.
	* libc/machine/spu/fread.c: Ditto.
	* libc/machine/spu/freopen.c: Ditto.
	* libc/machine/spu/fscanf.c: Ditto.
	* libc/machine/spu/fseek.c: Ditto.
	* libc/machine/spu/fsetpos.c: Ditto.
	* libc/machine/spu/ftell.c: Ditto.
	* libc/machine/spu/fwrite.c: Ditto.
	* libc/machine/spu/getc.c: Ditto.
	* libc/machine/spu/getchar.c: Ditto.
	* libc/machine/spu/gets.c: Ditto.
	* libc/machine/spu/printf.c: Ditto.
	* libc/machine/spu/putc.c: Ditto.
	* libc/machine/spu/putchar.c: Ditto.
	* libc/machine/spu/puts.c: Ditto.
	* libc/machine/spu/remove.c: Ditto.
	* libc/machine/spu/rename.c: Ditto.
	* libc/machine/spu/scanf.c: Ditto.
	* libc/machine/spu/setvbuf.c: Ditto.
	* libc/machine/spu/snprintf.c: Ditto.
	* libc/machine/spu/sprintf.c: Ditto.
	* libc/machine/spu/sscanf.c: Ditto.
	* libc/machine/spu/tmpfile.c: Ditto.
	* libc/machine/spu/tmpnam.c: Ditto.
	* libc/machine/spu/ungetc.c: Ditto.
	* libc/machine/spu/vfprintf.c: Ditto.
	* libc/machine/spu/vfscanf.c: Ditto.
	* libc/machine/spu/vprintf.c: Ditto.
	* libc/machine/spu/vscanf.c: Ditto.
	* libc/machine/spu/vsnprintf.c: Ditto.
	* libc/machine/spu/vsprintf.c: Ditto.
	* libc/machine/spu/vsscanf.c: Ditto.
2007-05-23 21:41:17 +00:00
Jeff Johnston 42cd3e6c52 2007-04-25 Patrick Mansfield <patmans@us.ibm.com>
* libc/machine/spu/sys/errno.h: New file, so spu errno values match
	ppu linux values. This file is a copy of the cris/sys/errno.h plus
	a few changes (see spu errno.h comments).
2007-04-25 20:45:39 +00:00
Jeff Johnston 748c191767 2007-04-04 Patrick Mansfield <patmans@us.ibm.com>
* libc/machine/spu/sys/syscall.h: New file for __send_to_ppe
	prototype.
	* libc/machine/spu/c99ppe.h: Remove static version of send_to_ppe.
	* libc/machine/spu/clearerr.c: Call __send_to_ppe vs send_to_ppe.
	* libc/machine/spu/fclose.c: Ditto.
	* libc/machine/spu/feof.c: Ditto.
	* libc/machine/spu/ferror.c: Ditto.
	* libc/machine/spu/fflush.c: Ditto.
	* libc/machine/spu/fgetc.c: Ditto.
	* libc/machine/spu/fgetpos.c: Ditto.
	* libc/machine/spu/fgets.c: Ditto.
	* libc/machine/spu/fileno.c: Ditto.
	* libc/machine/spu/fopen.c: Ditto.
	* libc/machine/spu/fprintf.c: Ditto.
	* libc/machine/spu/fputc.c: Ditto.
	* libc/machine/spu/fputs.c: Ditto.
	* libc/machine/spu/fread.c: Ditto.
	* libc/machine/spu/freopen.c: Ditto.
	* libc/machine/spu/fscanf.c: Ditto.
	* libc/machine/spu/fseek.c: Ditto.
	* libc/machine/spu/fsetpos.c: Ditto.
	* libc/machine/spu/ftell.c: Ditto.
	* libc/machine/spu/fwrite.c: Ditto.
	* libc/machine/spu/getc.c: Ditto.
	* libc/machine/spu/getchar.c: Ditto.
	* libc/machine/spu/gets.c: Ditto.
	* libc/machine/spu/perror.c: Ditto.
	* libc/machine/spu/printf.c: Ditto.
	* libc/machine/spu/putc.c: Ditto.
	* libc/machine/spu/putchar.c: Ditto.
	* libc/machine/spu/puts.c: Ditto.
	* libc/machine/spu/remove.c: Ditto.
	* libc/machine/spu/rename.c: Ditto.
	* libc/machine/spu/rewind.c: Ditto.
	* libc/machine/spu/scanf.c: Ditto.
	* libc/machine/spu/setbuf.c: Ditto.
	* libc/machine/spu/setvbuf.c: Ditto.
	* libc/machine/spu/snprintf.c: Ditto.
	* libc/machine/spu/sprintf.c: Ditto.
	* libc/machine/spu/sscanf.c: Ditto.
	* libc/machine/spu/tmpfile.c: Ditto.
	* libc/machine/spu/tmpnam.c: Ditto.
	* libc/machine/spu/ungetc.c: Ditto.
	* libc/machine/spu/vfprintf.c: Ditto.
	* libc/machine/spu/vfscanf.c: Ditto.
	* libc/machine/spu/vprintf.c: Ditto.
	* libc/machine/spu/vscanf.c: Ditto.
	* libc/machine/spu/vsnprintf.c: Ditto.
	* libc/machine/spu/vsprintf.c: Ditto.
	* libc/machine/spu/vsscanf.c: Ditto.
2007-04-04 21:03:13 +00:00
Jeff Johnston 958e329d59 2007-02-14 Patrick Mansfield <patmans@us.ibm.com>
Add a floating point environment for SPU (cell):

        * configure.host: add libm_machine_dir=spu.
        * libm/machine/configure: Add spu.
        * libm/machine/configure.in: regenerated with spu added.
        * libc/machine/spu/include/fenv.h: New file.
        * libc/machine/spu/sys/fenv.h: Ditto.
        * libm/machine/spu/Makefile.am: Ditto.
        * libm/machine/spu/Makefile.in: Ditto.
        * libm/machine/spu/aclocal.m4: Ditto.
        * libm/machine/spu/configure: Ditto.
        * libm/machine/spu/configure.in: Ditto.
        * libm/machine/spu/fe_dfl_env.c: Ditto.
        * libm/machine/spu/feclearexcept.c: Ditto.
        * libm/machine/spu/fegetenv.c: Ditto.
        * libm/machine/spu/fegetexceptflag.c: Ditto.
        * libm/machine/spu/fegetround.c: Ditto.
        * libm/machine/spu/feholdexcept.c: Ditto.
        * libm/machine/spu/feraiseexcept.c: Ditto.
        * libm/machine/spu/fesetenv.c: Ditto.
        * libm/machine/spu/fesetexceptflag.c: Ditto.
        * libm/machine/spu/fesetround.c: Ditto.
        * libm/machine/spu/fetestexcept.c: Ditto.
        * libm/machine/spu/feupdateenv.c: Ditto.
        * libm/machine/spu/headers/feclearexcept.h: Ditto.
        * libm/machine/spu/headers/fefpscr.h: Ditto.
        * libm/machine/spu/headers/fegetenv.h: Ditto.
        * libm/machine/spu/headers/fegetexceptflag.h: Ditto.
        * libm/machine/spu/headers/fegetround.h: Ditto.
        * libm/machine/spu/headers/feholdexcept.h: Ditto.
        * libm/machine/spu/headers/feraiseexcept.h: Ditto.
        * libm/machine/spu/headers/fesetenv.h: Ditto.
        * libm/machine/spu/headers/fesetexceptflag.h: Ditto.
        * libm/machine/spu/headers/fesetround.h: Ditto.
        * libm/machine/spu/headers/fetestexcept.h: Ditto.
        * libm/machine/spu/headers/feupdateenv.h: Ditto.
2007-02-14 23:18:25 +00:00
Jeff Johnston 7d592bb178 2007-02-01 Joel Schopp <jschopp@austin.ibm.com>
Kazunori Asayama <asayama@sm.sony.co.jp>

        * configure.host: Enable SPU specific stdio directory.
        * libc/machine/spu/Makefile.am: Add objects.
        * libc/machine/spu/Makefile.in: Regenerated.
        * libc/machine/spu/c99ppe.h: Add macros and function
        declarations to initialize SPU specific stdio stuffs.
        * libc/machine/spu/stdio.c: Add functions to manage Cell SPU
        specific FILE structures.
        * libc/machine/spu/perror.c: Add initialization routine of
        stdio stuffs.
        * libc/machine/spu/printf.c: Ditto.
        * libc/machine/spu/putchar.c: Ditto.
        * libc/machine/spu/puts.c: Ditto.
        * libc/machine/spu/vprintf.c: Ditto.
        * libc/machine/spu/clearerr.c: New file. Add a stdio function
        implementation.
        * libc/machine/spu/feof.c: Ditto.
        * libc/machine/spu/ferror.c: Ditto.
        * libc/machine/spu/fileno.c: Ditto.
        * libc/machine/spu/fopen.c: Ditto.
        * libc/machine/spu/fclose.c: Ditto.
        * libc/machine/spu/freopen.c: Ditto.
        * libc/machine/spu/fflush.c: Ditto.
        * libc/machine/spu/fseek.c: Ditto.
        * libc/machine/spu/ftell.c: Ditto.
        * libc/machine/spu/rewind.c: Ditto.
        * libc/machine/spu/fgetpos.c: Ditto.
        * libc/machine/spu/fsetpos.c: Ditto.
        * libc/machine/spu/fread.c: Ditto.
        * libc/machine/spu/fwrite.c: Ditto.
        * libc/machine/spu/getc.c: Ditto.
        * libc/machine/spu/getchar.c: Ditto.
        * libc/machine/spu/gets.c: Ditto.
        * libc/machine/spu/fgetc.c: Ditto.
        * libc/machine/spu/fgets.c: Ditto.
        * libc/machine/spu/ungetc.c: Ditto.
        * libc/machine/spu/putc.c: Ditto.
        * libc/machine/spu/fputc.c: Ditto.
        * libc/machine/spu/fputs.c: Ditto.
        * libc/machine/spu/vfprintf.c: Ditto.
        * libc/machine/spu/vfscanf.c: Ditto.
        * libc/machine/spu/fprintf.c: Ditto.
        * libc/machine/spu/fscanf.c: Ditto.
        * libc/machine/spu/scanf.c: Ditto.
        * libc/machine/spu/vscanf.c: Ditto.
        * libc/machine/spu/setbuf.c: Ditto.
        * libc/machine/spu/setvbuf.c: Ditto.
        * libc/machine/spu/tmpfile.c: Ditto.

2007-02-01  Jeff Johnston  <jjohnstn@redhat.com>

        * libc/include/sys/config.h[__SPU__]: Define __CUSTOM_FILE_IO__.
        * libc/include/stdio.h[!__CUSTOM_FILE_IO__]: Add flag check
        around stdio macros that manipulate fields in the normal file
        structure.
        * libc/include/sys/reent.h[__CUSTOM_FILE_IO__]: Include
        <sys/custom_file.h> to define custom FILE structure.
        * libc/include/sys/custom_file.h: New default header file
        that generates error if not overridden when __CUSTOM_FILE_IO__ set.
        * libc/machine/spu/sys/custom_file.h: New file.
2007-02-01 16:33:05 +00:00