Commit Graph

1535 Commits

Author SHA1 Message Date
Corinna Vinschen 1772168778 * libc/stdio/vfprintf.c (__sbprintf): Fix comment. 2012-10-16 19:03:01 +00:00
Corinna Vinschen 25742157d7 * libc/include/assert.h (static_assert): Define. 2012-10-16 19:00:30 +00:00
Corinna Vinschen 5eceb3958e * libc/include/sys/features.h (__GNUC_PREREQ): Define. Use
throughout in place of explicit GNUC version checks.
	* libc/include/_ansi.h (_NOINLINE): Define.
	(_NOINLINE_STATIC): Define.
	* libc/stdio/vfprintf.c (__sbprintf): Define _NOINLINE_STATIC.
2012-10-16 18:45:24 +00:00
Corinna Vinschen 509212aa98 * libc/posix/wordfree.c (wordfree): The wrong words are freed
when WRDE_DOOFFS is in use. Restructure the code so that the memory
	needed to be freed is instead kept in an internal linked list...
	* libc/posix/wordexp2.h: ...as defined here...
	* libc/posix/wordexp.c (wordexp): ...and build this internal
	linked list here, avoiding wasteful strdup calls in the process.
2012-10-09 12:05:51 +00:00
Corinna Vinschen 277e7f0e2e * libc/posix/wordexp.c (wordexp): Return WRDE_NOSPACE on resource
allocation failure. Cleanup leftover resources when failing.
2012-10-09 09:26:15 +00:00
Corinna Vinschen 4a6ec9ec52 * libc/posix/wordexp.c (wordexp): Handle expanded words longer
than 500 bytes.
2012-10-09 09:20:46 +00:00
Corinna Vinschen ca8170a6c3 * libc/posix/wordexp.c (wordexp): Don't leak file streams. 2012-10-09 09:09:20 +00:00
DJ Delorie 2b74bec6c9 * libc/machine/rl78/setjmp.S: Convert from CPP macros to GAS
macros, to avoid dependence on the line separation character.

* rl78/crt0.S (_interrupt_vector_table): Convert from CPP macros
to GAS macros, to avoid dependence on the line separation
character.
2012-10-03 20:24:50 +00:00
DJ Delorie 13ab44c05b * libc/sys/sysnecv850/sbrk.c (_sbrk): Change heap_start to be an
array of undefined size, to avoid problems when compiled with
-msda=4.

* v850/sbrk.c (_sbrk): Change heap_start to be an array of
undefined size, to avoid problems when compiled with -msda=4.
2012-10-02 22:55:10 +00:00
Jeff Johnston c3fe5bf771 2012-09-26 Ian Bolton <ian.bolton@arm.com>
Jim MacArthur  <jim.macarthur@arm.com>
        Marcus Shawcroft  <marcus.shawcroft@arm.com>
        Nigel Stephens  <nigel.stephens@arm.com>
        Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
        Richard Earnshaw  <rearnsha@arm.com>
        Sofiane Naci  <sofiane.naci@arm.com>
        Tejas Belagod  <tejas.belagod@arm.com>
        Yufeng Zhang  <yufeng.zhang@arm.com>

        * configure.host: Add AArch64.
        * libc/include/machine/ieeefp.h: Add AArch64.
        * libc/include/machine/setjmp.h: Add AArch64.
        * libc/include/machine/time.h: Add AArch64.
        * libc/include/sys/config.h: Add AArch64.
        * libc/machine/aarch64/Makefile.am: New file.
        * libc/machine/aarch64/Makefile.in: Generated.
        * libc/machine/aarch64/aclocal.m4: Generated.
        * libc/machine/aarch64/configure: Generated.
        * libc/machine/aarch64/configure.in: New file.
        * libc/machine/aarch64/setjmp.S: New file.
        * libc/machine/configure.in: Add AArch64.
        * libc/machine/configure: Re-generated.
        * libm/machine/aarch64/Makefile.am: New file.
        * libm/machine/aarch64/Makefile.in: Generated.
        * libm/machine/aarch64/aclocal.m4: Generated.
        * libm/machine/aarch64/configure: Generated.
        * libm/machine/aarch64/configure.in: New file.
        * libm/machine/aarch64/s_ceil.c: New file.
        * libm/machine/aarch64/s_floor.c: New file.
        * libm/machine/aarch64/s_fma.c: New file.
        * libm/machine/aarch64/s_fmax.c: New file.
        * libm/machine/aarch64/s_fmin.c: New file.
        * libm/machine/aarch64/s_llrint.c: New file.
        * libm/machine/aarch64/s_llround.c: New file.
        * libm/machine/aarch64/s_lrint.c: New file.
        * libm/machine/aarch64/s_lround.c: New file.
        * libm/machine/aarch64/s_nearbyint.c: New file.
        * libm/machine/aarch64/s_rint.c: New file.
        * libm/machine/aarch64/s_round.c: New file.
        * libm/machine/aarch64/s_trunc.c: New file.
        * libm/machine/aarch64/sf_ceil.c: New file.
        * libm/machine/aarch64/sf_floor.c: New file.
        * libm/machine/aarch64/sf_fma.c: New file.
        * libm/machine/aarch64/sf_fmax.c: New file.
        * libm/machine/aarch64/sf_fmin.c: New file.
        * libm/machine/aarch64/sf_llrint.c: New file.
        * libm/machine/aarch64/sf_llround.c: New file.
        * libm/machine/aarch64/sf_lrint.c: New file.
        * libm/machine/aarch64/sf_lround.c: New file.
        * libm/machine/aarch64/sf_nearbyint.c: New file.
        * libm/machine/aarch64/sf_rint.c: New file.
        * libm/machine/aarch64/sf_round.c: New file.
        * libm/machine/aarch64/sf_trunc.c: New file.
        * libm/machine/configure.in: Add AArch64.
        * libm/machine/configure: Re-generated.
