Go to file
Carlo Bramini 2dab880c96 Cygwin: fix TIOCMBIS/TIOCMBIC not working when using usbser.sys
In winsup/cygwin/fhandler/serial.cc, the function
fhandler_serial::switch_modem_lines() is called when TIOCMBIS/TIOCMBIC
are used in an ioctl() call.

This function uses EscapeCommFunction() for setting and resetting RTS
and DTR signals of a serial port.  Unfortunately, this function does not
work on USB CDC devices.

This is not a true bug of CYGWIN but an issue of the usbser.sys driver,
from Windows 2000 to the latest Windows 11.  Both 32bit and 64bit
versions of the operating system are affected.  Actually, I tested
EscapeCommFunction() also when using a real UART, based on the
traditional 16550 driver and it works fine.  Using thirdy party CDC
drivers, like the one provided by FTDI for their USB bridge chips,
probably also works.

However, it is also possible to drive the RTS/DTR signals by writing
their state with SetCommState(), which proved to be working fine all
types of connection.  This is also a better solution for handling these
signals since RTS/DTR can be set at the same time rather than having two
separate calls with a visible delay between them.
2022-11-11 13:01:23 +01:00
.github/workflows Cygwin: CI: Drop i686 builds 2022-05-16 13:36:51 +01:00
config Merge autoconf / automake update changes from GCC. 2022-01-17 04:30:37 -05:00
etc etc: switch to automake 2021-11-10 20:14:00 -05:00
include
libgloss libgloss: riscv: Install machine/syscall.h 2022-10-20 16:53:06 +02:00
newlib powerpc/setjmp: Fix 64-bit buffer alignment 2022-11-10 16:05:17 +01:00
texinfo
winsup Cygwin: fix TIOCMBIS/TIOCMBIC not working when using usbser.sys 2022-11-11 13:01:23 +01:00
.appveyor.yml Cygwin: CI: Drop i686 builds 2022-05-16 13:36:51 +01:00
.gitattributes
.gitignore Bump to autoconf 2.69 and automake 1.15.1 2022-01-12 07:05:02 -05:00
COPYING
COPYING.LIB
COPYING.LIBGLOSS Update the address of the FSF in the copyright notice of files which were using the old address. 2021-11-10 20:14:00 -05:00
COPYING.NEWLIB newlib: drop phoenix support 2022-03-28 23:17:06 -04:00
COPYING3
COPYING3.LIB
ChangeLog Update the address of the FSF in the copyright notice of files which were using the old address. 2021-11-10 20:14:00 -05:00
MAINTAINERS
Makefile.def
Makefile.in GCC: Pass --plugin to AR and RANLIB 2022-01-12 08:43:05 -05:00
Makefile.tpl GCC: Pass --plugin to AR and RANLIB 2022-01-12 08:43:05 -05:00
README
README-maintainer-mode Bump to autoconf 2.69 and automake 1.15.1 2022-01-12 07:05:02 -05:00
ar-lib Bump to autoconf 2.69 and automake 1.15.1 2022-01-12 07:05:02 -05:00
compile
config-ml.in
config.guess Bump config.guess and config.sub 2021-02-24 11:03:28 +01:00
config.rpath
config.sub Bump config.guess and config.sub 2021-02-24 11:03:28 +01:00
configure Add support for the haiku operating system. These are the os support patches we have been grooming and maintaining for quite a few years over on git.haiku-os.org. All of these architectures are working and most have been stable for quite some time. 2022-01-12 08:43:25 -05:00
configure.ac Add support for the haiku operating system. These are the os support patches we have been grooming and maintaining for quite a few years over on git.haiku-os.org. All of these architectures are working and most have been stable for quite some time. 2022-01-12 08:43:25 -05:00
depcomp
djunpack.bat
install-sh
libtool.m4 libtool.m4: fix nm BSD flag detection 2022-01-12 08:49:10 -05:00
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
lt~obsolete.m4
makefile.vms
missing
mkdep Use remove-advertising-clause script to edit BSD licenses 2020-01-29 19:03:31 +01:00
mkinstalldirs
move-if-change
multilib.am Merge autoconf / automake update changes from GCC. 2022-01-17 04:30:37 -05:00
setup.com
src-release
symlink-tree
test-driver Bump to autoconf 2.69 and automake 1.15.1 2022-01-12 07:05:02 -05:00
ylwrap

README

		   README for GNU development tools

This directory contains various GNU compilers, assemblers, linkers, 
debuggers, etc., plus their support routines, definitions, and documentation.

If you are receiving this as part of a GDB release, see the file gdb/README.
If with a binutils release, see binutils/README;  if with a libg++ release,
see libg++/README, etc.  That'll give you info about this
package -- supported targets, how to use it, how to report bugs, etc.

It is now possible to automatically configure and build a variety of
tools with one command.  To build all of the tools contained herein,
run the ``configure'' script here, e.g.:

	./configure 
	make

To install them (by default in /usr/local/bin, /usr/local/lib, etc),
then do:
	make install

(If the configure script can't determine your type of computer, give it
the name as an argument, for instance ``./configure sun4''.  You can
use the script ``config.sub'' to test whether a name is recognized; if
it is, config.sub translates it to a triplet specifying CPU, vendor,
and OS.)

If you have more than one compiler on your system, it is often best to
explicitly set CC in the environment before running configure, and to
also set CC when running make.  For example (assuming sh/bash/ksh):

	CC=gcc ./configure
	make

A similar example using csh:

	setenv CC gcc
	./configure
	make

Much of the code and documentation enclosed is copyright by
the Free Software Foundation, Inc.  See the file COPYING or
COPYING.LIB in the various directories, for a description of the
GNU General Public License terms under which you can copy the files.

REPORTING BUGS: Again, see gdb/README, binutils/README, etc., for info
on where and how to report problems.