summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Cygwin: symlink_info::check: avoid assertion failureKen Brown2019-12-091-1/+2
| | | | | | | | | | | On certain error conditions there is a code snippet that checks whether the last component of the path has a trailing dot or space or a leading space. Skip this check if the last component is empty, i.e., if the path ends with a backslash. This avoids an assertion failure if the trailing backslash is the only backslash in the path, as is the case for a DOS drive 'X:\'. Addresses: https://cygwin.com/ml/cygwin/2019-12/msg00016.html
* libm: switch sf_log1p from double error routines to floatKeith Packard2019-12-022-4/+2
| | | | | | | | | sf_log1p was using __math_divzero and __math_invalid, which drag in a pile of double-precision code. Switch to using the single-precision variants. This also required making those available in __OBSOLETE_MATH mode. Signed-off-by: Keith Packard <keithp@keithp.com>
* Cygwin: /proc/[PID]/stat to pull process priority correctlyAnton Lavrentiev via cygwin-patches2019-12-021-2/+3
| | | | Fix to prior commit 5fa9a0e7 to address https://cygwin.com/ml/cygwin/2019-08/msg00082.html
* newlib/libc/include/sys/features.h: update __STDC_ISO_10646__Brian Inglis2019-11-261-3/+7
| | | | | | | newlib wide char conversion functions were updated to Unicode 11 on 2019-01-12 update standard symbol __STDC_ISO_10646__ to Unicode 11 release date 2018-06-05 for Cygwin
* Cygwin: pty: Convert CamelCase names to snake_case names.Takashi Yano2019-11-188-60/+60
|
* newlib: fix fseek optimization with SEEK_CURBastien Bouclet2019-11-182-50/+12
| | | | | | | The call to fflush was invalidating the read buffer, preventing relative seeks to positions that would have been inside the read buffer from being optimized. The call to srefill would then re-read mostly the same data that was initially in the read buffer.
* Cygwin: pty: Trigger redraw screen if ESC[?3h or ESC[?3l is sent.Takashi Yano2019-11-151-0/+22
| | | | | | | | | | - Pseudo console clears console screen buffer if ESC[?3h or ESC[?3l is sent. However, xterm/vt100 does not clear screen. This cause mismatch between real screen and console screen buffer. Therefore, this patch triggers redraw screen in that situation so that the synchronization is done on the next execution of native app. This solves the problem reported in: https://www.cygwin.com/ml/cygwin-patches/2019-q4/msg00116.html
* Cygwin: console: Revise the code checking if the console is legacy.Takashi Yano2019-11-131-14/+15
| | | | | | | - Accessing shared_console_info before initializing causes access violation in checking if the console is legacy mode. This patch fixes this issue. This solves the problem reported in: https://www.cygwin.com/ml/cygwin-patches/2019-q4/msg00099.html
* Cygwin: pty: Use redraw screen instead of clear screen.Takashi Yano2019-11-133-16/+18
| | | | | | | | | | - Previously, pty cleared screen at startup for synchronization between the real screen and console screen buffer for pseudo console. With this patch, instead of clearing screen, the screen is redrawn when the first native program is executed after pty is created. In other words, synchronization is deferred until the native app is executed. Moreover, this realizes excluding $TERM dependent code.
* regtool: allow /proc/registry{,32,64}/ registry path prefixBrian Inglis2019-11-132-5/+19
| | | | | The user can supply the registry path prefix /proc/registry{,32,64}/ to use path completion.
* Stash reent marker in upper bits of s1 on AMD GCNKwok Cheung Yeung2019-11-081-10/+10
| | | | | | | s[0:3] contain a descriptor used to set up the initial value of the stack, but only the lower 48 bits of s[0:1] are currently used. The reent marker is currently set in s3, but by stashing it in the upper 16 bits of s[0:1] instead, s3 can be freed up for other purposes.
* Cygwin: Doc change to note stackdump limit patchMark Geisert2019-11-081-0/+3
|
* Cygwin: Raise dumpstack frame limit to 32Mark Geisert2019-11-081-2/+4
| | | | Create a #define for the limit and raise it from 16 to 32.
* Cygwin: console, pty: Prevent error in legacy console mode.Takashi Yano2019-11-084-17/+46
|
* Cygwin: pty: Change how to determine if running as service or not.Takashi Yano2019-11-061-14/+3
|
* Cygwin: document console helper patchCorinna Vinschen2019-11-051-0/+4
| | | | Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Cygwin: fix quoting when starting invisible console processCorinna Vinschen2019-11-051-5/+7
| | | | | | | | | | | | | | | | | | | | fhandler_console::create_invisible_console_workaround() does not use the lpApplicationName parameter and neglects to quote its command name on lpCommandLine in the call to CreateProcessW. Given CreateProcessW's brain-dead method to evaluate the application path given on the command line, this opens up a security problem if Cygwin is installed into a path with spaces in it. Fix this by using the lpApplicationName parameter and quoting of the application path in the lpCommandLine parameter (used as argv[0] in the called console helper. For extended paranoia, make the argument string array big enough to fit full 64 bit pointer values into it. Handles usually only use the lower 32 bit, but better safe than sorry. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Cygwin: devices: drop MAX_CONSOLES and fix FH_CONS_MAXCorinna Vinschen2019-11-041-2/+1
| | | | | | | | FH_CONS_MAX should refelect the fact that we allow 128 consoles, even if it's unused. Suggested-by: Achim Gratz <Stromeko@nexgo.de> Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Move timeval macros to <sys/time.h>Sebastian Huber2019-11-042-32/+31
| | | | | In FreeBSD, NetBSD, and OpenBSD these macros are defined in <sys/time.h>.
* Synchronize <sys/time.h> with FreeBSDSebastian Huber2019-11-041-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | This change is based on the FreeBSD commit: Author: asomers <asomers@FreeBSD.org> Date: Mon Jul 30 15:46:40 2018 +0000 Make timespecadd(3) and friends public The timespecadd(3) family of macros were imported from NetBSD back in r35029. However, they were initially guarded by #ifdef _KERNEL. In the meantime, we have grown at least 28 syscalls that use timespecs in some way, leading many programs both inside and outside of the base system to redefine those macros. It's better just to make the definitions public. Our kernel currently defines two-argument versions of timespecadd and timespecsub. NetBSD, OpenBSD, and FreeDesktop.org's libbsd, however, define three-argument versions. Solaris also defines a three-argument version, but only in its kernel. This revision changes our definition to match the common three-argument version. Bump _FreeBSD_version due to the breaking KPI change. Discussed with: cem, jilles, ian, bde Differential Revision: https://reviews.freebsd.org/D14725
* Synchronize <sys/_timespec.h> with FreeBSDSebastian Huber2019-11-041-2/+4
|
* Fix sbttons for values > 2simp2019-11-041-2/+9
| | | | | | | Add test against negative times. Add code to cope with larger values properly. Discussed with: bde@ (quite some time ago, for an earlier version)
* Cygwin: fix process parent/child relationship after execveCorinna Vinschen2019-11-024-23/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 5a0f2c00aa "Cygwin: fork/exec: fix child process permissions" removed the PROCESS_DUP_HANDLE handle permission of the parent process handle in the child to avoid a security problem. It turned out that this broke the following scenario: If a process forks and then the parent execs, the child loses the ability to register the parent's death. To wit, after the parent died the child process does not set its own PPID to 1 anymore. The current exec mechanism copies required handle values (handles to keep contact to the child processes) into the child_info for the about-to-be-exec'ed process. The exec'ed process is supposed to duplicate these handles. This fails, given that we don't allow the exec'ed process PROCESS_DUP_HANDLE access to the exec'ing process since commit 5a0f2c00aa. The fix is to avoid the DuplicateHandle calls in the exec'ed process. This patch sets the affected handles to "inheritable" in the exec'ing process at exec time. The exec'ed process just copies the handle values and resets handle inheritance to "non-inheritable". The exec'ing process doesn't have to reset handle inheritance, it exits after setting up the exec'ed process anyway. Testcase: $ ssh-agent /bin/sleep 3 ssh-agent forks and the parent exec's sleep. After sleep exits, `ps' should show ssh-agent to have PPID 1, and eventually ssh-agent exits. Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
* Fix libgloss being built for disabled multilibsJozef Lawrynowicz2019-11-022-0/+2
| | | | | | | | | Target libraries are considered to be built for GCC's "host", not GCC's "target". The "host" variable must be set by configure scripts using "config-ml.in" to determine multilib support, otherwise disabled multilibs (specified as a configure argument with --disable-<multilib>) will still be built for the subdirectories those configure scripts reside in.
* Cygwin: getpriority() consistent with process priorityAnton Lavrentiev via cygwin-patches2019-10-311-1/+6
| | | | https://cygwin.com/ml/cygwin/2019-08/msg00122.html
* Add PRU license to COPYING.NEWLIB and COPYING.LIBGLOSSJeff Johnston2019-10-312-0/+54
|
* PRU: Align libmath to PRU ABIDimitar Dimitrov2019-10-3118-2/+6719
| | | | | | | | The TI proprietary toolchain uses nonstandard names for some math library functions. In order to achieve ABI compatibility between GNU and TI toolchains, add support for the TI function names. Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
* Fix some generated filesJeff Johnston2019-10-314-16/+16
|
* Initial PRU port for libgloss and newlibDimitar Dimitrov2019-10-3132-3/+11658
| | | | Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
* MSP430: Add missing build rule for unlink() to libgloss MakefileJozef Lawrynowicz2019-10-251-0/+1
|
* Cygwin: Provide more COM devicesAchim Gratz2019-10-232-613/+1727
| | | | | Provide for 128 COM devices since Windows likes to create lots of these over time (one per identifiable device and USB port).
* Cygwin: spawnvp, spawnvpe: fail if executable is not in $PATHKen Brown2019-10-182-3/+9
| | | | | | Call find_exec with the FE_NNF flag to enforce a NULL return when the executable isn't found in $PATH. Convert NULL to "". This aligns spawnvp and spawnvpe with execvp and execvpe.
* Cygwin: pty: Change the timing of clear screen.Takashi Yano2019-10-161-13/+13
|
* Cygwin: pty: Avoid detach console in the process running as service.Takashi Yano2019-10-161-0/+2
|
* riscv/sys/fenv.h: Add missing extern for fe_dfl_env_pJoel Sherrill2019-10-091-0/+2
|
* Add patch from Joel Sherrill for i386 and x86_64 fenv supportJeff Johnston2019-10-0837-9/+16544
|
* Cygwin: mkdir and rmdir: treat drive names speciallyKen Brown2019-10-072-5/+32
| | | | | | | | | | | | If the directory name has the form 'x:' followed by one or more slashes or backslashes, and if there's at least one backslash, assume that the user is referring to 'x:\', the root directory of drive x, and don't strip the backslash. Previously all trailing slashes and backslashes were stripped, and the name was treated as a relative file name containing a literal colon. Addresses https://cygwin.com/ml/cygwin/2019-08/msg00334.html.
* Cygwin: document recent changes to format_proc_cpuinfoKen Brown2019-10-072-0/+6
|
* fhandler_proc.cc(format_proc_cpuinfo): or model extension bitsBrian Inglis2019-10-071-1/+1
| | | | | or model extension bits into model high bits instead of adding arithmetically like family extension.
* fhandler_proc.cc(format_proc_cpuinfo): comment flags not reportedBrian Inglis2019-10-071-15/+15
| | | | | Comment out flags not reported by Linux in cpuinfo, although some flags may not be used at all by Linux.
* fhandler_proc.cc(format_proc_cpuinfo): add feature flagsBrian Inglis2019-10-071-9/+229
| | | | | Add 99 feature flags including AVX512 extensions, AES, SHA with 20 cpuid calls.
* fhandler_proc.cc(format_proc_cpuinfo): use feature test print macroBrian Inglis2019-10-071-268/+153
| | | | | | | Add feature test print macro that makes feature, bit, and flag text comparison and checking easier. Handle as common former Intel only feature flags also supported on AMD. Change order and some flag names to agree with current Linux.
* fhandler_proc.cc(format_proc_cpuinfo): add microcodeBrian Inglis2019-10-071-5/+21
| | | | Add microcode from Windows registry Update Revision REG_BINARY.
* fhandler_proc.cc(format_proc_cpuinfo): add bogomipsBrian Inglis2019-10-071-1/+3
| | | | Add bogomips which has been cpu MHz*2 since Pentium MMX.
* fhandler_proc.cc(format_proc_cpuinfo): round cpu MHzBrian Inglis2019-10-071-0/+1
| | | | Round cpu MHz to correct Windows and match Linux cpuinfo.
* fhandler_proc.cc(format_proc_cpuinfo): fix AMD physical cores countBrian Inglis2019-10-071-2/+1
| | | | Fix AMD physical cores count documented as core_info low byte + 1.
* fhandler_proc.cc(format_proc_cpuinfo): fix cpuid level countBrian Inglis2019-10-071-1/+18
| | | | Fix cpuid level count as number of non-zero leafs excluding sub-leafs.
* fhandler_proc.cc(format_proc_cpuinfo): fix cache sizeBrian Inglis2019-10-071-27/+18
| | | | Fix cache size return code handling and make AMD/Intel code common.
* Allow verifying _REENT_CHECK macros memory allocationJeff Johnston2019-10-076-5/+54
| | | | | | | | | | - change sys/reent.h to replace _REENT_CHECK_DEBUG with _REENT_CHECK_VERIFY which when set asserts that any memory allocated is non-NULL and calls __assert_func directly - add new --enable-newlib-reent-check-verify configure option - add support for configure.host to specify default for newlib_reent_check_verify - add _REENT_CHECK_VERIFY macro support to acconfig.h and newlib.hin
* Optimize epilogue sequence for architectures with POP interworking.Christos Gentsos2019-10-072-0/+12
| | | | | ARMv5 and above supports arm/thumb interworking using POP, so we can improve the exit sequence in this case.