2012-09-26 20:06:50 +00:00
Anthony Green af32eb5e28 bi-endian support for moxie. 2012-09-13 23:57:33 +00:00
Christopher Faylor 918ed39f09 * libc/stdio/flags.c (__sflags): Guard against using O_BINARY on systems which
do not provide it.
2012-08-23 04:19:59 +00:00
Christopher Faylor 03f6bb2863 * libc/stdio/flags.c (__sflags): Rewrite recognition of extended mode flags to
just loop over more allowed flags.  Support glibc 'e' flag on systems defining
_GLIBC_EXTENSION.  Support C11 'x' flag.
2012-08-21 14:51:50 +00:00
Corinna Vinschen b2bde18ba5 * libc/stdlib/btowc.c (btowc): Cast to avoid compiler warning.
* libc/search/hash_buf.c (__get_buf): Initialize local vars to avoid
	compiler warning.
	* libc/stdio/fgets.c (_fgets_r): Ditto.
	* libc/time/strftime.c (strftime): Ditto.
2012-08-10 15:21:57 +00:00
Corinna Vinschen c9ace3130c * libc/stdio/vfwprintf.c (_VFWPRINTF_R): Fix guard around state to
allow usage in !FLOATING_POINT && _WANT_IO_C99_FORMATS case.
2012-08-10 09:37:32 +00:00
Corinna Vinschen 49264ad7dd * libc/posix/engine.c(dissect): Guard diagnostic pragma for right
versions of GCC only.
	* libc/string/strcasestr.c: Ditto.

	Fix typo in previous ChangeLog entry.
