summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Switching the Cygwin DLL to LGPLv3+, dropping commercial buyout optioncygwin-2_5_2-releaseCorinna Vinschen2016-06-23408-1053/+347
| | | | | | | | | | | | | | Bump GPLv2+ to GPLv3+ for some files, clarify BSD 2-clause. Everything else stays under GPLv3+. New Linking Exception exempts resulting executables from LGPLv3 section 4. Add CONTRIBUTORS file to keep track of licensing. Remove 'Copyright Red Hat Inc' comments. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for commit 2c83227Corinna Vinschen2016-06-211-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Drop useless calls to path_conv.isgood_inodeCorinna Vinschen2016-06-211-6/+2
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Use correct file info (especially inode number) for newly created filesCorinna Vinschen2016-06-211-3/+9
| | | | | | | | | | | | | | fhandler_base::open_fs has two problems: - When newly creating a file, the file info in the path_conv is incorrect. It points to info for the parent dir, not to info for the file itself (which, naturally, wasn't available before). - Fetching the file's inode number only worked for non-NFS. Both problems should be fixed now by reloading file info if the file has just been created, as well as using the new FS-agnostic path_conv::get_ino method. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Use new path_conv_handle functions to access file infoCorinna Vinschen2016-06-212-15/+5
| | | | | | | This avoids having to call nfs_fetch_fattr3/file_get_fai depending on FS type as well as having to extract the info FS dependent. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Improve encapsulation of FS type behind path_conv coverCorinna Vinschen2016-06-211-3/+24
| | | | | | | | | | | Rather than having to check for the FS type in the caller and having to call different functions whether FS is NFS or not, encapsulate the info in path_conv_handle/path_conv methods to allow FS type agnostic calling from upper level functions. This patch only implements the methods. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* sys/time.h: Change visibility of gettimeofday.Corinna Vinschen2016-06-201-1/+2
| | | | | | | gettimeofday is currently guarded with __MISC_VISIBLE || __XSI_VISIBLE. However, gettimeofday should be always visible, as in GLibc. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Re-enable malloc_lock for newlib-nanoAndre Vieira (lists)2016-06-161-3/+2
| | | | | Re-enable the use of __malloc_lock and __malloc_unlock newlib-nano, tied the newlib-multithread.
* uinfo.cc: More comment fixes, remove unused testing code.Corinna Vinschen2016-06-151-12/+4
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* uinfo.cc: Fix commentCorinna Vinschen2016-06-151-2/+2
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Declare crypt, encrypt, and setkey per PosixKen Brown2016-06-092-0/+9
|
* Fix typos in comments and debug output in select_stuff::waitCorinna Vinschen2016-06-081-3/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for commit 7239bb7b3ded5ab961dc56dc346d8ab83660ba29Corinna Vinschen2016-06-061-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for select(2) changesCorinna Vinschen2016-06-061-0/+2
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Improve timer handling in select.Corinna Vinschen2016-06-061-43/+50
| | | | | | | | | | | | | | | | | | | | | | | Commit a23e6a35d896a075640db714b28ce74bb6b8d7ff introduced a timer object to the WFMO handling in select_stuff::wait to allow sub-tickcount timeout values in select. Problems with this patch: The timer was created and destroyed on every invocation of select_stuff::wait, thus potentially multiple times per select. Also, since the timer was prepended to the WFMO hande list, the timer handle could shadow actual events on other objects, given that WFMO checks the objects in the order they have been specified in the HANDLE array. The timer was also created/destroyed and added to the HANDLE array even if it was not required. This patch drops the local timer HANDLE and recycles the cw_timer HANDLE in the cygtls area instead. Thus we typically don't need to create the timer in select at all, and we never have to destroy it. The timer HANDLE is now also appended as last object to the HANDLE array, and it's only added if actually needed. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix condition in select which results in busy loop.Corinna Vinschen2016-06-061-1/+1
| | | | | | | | | | | The check for current timestamp > start timestamp has an unwelcome side effect: The loop is not left as long as the current timestamp hasn't been incremented. This leads to busy loops of about one tick (10 to 16 ms per MSDN). This fixes https://cygwin.com/ml/cygwin/2016-05/msg00327.html Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Return at most one line of input in canonical modeTakashi Yano2016-06-061-6/+5
| | | | | | | | | | | | | | | | | 'man termios' says: "A read(2) returns at most one line of input" in canonical mode. On cygwin 2.5.1, read(2) returns all data in buffer if the buffer size specified is large enough. This behaviour is correct in noncanonical mode, but is not correct in canonical mode. While checking this problem, I found a bug of tcflush(). tcflush() flushes only partial data in the buffer. The patch also fixes this bug. The patch has also been tested against the problem reported in https://cygwin.com/ml/cygwin/2016-05/msg00318.html. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Allow 'make distclean' to clean winsup/cygwinKen Brown2016-06-062-7/+9
| | | | But don’t let it remove source files.
* Only regenerate tlsoffsets{64}.h if cygtls.h can be compiledCorinna Vinschen2016-06-061-1/+1
| | | | | | | | | | | | The rule to make tlsoffset{64}.h has a flaw. If cygtls.h can't be built for whatever reason, it *still* regenerates tlsoffsets{64}.h, just with size 0. If the bug is not in cygtls.h itself, this behaviour breaks further building, because fixing the problem won't result in regenerating tlsoffset{64}.h. Manual intervention is required. Fix that by removing tlsoffsets{64}.h if gentls_offsets fails. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* cygwin: include sys/types.h in sys/xattr.hYaakov Selkowitz2016-06-031-0/+1
| | | | | | | Using libattr's <xattr/xattr.h> requires consumers to explicitly include <sys/types.h> first, but glibc's header in sys/ already contains the include. Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* sched.cc: Use PROCESS_QUERY_INFORMATION for nowCorinna Vinschen2016-06-031-2/+1
| | | | | | | | Temporarily revert to use PROCESS_QUERY_INFORMATION instead of PROCESS_QUERY_LIMITED_INFORMATION to make sure every aspect of the next release is still XP/2003 compatible. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Revert "Cygwin hangs up if several keys are typed during outputting a lot of ↵Corinna Vinschen2016-06-011-1/+1
| | | | | | | | | texts." This reverts commit 252a07b0ad3353abcd0fcd9b1b65ff977acd679e. This change introduced a hang in certain scenarios, for an example see https://cygwin.com/ml/cygwin/2016-05/msg00318.html
* dlopen: Add dot to filename if no slash is presentCorinna Vinschen2016-06-011-1/+1
| | | | | | | | We're appending a dot to the filename before calling LoadLibrary to override ".dll" automagic. This only worked for paths, not for simple filenames since it required a slash in the pathname. Fix that. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Cygwin: Add release messages for previous two commitsCorinna Vinschen2016-05-311-0/+6
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* realpath: Handle Win32 and NT long path prefixesCorinna Vinschen2016-05-311-4/+6
| | | | | | | | | | So far drive letter paths have been handled special since path_conv leaves the incoming path untouched except for converting backslashes to forward slashes. However, if the incoming path starts with a long path prefix, the same problem occurs. Therefore handle all paths starting with a backslahs the same way. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* math.h: Replace usage of INT_MAX with __INT_MAX__Corinna Vinschen2016-05-311-2/+2
| | | | | | | Using INT_MAX requires to include limits.h on most targets. Math.h must not rely on that. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add comment in the v850's crt0.S file noting that separate LMA and VMA ↵newlib-snapshot-20160527Nick Clifton2016-05-261-0/+9
| | | | addresses for data sections are not currently supported.
* arc: Have nops in _exit_halt only for ARCompactAnton Kolesov2016-05-251-6/+9
| | | | | | | | | | | ARCompact processors (ARC 600 and ARC 700) require three "nop"s after the "flag 1" instruction. Later ARC processors do not have this requirement, so it is possible to reduce size of "_exit_halt" for them. libgloss/ 2016-05-24 Anton Kolesov <Anton.Kolesov@synopsys.com> * arc/crt0.S (_exit_halt): Insert nops only for ARCompact.
* arc: Rework default exception handlers for ARC EM and HSAnton Kolesov2016-05-251-73/+34
| | | | | | | | | | | | | | | | | | | | | | Initially crt0.S used a special function, declared as weak as a default exception handler in interrupt vector table. To let user override individual handlers, this function had multiple names - one for each IVT entry, which, however, was terribly confusing for the debugger and user - because it wasn't clear which symbol will be used as a function name in debugger. Defining multiple separate functions - one for each handler, would resolve the mess, but would increase code size of crt0.o. To clean this up, this patch defines exception handlers as weak symbols as well, but those are defined as just symbols, not functions, hence there would be less confusion over what is what. At the same time, users still can redefine exception handlers symbol by creating functions with respective names. libgloss/ 2016-05-24 Anton Kolesov <Anton.Kolesov@synopsys.com> * arc/crt0.S: Convert memory_error and friends to non-function symbols.
* TZ: Replace unreliable isupper calls on wcharsCorinna Vinschen2016-05-251-2/+4
| | | | | | | | | In case the TZ variable is empty, Cygwin fetches timezone info from Windows. Extracting the timezone short name uses isupper on wide chars. Replace with explicit check for A <= character <= Z to be independent of undefined behaviour. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Git is Git, not GITAdam Dinwoodie2016-05-242-3/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix typo and wrong URL in winsup/READMECorinna Vinschen2016-05-241-3/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Feature test macros: ctermid, cuseridYaakov Selkowitz2016-05-232-3/+13
| | | | | | | | | | The proper location for these functions has always been <stdio.h>, however XPG4 and SUSv2 did mandate a duplicate declaration in <unistd.h>. cuserid was dropped in SUSv3 (it was marked legacy since XPG4) and the ctermid declaration in <unistd.h> was made optional and obsolete in SUSv4. Fixes: https://cygwin.com/ml/cygwin/2016-05/msg00002.html Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* Add release message for previous mmap fixCorinna Vinschen2016-05-201-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* mmap: Fix size restriction of maps due to using 32 bit size typeCorinna Vinschen2016-05-202-35/+36
| | | | | | | | | Throughout mmap, size-related variables and parameters are still using DWORD as type, which disallows mapping ranges > 4Gigs. Fix this by using SIZE_T throughout for those vars and parameters. Also, drop unused off parameter from 1st variant of mmap_record::map_pages. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Add release message for scheduler fixesCorinna Vinschen2016-05-201-0/+3
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix thread priority handlingCorinna Vinschen2016-05-201-9/+11
| | | | | | | | | | | | | | | So far pthread::postcreate() only sets the thread priority at all, only if the inherit-scheduler attribute is PTHREAD_EXPLICIT_SCHED. This completely ignores the PTHREAD_INHERIT_SCHED case, since in contrast to POSIX, a thread does not inherit its priority from the creating thread, but always starts with THREAD_PRIORITY_NORMAL. pthread_getschedparam() only returns what's stored in the thread attributes, not the actual thread priority. This patch fixes both problems. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Rewrite scheduler functions getting and setting process and thread priorityCorinna Vinschen2016-05-202-172/+173
| | | | | | | | | | | | | | | | So far the scheduler priority handling is not POSIX compatible. The priorities use a range of -14 up to +15, which means it's not clear if the POSIX-required return value of -1 in case of an error is *really* an error or just the valid priority value -1. Even more confusing, -14 is the *max* value and 15 is the *min* value. Last but not least this range doesn't match the POSIX requirement of at least 32 priority values. This patch cleans up scheduler priority handling and moves the valid priority range to 1 (min) - 32 (max). It also adds a function sched_get_thread_priority() which will help to make thread priority more POSIX-like. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* libgloss/ft32: fix whitespace in MakefileYaakov Selkowitz2016-05-201-29/+29
| | | | Signed-off-by: Yaakov Selkowitz <yselkowi@redhat.com>
* Miscellaneous style cleanup, whitespace only.John Hood2016-05-201-2/+2
|
* Improve and simplify select().John Hood2016-05-202-49/+15
| | | | | | | | | * 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.
* Use high-resolution timebases for select().John Hood2016-05-202-70/+114
| | | | | | | | | | | * 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.
* Sync toplevel configure with upstream GCC.Anton Kolesov2016-05-202-46/+24
| | | | | | | | | | | | | | | | | | | | This fixes a problem, where libgloss wouldn't be built for ARC processors, even though it is actually supported. The original patch that introduced support for ARC in libgloss hasn't been submitted to GCC maillist, hence when top-level configure has been synced with GCC - this libgloss patch has been effectively reverted. Libgloss support for ARC has been accepted in GCC: https://gcc.gnu.org/ml/gcc-patches/2016-05/msg01148.html ChangeLog 2016-05-17 Anton Kolesov <Anton.Kolesov@synopsys.com> * configure.ac: Sync with upstream GCC. * configure: Regenerate. Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
* Add rawmemchrWilco Dijkstra2016-05-204-2/+118
| | | | | | | | | | | | | | | | | | | | | | | Marcus Shawcroft wrote: > This patch appears to have been munged by the mail system, can you > repost as an attachment please. Sure, I've attached the patch. Wilco Add a simple rawmemchr implementation. Use strlen for rawmemchr(s, '\0') as it is the fastest way to search for '\0', and use memchr with an infinite size for other cases. This is 3x faster for large sizes. ChangeLog: 2016-04-22 Wilco Dijkstra <wdijkstr@arm.com> * newlib/libc/machine/aarch64/Makefile.in: Add rawmemchr.S and rawmemchr-stub.c. * newlib/libc/machine/aarch64/Makefile.am: Likewise. * newlib/libc/machine/aarch64/rawmemchr.S (rawmemchr): Add rawmemchr. * newlib/libc/machine/aarch64/rawmemchr-stub.c (rawmemchr): Likewise.
* Bump Cygwin DLL version to 2.5.2Corinna Vinschen2016-05-182-1/+14
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Make sure to have full configuration info in sys/_types.h.Corinna Vinschen2016-05-181-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | The following testcase: $ cat > test.c <<EOF #include <sys/select.h> #include <sys/time.h> EOF $ gcc -c test.c emits the following error: /usr/include/sys/reent.h:276:3: error: expected specifier-qualifier-list befor e ‘_fpos64_t’ _fpos64_t _EXFNPTR(_seek64, (struct _reent *, _PTR, _fpos64_t, int)); ^ The reason is that the load order from sys/select.h includes sys/_types.h before sys/config.h has been included from anywhere else. sys/_types.h defines _fpos64_t only if __LARGE64_FILES is defined, but it never is in this scenario. So sys/_types.h has to make sure to get the configuration info by itself. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix strlen using Thumb-2 with -Os -marmJeff Johnston2016-05-112-4/+10
| | | | | | | | | 2016-04-18 Thomas Preud'homme <thomas.preudhomme@arm.com> * libc/machine/arm/strlen-stub.c: Check capabilities of architecture to decide which Thumb implementation to use and fall back to C implementation for architecture not supporting Thumb mode. * libc/machine/arm/strlen.S: Likewise.
* Fix libgloss arc nsim specs file.Jeff Johnston2016-05-111-1/+1
|
* Add port for Phoenix-RTOS in common configure files.Jeff Johnston2016-05-094-0/+40
|
* Allow autoconf link-time tests to detect arc4random for RTEMS.Jeff Johnston2016-05-091-0/+5
|