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