]> sourceware.org Git - newlib-cygwin.git/log
newlib-cygwin.git
4 years agoChange the reent verify check option to document disabling it
Jeff Johnston [Tue, 21 Jan 2020 20:12:34 +0000 (15:12 -0500)]
Change the reent verify check option to document disabling it

- also change the handling of default_newlib_reent_check_verify to
  be the same as other default variables in configure.host
- regenerate newlib/configure

4 years agoDefault newlib_reent_check_verify to yes in configure.host
Jeff Johnston [Tue, 21 Jan 2020 19:54:49 +0000 (14:54 -0500)]
Default newlib_reent_check_verify to yes in configure.host

4 years agoCygwin: pty: Revise code waiting for forwarding by master_fwd_thread.
Takashi Yano [Tue, 21 Jan 2020 02:22:02 +0000 (11:22 +0900)]
Cygwin: pty: Revise code waiting for forwarding by master_fwd_thread.

- Though this rarely happens, sometimes the first printing of non-
  cygwin process does not displayed correctly. To fix this issue,
  the code for waiting for forwarding by master_fwd_thread is revised.

4 years agoriscv: Map between ieeefp.h exception bits and RISC-V FCSR bits
Keith Packard [Tue, 21 Jan 2020 06:46:36 +0000 (22:46 -0800)]
riscv: Map between ieeefp.h exception bits and RISC-V FCSR bits

If we had architecture-specific exception bits, we could just set them
to match the processor, but instead ieeefp.h is shared by all targets
so we need to map between the public values and the register contents.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoriscv: Add 'break' statements to fpsetround switch
Keith Packard [Tue, 21 Jan 2020 06:46:35 +0000 (22:46 -0800)]
riscv: Add 'break' statements to fpsetround switch

This makes the fpsetround function actually do something rather than
just return -1 due to the default 'fall-through' behavior of the switch
statement.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoriscv: Use current pseudo-instructions to access the FCSR register
Keith Packard [Tue, 21 Jan 2020 06:46:34 +0000 (22:46 -0800)]
riscv: Use current pseudo-instructions to access the FCSR register

Use fscsr and frcsr to store and read the FCSR register instead of
fssr and frsr.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoCygwin: document recent changes
Ken Brown [Fri, 17 Jan 2020 15:52:54 +0000 (10:52 -0500)]
Cygwin: document recent changes

4 years agoCygwin: fstatat, fchownat: support the AT_EMPTY_PATH flag
Ken Brown [Fri, 27 Dec 2019 22:38:32 +0000 (17:38 -0500)]
Cygwin: fstatat, fchownat: support the AT_EMPTY_PATH flag

Following Linux, allow the pathname argument to be an empty string if
the AT_EMPTY_PATH flag is specified.  In this case the dirfd argument
can refer to any type of file, not just a directory, and the call
operates on that file.  In particular, dirfd can refer to a symlink
that was opened with O_PATH | O_NOFOLLOW.

4 years agoCygwin: readlinkat: allow pathname to be empty
Ken Brown [Fri, 27 Dec 2019 22:17:35 +0000 (17:17 -0500)]
Cygwin: readlinkat: allow pathname to be empty

Following Linux, allow the pathname argument to be an empty string,
provided the dirfd argument refers to a symlink opened with
O_PATH | O_NOFOLLOW.  The readlinkat call then operates on that
symlink.

4 years agoCygwin: allow opening a symlink with O_PATH | O_NOFOLLOW
Ken Brown [Fri, 27 Dec 2019 16:43:58 +0000 (11:43 -0500)]
Cygwin: allow opening a symlink with O_PATH | O_NOFOLLOW

Up to now, opening a symlink with O_NOFOLLOW fails with ELOOP.
Following Linux, allow this to succeed if O_PATH is also specified.

4 years agoCygwin: normalize_win32_path: allow drive without trailing backslash
Ken Brown [Wed, 15 Jan 2020 15:49:21 +0000 (10:49 -0500)]
Cygwin: normalize_win32_path: allow drive without trailing backslash