2012-08-08 14:05:54 +00:00
Corinna Vinschen 1f232abc89 Throughout, run newlib with -Wall -Werror option and fix bugs and
compiler warnings found this way.

	* libc/stdio/freopen.c (_freopen_r): Fix bug setting _flags.

	* libc/include/stdio.h (_rename): Define when building newlib.
	* libc/include/sys/signal.h (_kill): Ditto.
	* libc/include/sys/stat.h (_mkdir): Ditto.
	* libc/include/sys/time.h (_gettimeofday): Ditto.
	* libc/include/sys/times.h (_times): Ditto.
	* libc/include/sys/wait.h (_wait): Ditto.
	* libc/locale/lmessages.c (empty): Don't define for Cygwin.
	* libc/locale/lmonetary.c (cnv): Ditto.
	* libc/locale/nl_langinfo.c (nl_langinfo): Ditto for variable s.
	* libc/posix/collate.c: Throughout cast to avoid compiler warning.
	* libc/posix/engine.c (matcher): Initialize dp to avoid compiler
	warning.
	* libc/posix/glob.c: Disable on Cygwin.  Explain why.
	* libc/posix/regcomp.c: Fix "uninitialized" compiler warnings.
	(dissect): Deliberately silence gcc compiler warning.  Add comment to
	explain why.
	* libc/posix/wordexp.c (wordexp): Remove num_bytes variable since result
	is never used.
	* libc/posix/popen.c (popen): Ditto for variable last.
	* libc/reent/mkdirr.c: Include sys/stat.h.
	* libc/reent/renamer.c: Include stdio.h.
	* libc/search/hash.c:  Throughout use underscored variants of the stat
	function family.
	(init_hash): Add missing definition for the __USE_INTERNAL_STAT64 case.
	* libc/search/hash_bigkey.c (__big_insert): Add parenthesis to avoid
	compiler warning.
	* libc/search/hash_page.c (overflow_page): Initalize freep to NULL to
	avoid compiler warning.
	* libc/stdio/asiprintf.c (_asiprintf_r): Cast unsigned char * to char *
	to avoid compiler warning.
	(asiprintf): Ditto.
	* libc/stdio/asprintf.c (_asprintf_r): Ditto.
	(asprintf): Ditto.
	* libc/stdio/vasiprintf.c (_vasiprintf_r): Ditto.
	* libc/stdio/vasprintf.c (_vasprintf_r): Ditto.
	* libc/stdio/mktemp.c (_gettemp): Cast to unsigned char in call to
	isdigit to avoid compiler warning.
	* libc/stdio/vfprintf.c (_VFPRINTF_R): Initialize variables used for
	grouping to avoid compiler warning.  Only define and set nseps and
	nrepeats if they are really used.
	* libc/stdio/vfwprintf.c (_VFWPRINTF_R): Ditto.  Only define state if
	it is really used.
	* libc/stdio/vfscanf.c (u_char): Revert to be defined as unsigned char.
	(__SVFSCANF_R): Cast fmt in call to __mbtowc.
	* libc/stdlib/mbtowc_r.c (JIS_state_table): Disable when building
	Cygwin.
	(JIS_action_table): Ditto.
	* libc/stdlib/wctomb_r.c (__utf8_wctomb): Add parenthesis to avoid
	compiler warning.
	* libc/string/strcasestr.c: Deliberately silence gcc compiler warning.
	Add comment to explain why.
	* libc/time/strptime.c (strptime): Cast to unsigned char in calls to
	isspace to avoid compiler warning.
	* libm/math/e_atan2.c (__ieee754_atan2): Add parenthesis to avoid
	compiler warning.
	* libm/math/e_exp.c (__ieee754_exp): Initialize k to 0 to avoid
	compiler warning.  Drop setting it to 0 later.
	* libm/math/ef_exp.c (__ieee754_expf): Ditto.
	* libm/math/e_pow.c (__ieee754_pow): Add braces to avoid compiler
	warning.
	* libm/math/ef_pow.c (__ieee754_powf): Ditto.
	* libm/math/er_lgamma.c (__ieee754_lgamma_r): Initialize nadj to 0 to
	avoid compiler warning.
	* libm/math/erf_lgamma.c (__ieee754_lgammaf_r): Ditto.
	* libm/math/e_rem_pio2.c (__ieee754_rem_pio2): Ditto for variable z.
	* libm/common/sf_round.c (roundf): Remove signbit variable since result
	is never used.
2012-08-08 11:04:18 +00:00
Corinna Vinschen ba35b8303c * libc/stdlib/mprec.h (Storeinc): Add parenthesis to avoid compiler
warning.
2012-08-07 17:52:51 +00:00
Kevin Buettner 217618d3d6 * libc/sys/sysnecv850/crt0.S (_start): Use v850e-specific
start up code for v850e2 and v850e2v3 too.
2012-07-30 23:03:47 +00:00
Eric Blake 0cf8865cf0 readdir: drop bogus code
* libc/posix/readdir.c (readdir): Drop bogus attempt to catch
bogus pointers.
2012-07-20 16:55:19 +00:00
Ralf Corsepius f9a0f9ad5f 2012-07-18 Ralf Corsépius <ralf.corsepius@rtems.org>
* libc/sys/rtems/machine/_types.h (_ssize_t): Use signed int for
	__v850__, __851__.
