summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* math.h: Use GCC builtins for C99 macros where availableCorinna Vinschen2016-03-261-19/+55
| | | | | | | | | | | | | | | | GCCs builtin functions are mostly type agnostic and architecture indepedent. Prefer to use them if available. * libc/include/math.h (fpclassify, isfinite, isinf, isnan, isnormal): Use matching GCC builtin functions if built with GCC 4.4 or later. (signbit): Use matching GCC builtin functions if built with GCC 4.0 or later. (isgreater, isgreaterequal, isless, islessequal, islessgreater, isunordered): Use matching GCC builtin functions if built with GCC 2.97 or later. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* finitel: Use correct GCC builtinCorinna Vinschen2016-03-261-1/+1
| | | | | | | | | | __builtin_isinf_sign doesn't reflect the correct return value for NaN to emulate finite function. Use __builtin_isfinite instead whichg is available since GCC 4.4 just as __builtin_isinf_sign. * libm/common/sl_finite.c (finitel): Use __builtin_isfinite. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* strtold: Fix Infinity value.Corinna Vinschen2016-03-261-1/+2
| | | | | | | | | | Infinity returned from strtold is recognized as NaN by GCC builtin functions. The reason is that ULtox is missing to set a bit. * libc/stdlib/strtorx.c (ULtox): Set high bit in second word to create valid Infinity value. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Initializing TTBR0 to inner/outer WBJiong Wang2016-03-261-1/+10
| | | | | | | | | | | | | | | | | | | | | While running tests on internal systems, we identified an issue in the startup code for newlib on AArch32 systems with Multiprocessor Extensions to the architecture. The issue is we were configuring page table flags to be Inner cacheable/Outer non-cacheable, while for at least architectures with Multiprocessor Extension, we'd configure it to Inner/Outer write-back, no write-allocate, and cacheable. The attached patch fixes this, and no regression on arm-none-eabi bare-metal tests. Adopted suggestion given by Richard offline to avoid using jump. libgloss/ * arm/cpu-init/rdimon-aem.S: Set TTBR0 to inner/outer cacheable WB, and no allocate on WB for arch with multiprocessor extension.
* Add missing OBJCOPY variable to Makefile.inCorinna Vinschen2016-03-261-0/+1
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Throughout Cygwin, use u_intN_t or uintN_tCorinna Vinschen2016-03-2416-82/+86
| | | | | | | | | | Don't use u_char, u_short, u_int or u_long in Cygwin, unless it refers to the Winsock types. Use u_intN_t in BSD-based sources, unsigned char where strings are concerned, uintN_t otherwise. Also: * net.cc: Fix comment, we're not using u_long anymore. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Change definition of b64_pton from K&R to ANSICorinna Vinschen2016-03-241-4/+1
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix return type of get_routedstCorinna Vinschen2016-03-241-1/+1
| | | | | | * net.cc (get_routedst): Correctly return in_addr_t. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Remove unused function convert_ifr_flagsCorinna Vinschen2016-03-241-14/+0
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix FIONBIO commentsCorinna Vinschen2016-03-242-3/+4
| | | | | | | FIONBIO is defined in sys/termios.h and asm/socket.h. Align the comments. Remove unused REAL_FIONBIO. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Drop usage of old-age BSD types in generically used Cygwin headersCorinna Vinschen2016-03-247-49/+48
| | | | | | | | | | | | | | | | | | | | | | | | u_char, u_short, u_int, u_long are BSD-only types. Remove them from Cygwin headers which are supposed to be used in a non-BSD scenario. Drop special Cygwin handling of those types in sys/types.h. newlib: * libc/include/sys/types.h (u_char,u_short,u_int,u_long): Drop Cygwin exception. cygwin: * fhandler_socket.cc (fhandler_socket::ioctl): Accommodate change in include/asm/socket.h. Continue using u_long since that's the MS type here. * include/asm/socket.h: Since the type given in _IOR/_IOW macros is only used for its sizeof, replace u_long with equivalent long. * netdb.h (getnetbyaddr): Fix prototype. * netinet/ip.h: Replace old BSD-only types with generically defined old BSD types (u_char -> u_int8_t, etc). * netinet/tcp.h: Ditto. * netinet/udp.h: Ditto. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Define BSD u_intN_t types indiscriminatelyCorinna Vinschen2016-03-242-34/+14
| | | | | | | | | | | | | | The u_intN_t types are BSD types but sanctioned by POSIX. They are always defined when using Glibc headers so we follow suit. newlib: * libc/include/sys/types.h: Drop outdated __INTTYPES_DEFINED__ macro. Always define u_intN_t types. cygwin: * include/cygwin/types.h: Remove definition of u_intN_t types. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix coverity CID 143502: Null pointer dereferenceCorinna Vinschen2016-03-241-0/+2
| | | | | | | * libc/locale/ldpart.c (split_lines): Don't dereference result of strchr without checking for NULL pointer first. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Feature test macros overhaul: C++ TR1Yaakov Selkowitz2016-03-231-5/+5
| | | | | | | | | | | | While C++11 was the first version of the standard to use C99 functionality, TR1 (for C++03) also does, and G++ does not distinguish between C++98 and C++03, or when TR1 is in use. Therefore, while not strictly correct for "pure" C++98, enabling C99 for all C++ usage is the simplest solution (and much better than always using -D_GNU_SOURCE as on Linux). See thread starting: https://sourceware.org/ml/newlib/2016/msg00297.html Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* testCorinna Vinschen2016-03-230-0/+0
|
* Add release message for commit 59b3bd2Corinna Vinschen2016-03-231-0/+4
|
* Only allow enabled groups as primary groupCorinna Vinschen2016-03-231-6/+45
| | | | | | | | | | | | So far any group in the user's token could be used as primary group. Windows doesn't check if the primary group is enabled or not, it just has no meaning. From a POSIXy point of view it can lead to weird results though. * uinfo.cc (check_token_membership): New static function. (internal_getlogin): Only allow enabled groups as primary group. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Use 64K buffers for TOKEN_GROUPSCorinna Vinschen2016-03-231-3/+3
| | | | | | | | | | A user token can be up to 64K in size. Using 32K buffers for TOKEN_GROUPS may be insufficient. * uinfo.cc (get_logon_sid): Use 64K buffers for the TOKEN_GROUPS array. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Allocate temporary TOKEN_GROUP arrays using TLSCorinna Vinschen2016-03-231-28/+12
| | | | | | | | | | | | | A user token can be up to 64K in size. The group list might take a lot of that so use tmp_pathbuf allocated space rather than stack space allocted via alloca. In create_token the TOKEN_GROUP was allocated via malloc, but the code is needlessly complicated. Simplify by using tmp_pathbuf as well. * sec_auth.cc (verify_token): Allocate TOKEN_GROUP via tmp_pathbuf. (create_token): Ditto. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cxx.cc: Disable C++14 warning for new sized delete operatorCorinna Vinschen2016-03-231-0/+4
| | | | | | | | | As long as we're not building in C++14 mode, the definition of the sized delete operator results in a compatibility warning. * cxx.cc (operator delete): Disable C++14 warning for sized variant. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add c++14 sized deallocation operatorPeter Foley2016-03-231-0/+5
| | | | | | | | | | | When compiling with -std=c++14 (the default for gcc 6.0+), the sized deallocation operator must be defined to prevent undefined symbols when linking. winsup/cygwin/ChangeLog: cxx.cc (operator delete(void *p, size_t)): Define. Signed-off-by: Peter Foley <pefoley2@pefoley.com>
* Drop Cygwin-only posix_memalign prototypeCorinna Vinschen2016-03-232-5/+0
| | | | | | | | | | newlib: * libc/include/stdlib.h (posix_memalign): Drop __rtmes__ guards. cygwin: * include/cygwin/stdlib.h (posix_memalign): Drop prototype. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Use DnsFree instead of deprecated DnsRecordListFreePeter Foley2016-03-232-2/+2
| | | | | | | | | | | | | | | The latest version of the mingw headers have been updated to make DnsRecordListFree an alias of DnsFree when targeting Windows XP or later. Use DnsFree directly, avoiding the wrapper function. /home/peter/cross/src/cygwin/winsup/cygwin/libc/minires-os-if.c:289: undefined reference to `DnsFree' winsup/cygwin/ChangeLog autoload.cc: Load DnsFree rather then DnsRecordListFree libc/minires-os-if.cc (cygwin_query): Use DnsFree rather then DnsRecordListFree Signed-off-by: Peter Foley <pefoley2@pefoley.com>
* Target/Host configuration elucidatedKonrad Schwarz2016-03-231-1/+4
|
* Guard u_char,u_short,u_int,u_long with __MISC_VISIBLECorinna Vinschen2016-03-231-1/+1
| | | | | | | | | These types are available in SVID as well. * libc/include/sys/types.h (u_char,u_short,u_int,u_long): Replace __BSD_VISIBLE with __MISC_VISIBLE. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix "/*" within comment warningSebastian Huber2016-03-221-1/+1
| | | | Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
* stdio: fseeko/ftello are also POSIX.1-2001Yaakov Selkowitz2016-03-221-1/+1
| | | | | | | | _LARGEFILE_SOURCE, which controls only these two functions, is implicitly defined by _XOPEN_SOURCE >= 500. However, they are also later added to POSIX.1-2001 (and therefore available by default). Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* pthread.h: Mark pthread_exit() as not returningJoel Sherrill2016-03-221-1/+1
|
* epiphany/machine/stdlib.h: Disable epiphany unique random wrappers for RTEMSJoel Sherrill2016-03-221-0/+2
|
* newlib/configure.host: Turn off sti/cli for i386 setjmp for i386-rtems*Joel Sherrill2016-03-221-0/+2
| | | | | | | | | | When running RTEMS paravirtualized in user space, the cli/sti instructions can't be used. But I can't see why they are needed in either user or supervisor state. Turning the use of them off for RTEMS. This code is unmodified since the beginning of the repository, so I have no insight into why it was done. I may even have been the one to add them. Absolutely no idea except they aren't necessary.
* Remove spurious empty line in changelog entry.Nick Clifton2016-03-221-0/+5
|
* PR external/{16327,16328}: Remove etc/configure.texi and etc/standards.texi.Ludovic Courtès2016-03-2215-9241/+23
| | | | | | | | | | | | | | | | | | | | | | etc/ChangeLog 2014-06-27 Ludovic Courtès <ludo@gnu.org> PR external/16327 PR external/16328 * Makefile.in (MAKEINFO, TEXI2DVI, TEXI2PDF, TEXI2HTML, DVIPS) (TEXIDIR, INFOFILES, DVIFILES, PDFFILES, HTMLFILES): Remove. (all): Remove dependency on 'info'. (install): Remove dependency on 'install-info'. (standards.info, standards.html, standards.dvi, standards.ps) (standards.pdf, configure.info, configure.dvi, configure.ps) (configure.pdf, configure.pdf): Remove. (info, install-info, html, install-html, dvi, pdf, install-pdf) clean, maintainer-clean, realclean): Remove body. * etc/configbuild.ein, etc/configbuild.fig, etc/configbuild.jin, etc/configbuild.tin, etc/configdev.ein, etc/configdev.fig, etc/configdev.jin, etc/configdev.tin, etc/configure.texi, etc/fdl.texi, etc/gnu-oids.texi, etc/make-stds.texi, etc/standards.texi: Remove.
* Fix generation of as.1 manual page so that it can be converted to DocBook ↵Nick Clifton2016-03-221-1/+1
| | | | | | | format. etc * texi2pod.pl: Add TARGET to the list of recognised man page sections.
* Sync toplevel with upstream GCC.Corinna Vinschen2016-03-2284-7070/+12666
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Remove Mingw.org from FAQ, or replace with Mingw-w64.Corinna Vinschen2016-03-212-13/+10
| | | | | | | * faq-api.xml: Change MingW to Mingw-w64. * faq-programming.xml: Ditto. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add nonnull annotation to posix_memalign.Peter Foley2016-03-212-3/+2
| | | | | | | | | | | | | | | | GCC 6.0+ asserts that the memptr argument to the builtin function posix_memalign is nonnull. Add the necessary annotation to the prototype and remove the now unnecessary check to fix a warning. newlib/Changelog newlib/libc/include/stdlib.h: Annotate arg to posix_memalign as non-null. winsup/cygwin/ChangeLog malloc_wrapper.cc (posix_memalign): Remove always true nonnull check. Signed-off-by: Peter Foley <pefoley2@pefoley.com>
* Remove misleading indentationPeter Foley2016-03-212-3/+6
| | | | | | | | | | | GCC 6.0+ warns on misleading indentation, so fix it. winsup/cygserver/ChangeLog * sysv_msg.cc (msgsnd): Fix misleading indentation. * sysv_msg.cc (msgrcv): Ditto. * sysv_sem.cc (semop): Ditto. Signed-off-by: Peter Foley <pefoley2@pefoley.com>
* Move arc4random Cygwin only code to CygwinSebastian Huber2016-03-213-15/+25
| | | | | | Keep the Newlib arc4random.c identical to the OpenBSD upstream version. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>.
* srandom: Replace accessing /dev/random by equivalent getentropy callCorinna Vinschen2016-03-201-10/+1
| | | | | | | | | | /dev/random calls getentropy. So there's no good reason to go out of our way to open /dev/random just to call getentropy anyway. * random.cc (srandomdev): Drop opening /dev/random in favor of calling getentropy. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Revert "Use high-resolution timebases for select()."Corinna Vinschen2016-03-203-141/+70
| | | | | | This reverts commit 6e70fd315a29578f090a98f84e9d8e95ddb156e3. Revert accidental push
* Revert "Debug printfs."Corinna Vinschen2016-03-203-21/+2
| | | | | | This reverts commit 9f82de59a07da145c177648fe474f19cd9def7a1. Revert accidental push
* Revert "Improve and simplify select()."Corinna Vinschen2016-03-203-15/+76
| | | | | | This reverts commit 472d0a228c56bd4783ebb0561667cda2de3cd168. Revert accidental push
* Drop redundant arc4random prototypes from cygwin/stdlib.hCorinna Vinschen2016-03-201-6/+0
| | | | | | | | | Newlib's default stdlib.h now defines these functions so we can drop them from the Cygwin-specific header. Remove the arc4random_stir and arc4random_uniform prototypes entirely. They shouldn't be used by applications anymore. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Allow machine-dependent arc4 lockingCorinna Vinschen2016-03-202-18/+35
| | | | | | | | | | | | newlib: * libc/stdlib/arc4random.h: Remove Cygwin-specific locking code. Conditionalize arc4 locking. Check for _ARC4_LOCK_INIT being undefined to fall back to default implementation. cygwin: * include/machine/_arc4random.h: New file. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Improve and simplify select().John Hood2016-03-203-76/+15
| | | | | | | | | | * cygwait.h (cygwait_us) Remove; this reverts previous changes. * select.h: Eliminate redundant select_stuff::select_loop state. * select.cc (select): Eliminate redundant select_stuff::select_loop state. Eliminate redundant code for zero timeout. Do not return early on early timer return. (select_stuff::wait): Eliminate redundant select_stuff::select_loop state.
* Debug printfs.John Hood2016-03-203-2/+21
| | | | | | | * fhandler.cc (fhandler_base::get_readahead): Add debug code. * fhandler_console.cc (fhandler_console::read): Add debug code. * select.cc (pselect): Add debug code. (peek_console): Add debug code.
* Use high-resolution timebases for select().John Hood2016-03-203-70/+141
| | | | | | | | | | | | * cygwait.h: Add cygwait_us() methods. * select.h: Change prototype for select_stuff::wait() for larger microsecond timeouts. * select.cc (pselect): Convert from old cygwin_select(). Implement microsecond timeouts. (cygwin_select): Rewrite as a wrapper on pselect(). (select): Implement microsecond timeouts. (select_stuff::wait): Implement microsecond timeouts with a timer object.
* * winsup/testsuite/configure: chmod a+xJohn Hood2016-03-201-0/+0
|
* Move get_nonascii_key into fhandler_console.John Hood2016-03-203-5/+3
| | | | | | | * fhandler.h (fhandler_console): Move get_nonascii_key() from select.c into this class. * select.cc (peek_console): Move get_nonascii_key() into fhandler_console class.
* respect datarootdirPeter Foley2016-03-201-0/+1
| | | | | | | | | | Recent versions of autoconf define datadir/infodir in terms of datarootdir. Add it. winsup/ChangeLog * Makefile.in: define datarootdir Signed-off-by: Peter Foley <pefoley2@pefoley.com>