Commit 283cb372, "Cygwin: normalize_win32_path: improve error
checking", required a prefix '\\?\' or '\??\' in the source path to be
followed by 'UNC\' or 'X:\', where X is a drive letter.  That was too
restrictive, since it disallowed the paths '\\?\X: and '\??\X:'.  This
caused problems when a user tried to use the root of a drive as the
Cygwin installation root, as reported here:

  https://cygwin.com/ml/cygwin/2020-01/msg00111.html

Modify the requirement so that '\??\X:' and '\\?\X:' are now allowed
as source paths, without a trailing backslash.

4 years agoCygwin: pty: Fix state mismatch caused in octave gui.
Takashi Yano [Thu, 16 Jan 2020 11:04:47 +0000 (20:04 +0900)]
Cygwin: pty: Fix state mismatch caused in octave gui.

- In octave gui, sometimes state mismatch between real pty state
  and state variable occurs. For example, this occurs when 'ls'
  command is executed in octave gui. This patch fixes the issue.

4 years agoCygwin: pty: Set console code page only if pseudo console is enabled.
Takashi Yano [Fri, 10 Jan 2020 11:47:12 +0000 (20:47 +0900)]
Cygwin: pty: Set console code page only if pseudo console is enabled.

- Input UTF-8 chars are garbled in ConEmu with cygwin connector if
  the environment does not support pseudo console. This patch fixes
  the issue.

4 years agoCygwin: pty: Disable FreeConsole() on close for non cygwin process.
Takashi Yano [Fri, 10 Jan 2020 11:46:26 +0000 (20:46 +0900)]
Cygwin: pty: Disable FreeConsole() on close for non cygwin process.

- After commit e1a0775dc0545b5f9c81b09a327fc110c538b7b4, the problem
  reported in https://www.cygwin.com/ml/cygwin/2020-01/msg00093.html
  occurs. For Gnu scren and tmux, calling FreeConsole() on pty close
  is necessary. However, if FreeConsole() is called, cygwin setup
  with '-h' option does not work. Therefore, the commit
  e1a0775dc0545b5f9c81b09a327fc110c538b7b4 delayed closing pty.
  This is the cause of the problem above. Now, instead of delaying
  pty close, FreeConsole() is not called if the process is non cygwin
  processes such as cygwin setup.

4 years agoCygwin: console: Add code to restore console mode on close.
Takashi Yano [Thu, 2 Jan 2020 13:17:16 +0000 (22:17 +0900)]
Cygwin: console: Add code to restore console mode on close.

- The console with 24bit color support has a problem that console
  mode is changed if cygwin process is executed in cmd.exe which
  started in cygwin shell. For example, cursor keys become not
  working if bash -> cmd -> true are executed in this order.
  This patch fixes the issue.

4 years agoCygwin: console: Add workaround for broken CSI3J in Win10 1809.
Takashi Yano [Tue, 14 Jan 2020 01:53:59 +0000 (10:53 +0900)]
Cygwin: console: Add workaround for broken CSI3J in Win10 1809.