2012-07-18 15:22:45 +00:00
Ralf Corsepius 392c090c7e 2012-07-17 Ralf Corsépius <ralf.corsepius@rtems.org>
* libc/search/hcreate_r.c (hdestroy_r): #ifdef 0 unused vars ie, idx.
2012-07-17 16:56:45 +00:00
Ralf Corsepius 1acc80f5d2 2012-07-16 Ralf Corsépius <ralf.corsepius@rtems.org>
* libc/posix/telldir.c: Conditionally build dd_hash_lock.
2012-07-16 17:03:50 +00:00
Ralf Corsepius d2f675622f 2012-07-13 Ralf Corsépius <ralf.corsepius@rtems.org>
* libc/sys/rtems/machine/_types.h (_ssize_t): Add __ARM_EABI__,
	__v850__, __851__.
2012-07-13 09:21:45 +00:00
Corinna Vinschen 821c8b9aac * libc/stdio/fileno.c (fileno): Check if f is a valid stream. If not,
return -1 and set errno to EBADF per POSIX.
2012-07-09 12:13:16 +00:00
Corinna Vinschen 0246baaea2 Allow building of Cygwin using Mingw64 SDK headers:
* libc/include/sys/time.h: Drop _WINSOCK_H guard.  Just use
	_TIMEVAL_DEFINED instead.
	* libc/include/sys/types.h: Check for _WINSOCKAPI_ along with
	_WINSOCK_H.
	* libc/include/sys/unistd.h: Ditto.
2012-07-06 10:41:21 +00:00
Christopher Faylor f804f416f3 * libc/include/sys/types.h: Don't use the same preprocessor guard for time_t,
timespec, and itimerspec.  Add a separate guard specifically for timespec and
always unconditionally define itimerspec.
2012-06-26 16:03:12 +00:00
Corinna Vinschen 8336af85e9 * libc/stdio/findfp.c (__sinit): Avoid infinite recursion on
_REENT_SMALL targets.  Add comment to explain.
2012-06-05 16:17:16 +00:00
Corinna Vinschen 94c837599c * libc/stdio/local.h (_newlib_sfp_lock_exit): Fix typo in non-pthread
version.
2012-05-31 07:33:59 +00:00
Corinna Vinschen 53bbfeed98 * libc/stdio/fgetws.c (_fgetws_r): Call _mbsnrtowcs_r rather than
_mbsrtowcs_r and restrict number of wide chars to n - 1.
2012-05-30 14:42:52 +00:00
Corinna Vinschen 4aa28d8ae2 * libc/stdio/local.h (_newlib_flockfile_start): New macro to
secure stream related critical section against thread cancellation.
	(_newlib_flockfile_exit): Ditto.
	(_newlib_sfp_lock_end): Ditto.
	(_newlib_sfp_lock_start): Ditto for the list of streams.
	(_newlib_sfp_lock_exit): Ditto.
	(_newlib_sfp_lock_end): Ditto.
	Use aforementioned macros in place of _flockfile/_funlockfile
	and __sfp_lock_acquire/__sfp_lock_release throughout the code.
	* libc/stdio/fclose.c: Explicitely disable and re-enable thread
	cancellation.  Explain why.
	* libc/stdio/freopen.c: Ditto.
	* libc/stdio64/freopen64.c: Ditto.
2012-05-30 08:58:42 +00:00
Corinna Vinschen bb39d14401 * libc/machine/cr16/asm.h: Added some missing instructions
and removed few unsupported instructions of cr16 target.
2012-05-21 11:55:15 +00:00
Corinna Vinschen 507b172d8d * libc/include/string.h (memrchr): Declare.
* libc/string/Makefile.am (ELIX_4_SOURCES): Add memrchr.c.
	(CHEWOUT_FILES): Add memrchr.def.
	* libc/string/Makefile.in: Regenerate.
	* libc/string/memrchr.c: New file.
2012-05-10 08:34:08 +00:00
Corinna Vinschen cc580eddd3 * libc/sys/rtems/machine/_types.h: Add Microblaze. 2012-05-10 06:59:58 +00:00
Corinna Vinschen a9f0367e1a * libc/sys/rtems/crt0.c: Add stubs for access(), ftruncate(),
_getpid_r(), geteuid(), getgid, _getgid_r, getpid(), getppid(),
	and _getpid_r().
