Corinna Vinschen
22465796ed
Preliminary infrastructure to implement alternate stack
...
* libc/include/sys/signal.h: Define SS_ONSTACK and SS_DISABLE
unconditionally.
(sigaltstack): Enable prototype on Cygwin.
* common.din (sigaltstack): Export.
* cygtls.cc (_cygtls::init_thread): Initialize altstack.
* cygtls.h (__tlsstack_t): Rename from __stack_t to distinguish
more clearly from stack_t. Accommodate throughout.
(_cygtls): Add altstack member.
* exceptions.cc (exception::handle): Set SIGSEGV handler to SIG_DFL
if we encounter a stack overflow, and no alternate stack has been
defined.
* include/cygwin/signal.h (MINSIGSTKSZ): Define
(SIGSTKSZ): Define.
(SA_ONSTACK): Define.
* signal.cc (sigaltstack): New function.
* tlsoffset.h: Regenerate.
* tlsoffset64.h: Ditto.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-06-19 16:12:45 +02:00
Corinna Vinschen
1aeda8a95f
Fix comment in sys/wait.h
...
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-05-28 16:40:43 +02:00
Corinna Vinschen
a7a784c774
Revert to exposing sys/select.h from sys/time.h on Cygwin
...
* libc/include/sys/time.h: Include sys/select.h on Cygwin. Explain why.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-05-02 15:09:03 +02:00
Corinna Vinschen
6109eadff5
Improve check for int32_t being long or int
...
* libc/include/sys/config.h: Move evaluation of _UINTPTR_EQ_ULONG and
_UINTPTR_EQ_ULONGLONG from here...
* libc/include/sys/_intsup.h: ...to here. Rename to _INTPTR_EQ_LONG
and _INTPTR_EQ_LONGLONG to refer to signed base type. Add test for
base type of int32_t and set _INT32_EQ_LONG accordingly.
* libc/include/stdint.h: Change checks for __have_long32 to checks
for _INT32_EQ_LONG.
* libc/include/inttypes.h: Ditto. Accommodate aforementioned name
change.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-04-29 13:07:17 +02:00
Corinna Vinschen
97a5dda2b0
Fix basename prototype collision string.h vs libgen.h
...
* libc/include/libgen.h (basename): Drop defining _BASENAME_DEFINED.
Always define macro basename. Add comment to explain why.
* libc/include/string.h (basename): Check for basename instead of
_BASENAME_DEFINED. Drop __GNUC__ branch, always use basename macro.
Change comment to explain why. Add nonnull function attribute.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-04-23 22:03:45 +02:00
Corinna Vinschen
50adb19f03
Add parens around MIN/MAX values in stdint.h.
...
* libc/include/stdint.h: Throughout add parens around MIN/MAX values.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-04-23 21:57:11 +02:00
Sebastian Huber
897d3a3cc4
Add <sys/_stdint.h> for FreeBSD compatibility
...
* libc/include/sys/_stdint.h: New file.
* libc/include/stdint.h (int8_t): Move to <sys/_stdint.h>.
(uint8_t): Likewise.
(int16_t): Likewise.
(uint16_t): Likewise.
(int32_t): Likewise.
(uint32_t): Likewise.
(int64_t): Likewise.
(uint64_t): Likewise.
(intptr_t): Likewise.
(uintptr_t): Likewise.
* libc/include/sys/types.h: Include <sys/_stdint.h>.
* libc/sys/rtems/machine/_types.h: Remove <stdint.h> include.
* libc/sys/time.h>: Replace __uint32_t with uint32_t and
__uint64_t with uint64_t.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-04-23 21:57:10 +02:00
Jon TURNEY
38a8d3e216
Make stack_t typedef generally available
...
* libc/include/sys/signal.h (stack_t): Make typedef generally
available.
Signed-off-by: Jon TURNEY <jon.turney@dronecode.org.uk>
2015-04-23 21:57:10 +02:00
Yaakov Selkowitz
d67052321e
string: add GNU basename(3)
...
* libc/include/libgen.h (_BASENAME_DEFINED): Define.
* libc/include/string.h (basename): Declare.
* libc/string/Makefile.am (ELIX_4_SOURCES): Add gnu_basename.c.
* libc/string/Makefile.in: Regenerate.
* libc/string/gnu_basename.c: New file.
2015-04-23 21:57:07 +02:00
Sebastian Huber
4f3f09ad72
Import <sys/tree.h> from FreeBSD
...
* libc/include/sys/tree.h: New file.
2015-04-23 21:57:06 +02:00
Joel Sherrill
380c00f175
Change from configure time to compile time probe for intptr_t definition.
...
2015-03-23 Joel Sherrill <joel.sherrill@oarcorp.com
* configure.in: Delete logic to determine _UINTPTR_EQ_ULONGLONG
and _UINTPTR_EQ_ULONG at configuration time.
*libc/include/sys/config.h: Add logic to determine
_UINTPTR_EQ_ULONGLONG and _UINTPTR_EQ_ULONG at compilation time.
* libc/include/inttypes.h: Add include of <sys/config.h>.
* configure: Regenerated.
2015-04-23 21:57:06 +02:00
Steve Ellcey
05b71d1408
Replace uint32_t/uint64_t type usage with __uint32_t/__uint64_t.
...
* libc/include/sys/time.h: Replace uint32_t and uint64_t
with __uint32_t and __uint64_t.
2015-04-23 21:57:05 +02:00
Corinna Vinschen
e6af944145
Drop including cygwin/sys_time.h on Cygwin.
...
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-03-13 13:19:14 +01:00
Sebastian Huber
bb01594897
Merge parts of <sys/time.h> from FreeBSD
...
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-03-13 13:17:34 +01:00
Sebastian Huber
b161b155c8
Add and use latest <sys/timespec.h> from FreeBSD
...
* libc/include/sys/_timespec.h: Import from FreeBSD.
* libc/include/sys/timespec.h: Likewise.
* libc/include/time.h: Include <sys/timespec.h>.
* libc/include/sys/types.h (timespec): Delete.
(itimerspec): Likewise.
* libc/include/machine/time.h: Include <sys/_timespec.h>.
* libc/include/sys/sched.h: Likewise.
* libc/include/sys/signal.h: Likewise.
* libc/include/sys/stat.h: Likewise.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
2015-03-11 15:45:38 +01:00
Corinna Vinschen
5a97e28f6a
* libc/include/stdio.h (FILE): Protect typedef from redefinition.
...
* libc/include/wchar.h: Ditto.
2015-03-05 17:15:24 +00:00
Joel Sherrill
2387583ee2
2015-02-25 Gedare Bloom <gedare@rtems.org>
...
* libc/include/machine/time.h (_CLOCKS_PER_SEC_): redefine for RTEMS.
2015-03-03 21:53:55 +00:00
Jon TURNEY
67d150ca14
* libc/include/sys/cdefs.h (_GNU_SOURCE): Move check so it has an
...
effect when _XOPEN_SOURCE is also defined.
2015-02-25 15:58:41 +00:00
Nick Clifton
b9e7cd9a84
* libc/include/complex.h (cabsl): Add prototype.
...
(cimagl): Add prototype.
(creall): Add prototype.
* libc/include/ieeefp.h: Include float.h.
(EXT_EXPBITS, EXT_FRACHBITS, EXT_FRACLBITS)
(EXT_EXP_INFNAN. EXT_EXP_BIAS, EXT_FRACBITS): Define.
(struct ieee_ext, union ieee_ext_u): New types for long double
support.
* libc/include/math.h (finitel): Add prototype.
(hypotl): Add prototype.
(sqrtl): Add prototype.
* libm/common/Makefile.am (lsrc): Add sl_finite.c.
* libm/common/Makefile.in: Regenerate.
* libm/common/fdlibm.h (__ieee754_hypotl): Add prototype.
* libm/common/hypotl.c (hypotl): Add implementation for when long
double is larger than double.
* libm/common/sqrtl.c (sqrtl): Likewise.
* libm/common/sl_finite.c: New file. Adds implementation of the
finitel function.
* libm/complex/Makefile.am (lsrc): Define.
(libcomplex_la_SOURCES): Add lsrc.
(lib_a_SOURCES): Add lsrc.
* libm/complex/Makefile.in: Regenerate.
* libm/complex/cabs.c: Add documentation of cabsl function.
* libm/complex/cimag.c: Add documentation of cimagl function.
* libm/complex/creall.c: Add documentation of creall function.
* libm/complex/cabsl.c: New file. Adds implementation of the
cabsl function.
* libm/complex/cimagl.c: New file. Adds implementation of the
cimagl function.
* libm/complex/creall.c: New file. Adds implementation of the
creall function.
* libm/math/Makefile.am (lsrc): Define.
(libmath_la_SOURCES): Add lsrc.
(lib_a_SOURCES): Add lsrc.
* libm/math/Makefile.in: Regenerate.
* libm/math/el_hypot.c: New file. Adds implementation of the
__ieee754_hypotl function.
2015-02-06 16:14:04 +00:00
Corinna Vinschen
f2eb8ca8bf
* libc/include/wchar.h (wcstold): Drop _LDBL_EQ_DBL requirement for
...
declaration.
2015-02-04 11:02:36 +00:00
Corinna Vinschen
3e4183d15b
* libc/include/sys/time.h: #include <sys/cdefs.h> for __BSD_VISIBLE.
2015-01-28 21:03:41 +00:00
Eric Botcazou
bf8f43ae8a
* COPYING.LIBGLOSS: Add Controls and Data Services copyright.
...
* COPYING.NEWLIB: Likewise.
libgloss/
* configure.in: Add Visium support.
* configure: Regenerate.
* visium/: New directory.
newlib/
* configure.host: Add Visium support.
* libc/machine/configure.in: Likewise.
* libc/machine/configure: Regenerate.
* libc/machine/visium/: New directory.
* libc/include/machine/setjmp.h (_JBLEN): Define for Visium.
* libc/include/machine/ieeefp.h (__IEEE_BIG_ENDIAN): Likewise.
* libc/include/machine/time.h (_CLOCKS_PER_SEC_): Likewise.
2015-01-21 18:27:47 +00:00
Jeff Johnston
89b6034299
2015-01-14 Joel Sherrill <joel.sherrill@oarcorp.com>
...
* libc/include/sys/unistd.h [__BSD_VISIBLE]: Add issetugid() prototype.
2015-01-14 21:19:26 +00:00
Corinna Vinschen
29193dd04c
* configure.host: Add extra system for OpenRISC baremetal
...
* libc/include/sys/config.h: Dynamic reentrancy for or1k sys targets
* libc/sys/or1k/: New system for or1k baremetal
* libc/sys/or1k/Makefile.am: New file
* libc/sys/or1k/Makefile.in: New file
* libc/sys/or1k/aclocal.m4: New file
* libc/sys/or1k/configure.in: New file
* libc/sys/or1k/configure: New file
* libc/sys/or1k/getreent.S: New file
* libc/sys/or1k/mlock.S: New file
* libc/sys/or1k/or1k-asm.S: New file
2015-01-14 09:25:16 +00:00
Jeff Johnston
f0e3a51e9f
2014-12-26 Freddie Chopin <freddie_chopin@op.pl>
...
* libc/include/sys/features.h: update newlib version and copyright year
2015-01-05 17:31:28 +00:00
Yaakov Selkowitz
968738f9b1
Implement BSD/GNU unlocked stdio extensions.
...
* libc/include/stdio.h (clearerr_unlocked, feof_unlocked,
ferror_unlocked, fflush_unlocked, fgetc_unlocked, fgets_unlocked,
fileno_unlocked, fputc_unlocked, fputs_unlocked, fread_unlocked,
fwrite_unlocked): Declare.
* libc/include/wchar.h (fgetwc_unlocked, fgetws_unlocked,
fputwc_unlocked, fputws_unlocked, getwc_unlocked, getwchar_unlocked,
putwc_unlocked, putwchar_unlocked): Declare.
* libc/stdio/Makefile.am (ELIX_4_SOURCES): Add clearerr_u.c,
feof_u.c, ferror_u.c, fflush_u.c, fgetc_u.c, fgets_u.c, fgetwc_u.c,
fgetws_u.c, fileno_u.c, fputc_u.c, fputs_u.c, fputwc_u.c, fputws_u.c,
fread_u.c, fwrite_u.c, getwc_u.c, getwchar_u.c, putwc_u.c, putwchar_u.c.
Add necessary dependencies.
* libc/stdio/Makefile.in: Regenerate.
* libc/stdio/clearerr.c: Document unlocked variant.
* libc/stdio/clearerr_u.c: New file.
* libc/stdio/feof.c: Document unlocked variant.
* libc/stdio/feof_u.c: New file.
* libc/stdio/ferror.c: Document unlocked variant.
* libc/stdio/ferror_u.c: New file.
* libc/stdio/fflush.c: Add __IMPL_UNLOCKED__ overrides.
Document unlocked variants.
* libc/stdio/fflush_u.c: New file.
* libc/stdio/fgetc.c: Document unlocked variants.
* libc/stdio/fgetc_u.c: New file.
* libc/stdio/fgets.c: Add __IMPL_UNLOCKED__ overrides.
Document unlocked variants.
* libc/stdio/fgets_u.c: New file.
* libc/stdio/fgetwc.c: Document unlocked variants.
(__fgetwc): Make non-static.
* libc/stdio/fgetwc_u.c: New file.
* libc/stdio/fgetws.c: Add __IMPL_UNLOCKED__ overrides.
Document unlocked variants.
* libc/stdio/fgetws_u.c: New file.
* libc/stdio/fileno.c: Document unlocked variant.
* libc/stdio/fileno_u.c: New file.
* libc/stdio/fputc.c: Document unlocked variants.
* libc/stdio/fputc_u.c: New file.
* libc/stdio/fputs.c: Add __IMPL_UNLOCKED__ overrides.
Document unlocked variants.
* libc/stdio/fputs_u.c: New file.
* libc/stdio/fputwc.c: Document unlocked variants.
(__fputwc): Make non-static.
* libc/stdio/fputwc_u.c: New file.
* libc/stdio/fputws.c: Add __IMPL_UNLOCKED__ overrides.
Document unlocked variants.
* libc/stdio/fputws_u.c: New file.
* libc/stdio/fread.c: Add __IMPL_UNLOCKED__ overrides.
Document unlocked variants.
* libc/stdio/fread_u.c: New file.
* libc/stdio/fwrite.c: Add __IMPL_UNLOCKED__ overrides.
Document unlocked variants.
* libc/stdio/fwrite_u.c: New file.
* libc/stdio/getwc_u.c: New file.
* libc/stdio/getwchar.c: Document unlocked variants.
* libc/stdio/getwchar_u.c: New file.
* libc/stdio/local.h: Define locking macros as empty ifdef
__IMPL_UNLOCKED__.
(__fgetwc, __fputwc): Declare.
* libc/stdio/putwc_u.c: New file.
* libc/stdio/putwchar.c: Document unlocked variants.
* libc/stdio/putwchar_u.c: New file.
2014-12-18 14:55:21 +00:00
Corinna Vinschen
32c96ddd14
* libc/include/stdlib.h (__itoa): Declare prototype.
...
(__utoa): Ditto.
(itoa): Ditto, non-strict-ANSI only.
(utoa): Ditto.
* libc/stdlib/Makefile.am: Add itoa.c and utoa.c.
* libc/stdlib/Makefile.in: Regenerate.
* libc/stdlib/itoa.c: New file.
* libc/stdlib/utoa.c: New file.
2014-12-16 10:55:17 +00:00
Jeff Johnston
705cda717e
2014-12-15 Jonathan Roelofs <jonathan@codesourcery.com>
...
* libc/include/math.h: Add log2l,logbl,nexttowardf,
* nexttoward,nexttowardl
* libm/common/Makefile.am: Reference new files
* libm/common/Makefile.in: Reference new files
* libm/common/log2l.c: New File
* libm/common/logbl.c: Likewise
* libm/common/nexttowardf.c: Likewise
* libm/common/nexttoward.c: Likewise
* libm/common/nexttowardl.c: Likewise
2014-12-15 20:50:23 +00:00
Yaakov Selkowitz
6485fc66f2
* libc/include/stdio.h (__SNLK): Define.
...
* libc/include/stdio_ext.h (FSETLOCKING_QUERY, FSETLOCKING_INTERNAL,
FSETLOCKING_BYCALLER): Define.
(__fsetlocking): Declare.
* libc/stdio/Makefile.am: Build fsetlocking.c.
* libc/stdio/Makefile.in: Regenerate.
* libc/stdio/fsetlocking.c: New file.
* libc/stdio/local.h (_newlib_flockfile_start): Make _flockfile
call dependent on __SNLK flag.
(_newlib_flockfile_exit, _newlib_flockfile_end): Ditto for
_funlockfile calls.
Define all locking macros as empty if __SINGLE_THREAD__.
* libc/stdio/stdio.tex: Include fsetlocking.def.
2014-12-15 18:22:56 +00:00
Corinna Vinschen
f5ce72dffc
* newlib/libc/include/machine/setjmp.h: Add FPU support.
...
* newlib/libc/machine/nds32/setjmp.S: Add FPU support.
2014-12-15 13:32:17 +00:00
Corinna Vinschen
601c50292b
* libc/include/stdlib.h: Include sys/cdefs.h to avoid undefined
...
__ASMNAME.
2014-12-15 12:58:19 +00:00
Jeff Johnston
f58bc5991f
2014-12-12 Stefan Wallentowitz <stefan.wallentowitz@tum.de>
...
* configure.host: or1knd support, OpenRISC without delay slot
* libc/include/machine/setjmp.h: Add or1knd
* libc/machine/or1k/setjmp.S: Optional delay slot
2014-12-12 21:14:06 +00:00
Corinna Vinschen
c6332722d9
* libc/include/stdio.h: Fix type signature of __sfeof and __sferror
...
(and thus feof and ferror) for C++.
2014-12-11 17:42:19 +00:00
Yaakov Selkowitz
6f34876e5e
* libc/include/stdio_ext.h: Rename __fwriteable to __fwritable.
...
[!__GNUC__]: Declare real functions for the macros, and make
the macros conditional on !__cplusplus.
* libc/stdio/Makefile.am (ELIX_4_SOURCES): Add stdio_ext.c.
(CHEWOUT_FILES): Add stdio_ext.def.
* libc/stdio/Makefile.in: Regenerate.
* libc/stdio/stdio.tex: Include stdio_ext.def.
* libc/stdio/stdio_ext.c: New file.
2014-12-11 16:53:32 +00:00
Corinna Vinschen
2d48118f11
* libc/include/stdio_ext.h: Remove excess "inline".
2014-12-10 09:39:06 +00:00
Yaakov Selkowitz
bf9897549d
* libc/include/stdlib.h (__bsd_qsort_r): Declare.
...
(qsort_r): Declare.
* libc/search/Makefile.am (ELIX_2_SOURCES): Rename from ELIX_SOURCES.
(ELIX_4_SOURCES): Define. Add bsd_qsort_r.c and qsort_r.c.
(libsearch_la_SOURCES): Adapt accordingly.
(lib_a_SOURCES): Adapt accordingly.
(CHEWOUT_FILES): Add qsort_r.def.
* libc/search/Makefile.in: Regenerate.
* libc/search/bsd_qsort_r.c: New file.
* libc/search/qsort.c: Update from FreeBSD HEAD. Adapt for both BSD
and GNU qsort_r flavors.
* libc/search/qsort_r.c: New file.
2014-12-05 16:21:04 +00:00
Corinna Vinschen
a800b3ae9c
* libc/include/sys/signal.h [__SPU__] (kill): Declare.
2014-12-04 09:15:50 +00:00
Jeff Johnston
8c049028d9
2014-12-03 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/include/inttypes.h: Only enable the 8-bit scanning macros
if _WANT_IO_C99_FORMATS is defined by configuration. Add comment
on why.
2014-12-03 20:25:09 +00:00
Corinna Vinschen
d37bfe1da2
* libc/include/machine/setjmp.h [__mips__]: Remove __mips_fpr == 64
...
from the 64-bit _JBTYPE definition.
* libc/machine/mips/setjmp.S: Re-work the o32 FP64 support to match
the now one-and-only supported o32 FP64 ABI extension. Also
support o32 FPXX.
2014-11-28 08:47:39 +00:00
Corinna Vinschen
75e2565a57
* libc/include/sys/_default_fcntl.h: Move all Cygwin-specific open
...
flags from Cygwin's fcntl.h here. Remove check for WIN32. Remove
Windows-specific macros.
2014-11-25 11:53:00 +00:00
Joel Sherrill
63d53b9255
2014-11-23 Joel Sherrill <joel.sherrill@oarcorp.com>
...
* libc/include/sys/resource.h: Add prototype for getrusage()
to <sys/resource.h>
2014-11-24 14:12:32 +00:00
Jeff Johnston
85907fe082
2014-11-06 Joel Sherrill <joel.sherrill@oarcorp.com>
...
* configure.in: Add autoconf test to determine size of uintptr_t.
* newlib.hin: Add new autoconf feature variables.
* libc/include/inttypes.h: Use new feature variables.
* configure: Regenerate.
2014-11-06 17:45:14 +00:00
Jon TURNEY
e7ebfb119e
2014-10-29 Jon Turney <jon.turney@dronecode.org.uk>
...
* libc/include/string.h: Correct guard for strcasecmp().
2014-10-30 11:25:17 +00:00
Corinna Vinschen
8134be8ac2
* libc/include/sys/unistd.h (sethostname): Declare if
...
requested.
2014-10-27 14:35:46 +00:00
Corinna Vinschen
7a84e9c4bc
* libc/include/_ansi.h: _LONG_LONG_TYPE definition removed.
...
* libc/include/math.h: _LONG_LONG_TYPE replaced by "long long".
Guards for C99 and C++11 functions fixed.
* libc/include/stdlib.h: Guards for C99 and C++11 functions fixed.
2014-10-10 14:43:19 +00:00
Jeff Johnston
50f799240e
2014-10-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
...
* libc/include/stdint.h: Include <sys/_intsup.h>.
(__STDINT_EXP): Delete.
(__have_long32): Likewise.
(__have_long64): Likewise.
(__have_longlong64): Likewise.
* libc/include/sys/_intsup.h: New file.
(__STDINT_EXP): Move from libc/include/stdint.h.
(__have_long32): Likewise.
(__have_long64): Likewise.
(__have_longlong64): Likewise.
* libc/include/inttypes.h: Include <sys/_intsup.h>.
(__INTTYPES_EXP): Delete and use __STDINT_EXP() instead.
2014-10-09 15:57:50 +00:00
Corinna Vinschen
da77c6d1e5
* libc/include/string.h (ffsl): Declare as GNU function.
...
(ffsll): Ditto.
2014-10-08 21:04:59 +00:00
Jeff Johnston
99eb60455b
2014-09-17 Jeff Johnston <jjohnstn@redhat.com>
...
* libc/include/sys/features.h: Add __NEWLIB__ and
__NEWLIB_MINOR__ macros.
2014-09-17 22:20:16 +00:00
Jeff Johnston
ad9ed96b6b
2014-09-17 Joel Sherrill <joel.sherrill@oarcorp.com>
...
Thomas Uhle <thomas.uhle@eas.iis.fraunhofer.de>
* libc/include/string.h: Correct guard for strnlen().
2014-09-16 19:59:01 +00:00
DJ Delorie
dd48219ba9
* libc/include/math.h (frexpl): Remove parameter name.
2014-08-27 19:27:03 +00:00