- In Win10 1809, the cursor position sometimes goes out of screen
  by clear command in console. This seems to be caused by escape
  sequence CSI3J (ESC[3J). This happens only for 1809. This patch
  is a workaround for the issue.

4 years agoCygwin: console: Disable xterm mode for non cygwin process only.
Takashi Yano [Tue, 14 Jan 2020 02:09:42 +0000 (11:09 +0900)]
Cygwin: console: Disable xterm mode for non cygwin process only.

- Special function keys such as arrow keys or function keys do not
  work in ConEmu with cygwin-connector after commit
  6a06c6bc8f8492ea09aa3ae180fe94e4ac265611. This patch fixes the
  issue.

4 years agoCygwin: pty: Add missing CloseHandle() calls.
Takashi Yano [Tue, 14 Jan 2020 02:50:04 +0000 (11:50 +0900)]
Cygwin: pty: Add missing CloseHandle() calls.

- PTY code which support pseudo console has a problem that causes
  handle leaks. Four of these are bug in pty code, and the other
  one seems to be a bug of Windows10. ClosePseudoConsole() fails
  to close one internal handle. This patch fixes the issue.

4 years agoCygwin: pty: Fix the issue regarding open and close multiple PTYs.
Takashi Yano [Tue, 14 Jan 2020 04:10:54 +0000 (13:10 +0900)]
Cygwin: pty: Fix the issue regarding open and close multiple PTYs.

- If two PTYs are opened in the same process and the first one
  is closed, the helper process for the first PTY remains running.
  This patch fixes the issue.

4 years agoCygwin: select: Speed up select() call for pty, pipe and fifo.
Takashi Yano [Mon, 6 Jan 2020 14:38:34 +0000 (23:38 +0900)]
Cygwin: select: Speed up select() call for pty, pipe and fifo.

- The slowing down issue of X11 forwarding using ssh -Y, reported
  in https://www.cygwin.com/ml/cygwin/2019-12/msg00295.html,
  is due to the change of select() code for pty in the commit
  915fcd0ae8d83546ce135131cd25bf6795d97966. cygthread::detach()
  takes at most about 10msec because Sleep() is used in the thread.
  For this issue, this patch uses cygwait() instead of Sleep() and
  introduces an event to abort the wait. For not only pty, but pipe
  and fifo also have the same problem potentially, so this patch
  applies same strategy to them as well.

4 years agoCygwin: console: Make suspending process work properly.
Takashi Yano [Sun, 5 Jan 2020 13:25:55 +0000 (22:25 +0900)]
Cygwin: console: Make suspending process work properly.

- After commit f4b47827cf87f055687a0c52a3485d42b3e2b941, suspending
  process by Ctrl-Z does not work in console and results in hang up.
  This patch fixes the issue.

4 years agoCygwin: pty: Revise the code for setting code page of pseudo console.
Takashi Yano [Wed, 1 Jan 2020 06:50:36 +0000 (15:50 +0900)]
Cygwin: pty: Revise the code for setting code page of pseudo console.

- Fix the problem which overrides the code page setting, reported
  in https://www.cygwin.com/ml/cygwin/2019-12/msg00292.html.

4 years agoCygwin: pty: Remove destructor for fhandler_pty_master class.
Takashi Yano [Wed, 1 Jan 2020 06:49:41 +0000 (15:49 +0900)]
Cygwin: pty: Remove destructor for fhandler_pty_master class.

- The destructor for fhandler_pty_master class does not seem to be
  necessary anymore. Therefore, it has been removed.

4 years agoFixed crash on wine by adding NULL check after memchr
Arseniy Lartsev [Tue, 7 Jan 2020 15:34:39 +0000 (16:34 +0100)]
Fixed crash on wine by adding NULL check after memchr

This is not a joke, there are vendors out there who build software for cygwin
only. Besides, this NULL check is good to have anyway.

4 years agoCygwin: Add missing Linux #define of CPU_SETSIZE
Mark Geisert [Mon, 23 Dec 2019 06:45:54 +0000 (22:45 -0800)]
Cygwin: Add missing Linux #define of CPU_SETSIZE

Though our implementation of cpu sets doesn't need it, software from
Linux environments expects this definition to be present.  It's
documented on the Linux CPU_SET(3) man page but was left out due to
oversight.

Addresses https://cygwin.com/ml/cygwin/2019-12/msg00248.html

4 years agoPrevent more NULL ptr accesses due to Balloc out of memory
Jeff Johnston [Thu, 9 Jan 2020 20:18:14 +0000 (15:18 -0500)]
Prevent more NULL ptr accesses due to Balloc out of memory

- fix gdtoa-gethex.c, ldtoa.c, and strtodg.c to use eBalloc

4 years agoBump up release to 3.2.0 for yearly snapshot newlib-3.2.0 newlib-snapshot-20200102
Jeff Johnston [Thu, 2 Jan 2020 19:56:24 +0000 (14:56 -0500)]
Bump up release to 3.2.0 for yearly snapshot

4 years agodoc: add more details about adding documentation to HOWTO
Jon Turney [Wed, 18 Dec 2019 14:03:42 +0000 (14:03 +0000)]
doc: add more details about adding documentation to HOWTO

Add a little more detail to the checklist for adding documentation
Also update the list of supported sections

4 years agoCygwin: FIFO: use FILE_PIPE_REJECT_REMOTE_CLIENTS flag
Ken Brown [Sat, 21 Dec 2019 22:53:52 +0000 (17:53 -0500)]
Cygwin: FIFO: use FILE_PIPE_REJECT_REMOTE_CLIENTS flag

Add that flag to the pipe type argument when creating the Windows
named pipe.  And add a definition of that flag to ntdll.h (copied from
/usr/include/w32api/ddk/ntifs.h).

4 years agoCygwin: add 3.1.2 release text cygwin-3_1_2-release
Corinna Vinschen [Sat, 21 Dec 2019 10:44:08 +0000 (11:44 +0100)]
Cygwin: add 3.1.2 release text

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
4 years agoOptimize setjmp/longjmp for moxie.
Anthony Green [Fri, 20 Dec 2019 14:00:26 +0000 (09:00 -0500)]
Optimize setjmp/longjmp for moxie.

We don't need to save/restore every register -- just those
we don't expect to be trashed by function calls.

4 years agoCygwin: pty: Fix ESC[?3h and ESC[?3l handling again.
Takashi Yano [Thu, 19 Dec 2019 11:03:30 +0000 (20:03 +0900)]
Cygwin: pty: Fix ESC[?3h and ESC[?3l handling again.

- Even with commit fe512b2b12a2cea8393d14f038dc3914b1bf3f60, pty
  still has a problem in ESC[?3h and ESC[?3l handling if invalid
  sequence such as ESC[?$ is sent. This patch fixes the issue.

4 years agoDon't display trailing '.' in _dcvt
Keith Packard [Wed, 18 Dec 2019 06:00:49 +0000 (22:00 -0800)]
Don't display trailing '.' in _dcvt

In the two helper functions that _dcvt calls for 'f' and 'e' mode, if
there are no digits to display after the decimal point, don't add one.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoFix gcvt to always show 'ndigits' of precision
Keith Packard [Wed, 18 Dec 2019 16:49:06 +0000 (08:49 -0800)]
Fix gcvt to always show 'ndigits' of precision

Leading zeros after the decimal point should not count
towards the 'ndigits' limit.

This makes gcvt match glibc and the posix gcvt man page.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoFix fcvt to only show 'ndigit' past decimal
Keith Packard [Wed, 18 Dec 2019 16:49:05 +0000 (08:49 -0800)]
Fix fcvt to only show 'ndigit' past decimal

Even if the number is really small and this means showing *no* digits.
This makes newlib match glibc, and the fcvt posix man page.

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoCygwin: pty: Fix a bug regarding ESC[?3h and ESC[?3l handling.
Takashi Yano [Wed, 18 Dec 2019 16:07:33 +0000 (01:07 +0900)]
Cygwin: pty: Fix a bug regarding ESC[?3h and ESC[?3l handling.

- Midnight commander (mc) does not work after the commit
  1626569222066ee601f6c41b29efcc95202674b7 as reported in
  https://www.cygwin.com/ml/cygwin/2019-12/msg00173.html.
  This patch fixes the issue.

4 years agodoc: Untabify python scripts used for making man pages
Jon Turney [Mon, 16 Dec 2019 19:28:59 +0000 (19:28 +0000)]
doc: Untabify python scripts used for making man pages

These scripts fail with a TabError exception if 'python' is python3, as
mixing tabs and spaces in indentation is forbidden in python3.

4 years agoCygwin: Bump DLL version to 3.1.2
Corinna Vinschen [Wed, 18 Dec 2019 09:48:10 +0000 (10:48 +0100)]
Cygwin: Bump DLL version to 3.1.2

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
4 years agoCygwin: add 3.1.1 release text belatedly
Corinna Vinschen [Wed, 18 Dec 2019 09:47:43 +0000 (10:47 +0100)]
Cygwin: add 3.1.1 release text belatedly

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
4 years agoCygwin: autoload: Add missing GetProcessGroupAffinity/GetThreadGroupAffinity cygwin-3_1_1-release
Corinna Vinschen [Tue, 17 Dec 2019 15:44:54 +0000 (16:44 +0100)]
Cygwin: autoload: Add missing GetProcessGroupAffinity/GetThreadGroupAffinity

Both functions were introduce with Windows 7 only, so we need to
autoload them for the sake of Vista/2008.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
4 years agoSet __IEEE_LITTLE_ENDIAN for _XTENSA_EL__ (ESP32)
Keith Packard [Mon, 16 Dec 2019 21:56:11 +0000 (13:56 -0800)]
Set __IEEE_LITTLE_ENDIAN for _XTENSA_EL__ (ESP32)

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoReturn EINVAL for illegal base in strtol
Keith Packard [Mon, 16 Dec 2019 21:55:30 +0000 (13:55 -0800)]
Return EINVAL for illegal base in strtol

Signed-off-by: Keith Packard <keithp@keithp.com>
4 years agoCygwin: Bump DLL version to 3.1.1
Corinna Vinschen [Mon, 16 Dec 2019 20:09:50 +0000 (21:09 +0100)]
Cygwin: Bump DLL version to 3.1.1

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
4 years agoCygwin: add strtold fix to release message cygwin-3_1_0-release
Corinna Vinschen [Mon, 16 Dec 2019 15:39:17 +0000 (16:39 +0100)]
Cygwin: add strtold fix to release message

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
4 years agostrtold: set errno to ERANGE on underflow per POSIX
Bruno Haible [Mon, 16 Dec 2019 14:11:47 +0000 (15:11 +0100)]
strtold: set errno to ERANGE on underflow per POSIX

https://pubs.opengroup.org/onlinepubs/9699919799/functions/strtod.html

4 years agoCygwin: ilogbl: Make sure to return FP_ILGB0 on zero input
Corinna Vinschen [Mon, 16 Dec 2019 09:50:17 +0000 (10:50 +0100)]
Cygwin: ilogbl: Make sure to return FP_ILGB0 on zero input

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
4 years agoMSP430: Support new msp430-elfbare target
Jozef Lawrynowicz [Mon, 25 Nov 2019 21:17:41 +0000 (21:17 +0000)]
MSP430: Support new msp430-elfbare target

Update the target triplet glob used when configuring for msp430 to
support a new msp430-elfbare target being added to gcc.

4 years agoImplement the unlink system call for the moxie simulator.
Anthony Green [Sat, 14 Dec 2019 10:27:38 +0000 (05:27 -0500)]
Implement the unlink system call for the moxie simulator.

Corresponding support for this was just added to the gdb moxie simulator.
Unlink support is required by the GCC testsuite.

4 years agoFix setjmp/longjmp for the moxie port.
Anthony Green [Fri, 13 Dec 2019 18:08:06 +0000 (13:08 -0500)]
Fix setjmp/longjmp for the moxie port.

These functions needs to save and restore the stack frame, because
that's where the return address is stored.

4 years agoCygwin: document the last bugfix
Ken Brown [Tue, 10 Dec 2019 13:45:17 +0000 (08:45 -0500)]
Cygwin: document the last bugfix

4 years agoCygwin: symlink_info::check: avoid assertion failure
Ken Brown [Mon, 9 Dec 2019 12:27:18 +0000 (07:27 -0500)]
Cygwin: symlink_info::check: avoid assertion failure

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

4 years agolibm: switch sf_log1p from double error routines to float
Keith Packard [Fri, 29 Nov 2019 19:23:20 +0000 (11:23 -0800)]
libm: switch sf_log1p from double error routines to float

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>
4 years agoCygwin: /proc/[PID]/stat to pull process priority correctly
Anton Lavrentiev via cygwin-patches [Sun, 1 Dec 2019 03:58:14 +0000 (22:58 -0500)]
Cygwin: /proc/[PID]/stat to pull process priority correctly

Fix to prior commit 5fa9a0e7 to address https://cygwin.com/ml/cygwin/2019-08/msg00082.html

4 years agonewlib/libc/include/sys/features.h: update __STDC_ISO_10646__
Brian Inglis [Tue, 26 Nov 2019 15:34:42 +0000 (08:34 -0700)]
newlib/libc/include/sys/features.h: update __STDC_ISO_10646__

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

4 years agoCygwin: pty: Convert CamelCase names to snake_case names.
Takashi Yano [Fri, 15 Nov 2019 23:27:24 +0000 (08:27 +0900)]
Cygwin: pty: Convert CamelCase names to snake_case names.

4 years agonewlib: fix fseek optimization with SEEK_CUR
Bastien Bouclet [Sat, 9 Nov 2019 16:28:04 +0000 (17:28 +0100)]
newlib: fix fseek optimization with SEEK_CUR

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.

4 years agoCygwin: pty: Trigger redraw screen if ESC[?3h or ESC[?3l is sent.
Takashi Yano [Wed, 13 Nov 2019 10:49:29 +0000 (19:49 +0900)]
Cygwin: pty: Trigger redraw screen if ESC[?3h or ESC[?3l is sent.

- 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

4 years agoCygwin: console: Revise the code checking if the console is legacy.
Takashi Yano [Tue, 12 Nov 2019 18:04:59 +0000 (03:04 +0900)]
Cygwin: console: Revise the code checking if the console is legacy.

- 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

4 years agoCygwin: pty: Use redraw screen instead of clear screen.
Takashi Yano [Tue, 12 Nov 2019 13:00:23 +0000 (22:00 +0900)]
Cygwin: pty: Use redraw screen instead of clear screen.

- 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.

4 years agoregtool: allow /proc/registry{,32,64}/ registry path prefix
Brian Inglis [Mon, 11 Nov 2019 17:29:00 +0000 (10:29 -0700)]
regtool: allow /proc/registry{,32,64}/ registry path prefix

The user can supply the registry path prefix /proc/registry{,32,64}/ to
use path completion.

4 years agoStash reent marker in upper bits of s1 on AMD GCN
Kwok Cheung Yeung [Thu, 7 Nov 2019 22:46:41 +0000 (14:46 -0800)]
Stash reent marker in upper bits of s1 on AMD GCN

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.

4 years agoCygwin: Doc change to note stackdump limit patch
Mark Geisert [Fri, 8 Nov 2019 00:14:05 +0000 (16:14 -0800)]
Cygwin: Doc change to note stackdump limit patch

4 years agoCygwin: Raise dumpstack frame limit to 32
Mark Geisert [Fri, 8 Nov 2019 00:13:34 +0000 (16:13 -0800)]
Cygwin: Raise dumpstack frame limit to 32

Create a #define for the limit and raise it from 16 to 32.

4 years agoCygwin: console, pty: Prevent error in legacy console mode.
Takashi Yano [Wed, 6 Nov 2019 16:29:29 +0000 (01:29 +0900)]
Cygwin: console, pty: Prevent error in legacy console mode.

4 years agoCygwin: pty: Change how to determine if running as service or not.
Takashi Yano [Wed, 6 Nov 2019 12:08:43 +0000 (21:08 +0900)]
Cygwin: pty: Change how to determine if running as service or not.

4 years agoCygwin: document console helper patch
Corinna Vinschen [Tue, 5 Nov 2019 10:57:24 +0000 (11:57 +0100)]
Cygwin: document console helper patch

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
4 years agoCygwin: fix quoting when starting invisible console process
Corinna Vinschen [Tue, 5 Nov 2019 10:29:02 +0000 (11:29 +0100)]
Cygwin: fix quoting when starting invisible console process

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>
4 years agoCygwin: devices: drop MAX_CONSOLES and fix FH_CONS_MAX
Corinna Vinschen [Mon, 4 Nov 2019 09:34:14 +0000 (10:34 +0100)]
Cygwin: devices: drop MAX_CONSOLES and fix FH_CONS_MAX

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>
4 years agoMove timeval macros to <sys/time.h>
Sebastian Huber [Tue, 24 Sep 2019 06:34:35 +0000 (08:34 +0200)]
Move timeval macros to <sys/time.h>

In FreeBSD, NetBSD, and OpenBSD these macros are defined in
<sys/time.h>.

4 years agoSynchronize <sys/time.h> with FreeBSD
Sebastian Huber [Mon, 23 Sep 2019 10:02:11 +0000 (12:02 +0200)]
Synchronize <sys/time.h> with FreeBSD

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

4 years agoSynchronize <sys/_timespec.h> with FreeBSD
Sebastian Huber [Tue, 24 Sep 2019 06:32:47 +0000 (08:32 +0200)]
Synchronize <sys/_timespec.h> with FreeBSD

4 years agoFix sbttons for values > 2s
imp [Sat, 13 Apr 2019 04:46:35 +0000 (04:46 +0000)]
Fix sbttons for values > 2s

Add test against negative times. Add code to cope with larger values
properly.

Discussed with: bde@ (quite some time ago, for an earlier version)

4 years agoCygwin: fix process parent/child relationship after execve
Corinna Vinschen [Sat, 2 Nov 2019 11:49:15 +0000 (12:49 +0100)]
Cygwin: fix process parent/child relationship after execve

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>
4 years agoFix libgloss being built for disabled multilibs
Jozef Lawrynowicz [Wed, 30 Oct 2019 14:35:21 +0000 (14:35 +0000)]
Fix libgloss being built for disabled multilibs

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.

4 years agoCygwin: getpriority() consistent with process priority
Anton Lavrentiev via cygwin-patches [Wed, 30 Oct 2019 15:47:25 +0000 (11:47 -0400)]
Cygwin: getpriority() consistent with process priority

https://cygwin.com/ml/cygwin/2019-08/msg00122.html

4 years agoAdd PRU license to COPYING.NEWLIB and COPYING.LIBGLOSS
Jeff Johnston [Thu, 31 Oct 2019 19:09:07 +0000 (15:09 -0400)]
Add PRU license to COPYING.NEWLIB and COPYING.LIBGLOSS

4 years agoPRU: Align libmath to PRU ABI
Dimitar Dimitrov [Sun, 11 Mar 2018 20:15:05 +0000 (22:15 +0200)]
PRU: Align libmath to PRU ABI

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>
4 years agoFix some generated files
Jeff Johnston [Thu, 31 Oct 2019 18:52:04 +0000 (14:52 -0400)]
Fix some generated files

4 years agoInitial PRU port for libgloss and newlib
Dimitar Dimitrov [Sun, 11 Mar 2018 20:23:26 +0000 (22:23 +0200)]
Initial PRU port for libgloss and newlib

Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
4 years agoMSP430: Add missing build rule for unlink() to libgloss Makefile
Jozef Lawrynowicz [Thu, 24 Oct 2019 15:12:24 +0000 (16:12 +0100)]
MSP430: Add missing build rule for unlink() to libgloss Makefile

4 years agoCygwin: Provide more COM devices
Achim Gratz [Tue, 22 Oct 2019 17:52:40 +0000 (19:52 +0200)]
Cygwin: Provide more COM devices

Provide for 128 COM devices since Windows likes to create lots of these
over time (one per identifiable device and USB port).

4 years agoCygwin: spawnvp, spawnvpe: fail if executable is not in $PATH
Ken Brown [Wed, 9 Oct 2019 20:06:02 +0000 (20:06 +0000)]
Cygwin: spawnvp, spawnvpe: fail if executable is not in $PATH

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.

4 years agoCygwin: pty: Change the timing of clear screen.
Takashi Yano [Wed, 16 Oct 2019 12:34:09 +0000 (21:34 +0900)]
Cygwin: pty: Change the timing of clear screen.

4 years agoCygwin: pty: Avoid detach console in the process running as service.
Takashi Yano [Wed, 16 Oct 2019 12:34:08 +0000 (21:34 +0900)]
Cygwin: pty: Avoid detach console in the process running as service.

4 years agoriscv/sys/fenv.h: Add missing extern for fe_dfl_env_p
Joel Sherrill [Wed, 9 Oct 2019 16:00:45 +0000 (11:00 -0500)]
riscv/sys/fenv.h: Add missing extern for fe_dfl_env_p

4 years agoAdd patch from Joel Sherrill for i386 and x86_64 fenv support
Jeff Johnston [Tue, 8 Oct 2019 20:57:37 +0000 (16:57 -0400)]
Add patch from Joel Sherrill for i386 and x86_64 fenv support

4 years agoCygwin: mkdir and rmdir: treat drive names specially
Ken Brown [Fri, 27 Sep 2019 18:00:52 +0000 (14:00 -0400)]
Cygwin: mkdir and rmdir: treat drive names specially

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.

4 years agoCygwin: document recent changes to format_proc_cpuinfo
Ken Brown [Mon, 7 Oct 2019 20:06:28 +0000 (16:06 -0400)]
Cygwin: document recent changes to format_proc_cpuinfo

4 years agofhandler_proc.cc(format_proc_cpuinfo): or model extension bits
Brian Inglis [Mon, 7 Oct 2019 16:23:07 +0000 (10:23 -0600)]
fhandler_proc.cc(format_proc_cpuinfo): or model extension bits

or model extension bits into model high bits instead of adding
arithmetically like family extension.

4 years agofhandler_proc.cc(format_proc_cpuinfo): comment flags not reported
Brian Inglis [Mon, 7 Oct 2019 16:23:06 +0000 (10:23 -0600)]
fhandler_proc.cc(format_proc_cpuinfo): comment flags not reported

Comment out flags not reported by Linux in cpuinfo, although some
flags may not be used at all by Linux.

4 years agofhandler_proc.cc(format_proc_cpuinfo): add feature flags
Brian Inglis [Mon, 7 Oct 2019 16:23:05 +0000 (10:23 -0600)]
fhandler_proc.cc(format_proc_cpuinfo): add feature flags

Add 99 feature flags including AVX512 extensions, AES, SHA with 20
cpuid calls.

4 years agofhandler_proc.cc(format_proc_cpuinfo): use feature test print macro
Brian Inglis [Mon, 7 Oct 2019 16:23:04 +0000 (10:23 -0600)]
fhandler_proc.cc(format_proc_cpuinfo): use feature test print macro

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.

4 years agofhandler_proc.cc(format_proc_cpuinfo): add microcode
Brian Inglis [Mon, 7 Oct 2019 16:23:03 +0000 (10:23 -0600)]
fhandler_proc.cc(format_proc_cpuinfo): add microcode

Add microcode from Windows registry Update Revision REG_BINARY.

4 years agofhandler_proc.cc(format_proc_cpuinfo): add bogomips
Brian Inglis [Mon, 7 Oct 2019 16:23:02 +0000 (10:23 -0600)]
fhandler_proc.cc(format_proc_cpuinfo): add bogomips

Add bogomips which has been cpu MHz*2 since Pentium MMX.

4 years agofhandler_proc.cc(format_proc_cpuinfo): round cpu MHz
Brian Inglis [Mon, 7 Oct 2019 16:23:01 +0000 (10:23 -0600)]
fhandler_proc.cc(format_proc_cpuinfo): round cpu MHz

Round cpu MHz to correct Windows and match Linux cpuinfo.

4 years agofhandler_proc.cc(format_proc_cpuinfo): fix AMD physical cores count
Brian Inglis [Mon, 7 Oct 2019 16:23:00 +0000 (10:23 -0600)]
fhandler_proc.cc(format_proc_cpuinfo): fix AMD physical cores count

Fix AMD physical cores count documented as core_info low byte + 1.

4 years agofhandler_proc.cc(format_proc_cpuinfo): fix cpuid level count
Brian Inglis [Mon, 7 Oct 2019 16:22:59 +0000 (10:22 -0600)]
fhandler_proc.cc(format_proc_cpuinfo): fix cpuid level count

Fix cpuid level count as number of non-zero leafs excluding sub-leafs.

4 years agofhandler_proc.cc(format_proc_cpuinfo): fix cache size
Brian Inglis [Mon, 7 Oct 2019 16:22:58 +0000 (10:22 -0600)]
fhandler_proc.cc(format_proc_cpuinfo): fix cache size

Fix cache size return code handling and make AMD/Intel code common.

4 years agoAllow verifying _REENT_CHECK macros memory allocation
Jeff Johnston [Mon, 7 Oct 2019 19:29:33 +0000 (15:29 -0400)]
Allow verifying _REENT_CHECK macros memory allocation

- 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

4 years agoOptimize epilogue sequence for architectures with POP interworking.
Christos Gentsos [Mon, 7 Oct 2019 13:38:14 +0000 (14:38 +0100)]
Optimize epilogue sequence for architectures with POP interworking.

ARMv5 and above supports arm/thumb interworking using POP, so we can
improve the exit sequence in this case.

This page took 0.071827 seconds and 5 git commands to generate.