2012-05-09 09:03:06 +00:00
Corinna Vinschen 9ae37ea0c6 * libc/locale/locale.c (__mb_cur_max): On Cygwin, align default value
with default UTF-8 charset.
2012-03-29 20:27:15 +00:00
Corinna Vinschen 33c789303f * libc/stdio/findfp.c (__sinit): Set __sdidinit last. 2012-03-26 10:43:06 +00:00
Jeff Johnston eab1d3e125 2012-03-09 Jeff Johnston <jjohnstn@redhat.com>
* libc/include/machine/setjmp-dj.h: Modify license to include
        modification in clause as permitted by DJ Delorie.
        * libc/machine/arm/access.c: Ditto.
        * libc/machine/i386/setjmp.S: Ditto.
        * libc/sys/h8300hms/sys/file.h: Ditto.
        * libc/sys/linux/machine/i386/setjmp.S: Ditto.
        * libc/sys/sysmec/access.c: Ditto.
        * libc/sys/sysnecv850/access.c: Ditto.
2012-03-09 20:26:39 +00:00
Jeff Johnston 52cbb05cfb 2012-03-02 Jeff Johnston <jjohnstn@redhat.com>
* libc/posix/readdir_r.c: Fix return code when end of
        directory is reached.
2012-03-02 16:02:04 +00:00
Jeff Johnston 9edde1d2c4 2012-02-21 Jeremy Bennett <jeremy.bennett@embecosm.com>
Alan Lehotsky  <apl@alum.mit.edu>
            Joern Rennecke  <joern.rennecke@embecosm.com>

        * configure.host: Add Epiphany support.
        * libc/include/machine/ieeefp.h: Likewise.
        * libc/include/machine/setjmp.h: Likewise.
        * libc/machine/configure.in, libc/sys/configure.in: Likewise.
        * libc/machine/configure, libc/sys/configure: Regenerate.
        * libc/machine/epiphany, libc/sys/epiphany: New directories.
        * NEWS: Mention addition of Epiphany.
2012-02-21 22:34:31 +00:00
Eric Blake 833630b859 * libc/include/_ansi.h (_ELIDABLE_INLINE): Fix C99 mode. 2012-02-09 19:58:33 +00:00
Corinna Vinschen e59d6a1469 * libc/sys/rtems/sys/utime.h: Include <sys/types.h> to provide a
definition of time_h.
2012-02-09 13:05:15 +00:00
Corinna Vinschen 3543a40d5c * libc/machine/arm/strcmp.S: New File.
* libc/machine/arm/strcmp.c: Deleted.
	* libc/machine/arm/Makefile.am: Replaces strcmp.c with strcmp.S
	* libc/machine/arm/Makefile.in: Regenerated.
	* testsuite/newlib.string/strcmp-1.c: New file.
2012-02-09 10:42:14 +00:00
Corinna Vinschen dd9ee39045 * libc/include/inttypes.h: Redefine pointer type macros. 2012-02-07 16:42:20 +00:00
Yaakov Selkowitz 29d84e5a46 * libc/stdio/sprintf.c: Document 'm' conversion specifier.
* libc/stdio/swprintf.c: Ditto.
	* libc/stdio/vfprintf.c (_VFPRINTF_R) [_GLIBC_EXTENSION]: Handle 'm'
	conversion specifier.
	* libc/stdio/vfwprintf.c (_VFWPRINTF_R) [_GLIBC_EXTENSION]: Ditto.
2012-01-13 09:13:57 +00:00
Yaakov Selkowitz 2af8babd93 * libc/include/tgmath.h: New header. 2012-01-12 11:19:31 +00:00
Yaakov Selkowitz 5ecc040cff * libc/include/sys/unistd.h [__CYGWIN__] (get_current_dir_name):
Declare.
2012-01-09 22:49:20 +00:00
Yaakov Selkowitz 3182cdfaf0 * libc/include/complex.h: Fix "/*" within comment warning. 2012-01-09 22:46:34 +00:00
Corinna Vinschen 4b4391b74d * libc/include/process.h: Remove Cygwin-only header. 2012-01-09 17:06:20 +00:00
Jeff Johnston 286625cf91 2012-01-03 Viachaslau Kulakouski <Viachaslau.Kulakouski@oracle.com>
* libc/stdlib/__atexit.c: Refer to __atexit_lock instead of lock.
2012-01-03 19:13:57 +00:00