668 lines
24 KiB
Plaintext
668 lines
24 KiB
Plaintext
|
@chapter History
|
||
|
|
||
|
@include changes.texinfo
|
||
|
|
||
|
@section Release Beta 19 (Feb 26 1998)
|
||
|
|
||
|
This is a major release. It includes a much-updated version of the
|
||
|
Cygwin32 library. Because the Cygwin API has changed in incompatible
|
||
|
ways, the dll has been renamed cygwinb19.dll to avoid invalidating
|
||
|
previously built executables.
|
||
|
|
||
|
Note that a B19-compiled application exec()ing a B18-compiled
|
||
|
application will treat the B18-compiled executable as an ordinary
|
||
|
Win32 executable. This means that open file descriptors and some other
|
||
|
internals will not be inheritted on exec() calls. The reason for this
|
||
|
is that different shared memory areas are used by the different versions
|
||
|
of the cygwin library. This may or may not be of importance to you
|
||
|
depending on what you're doing.
|
||
|
|
||
|
The Beta 19 release of the Cygwin32 library continues to be licensed
|
||
|
under the GNU General Public License (GPL).
|
||
|
|
||
|
The PE format definition used by the compiler tools now matches
|
||
|
Microsoft's more closely. This should allow better interoperability
|
||
|
with other vendors' development tools although more work probably
|
||
|
remains to be done in this area. This change invalidates all previously
|
||
|
built object (.o) and static library (.a) files so be sure to
|
||
|
delete/rebuild old .o and .a files you are using!
|
||
|
|
||
|
Finally, old symlinks are invalidated by this release. The "system"
|
||
|
attribute is now used to mark symlinks which significantly speeds
|
||
|
up fstat and other file related calls. Either recreate old ones or
|
||
|
set their "system" attribute flag so they will be recognized properly.
|
||
|
|
||
|
The new installer takes care of all environment variable settings
|
||
|
automatically by installing a shortcut in program files that pulls
|
||
|
up a bash prompt with all the correct environment variables set.
|
||
|
As a result, the setup process should be much cleaner than in the last
|
||
|
release.
|
||
|
|
||
|
For those of you who end up moving the tools around, the batch file
|
||
|
that sets up the default environment is called cygnus.bat and is
|
||
|
installed in the root of the install directory. Because the tools have
|
||
|
been compiled to install in /cygnus/b19, when installed in this
|
||
|
location, the tools should "just work" if the bin directory is in your
|
||
|
path (no special environment variables are needed). The only exception
|
||
|
is MAKE_MODE which needs to be set if you want to get ordinary Unix-like
|
||
|
make behavior -- see the make notes below for more information.
|
||
|
|
||
|
@subsection Changes in specific tools:
|
||
|
|
||
|
Ian Lance Taylor has written a resource compiler called "windres".
|
||
|
It can be used to compile windows resources from a textual rc file
|
||
|
into a COFF file. The sources are in the binutils subdirectory of
|
||
|
the sources.
|
||
|
|
||
|
We have upgraded many of the utilities. Beta 19 includes bash 2.01.1,
|
||
|
fileutils 3.16, gawk 3.0.3, patch 2.5, shellutils 1.16, tar 1.12,
|
||
|
textutils 1.22, and texinfo 3.11. Bash under Cygwin32 now includes
|
||
|
working job control among other improvements.
|
||
|
|
||
|
The sh executable is now ash 0.2 from the Debian Linux distribution.
|
||
|
Using this more minimal shell as /bin/sh.exe speeds up configures
|
||
|
significantly.
|
||
|
|
||
|
Bison 1.25 has been added.
|
||
|
|
||
|
Tcl/tk are upgraded to version 8.0. Compatible versions of tix and
|
||
|
itcl have been added. These all include Cygwin32-compatible configury
|
||
|
files so you can do a Unix-style build of the Win32 ports of tcl/tk.
|
||
|
|
||
|
Expect 5.21.3 is included and basically works.
|
||
|
|
||
|
The binaries have been compiled with i686 optimizations turned on
|
||
|
which may result in a speed increase on Pentium-based systems
|
||
|
although the tools should work on i386 and later chips.
|
||
|
|
||
|
The linker (ld) has been enhanced -- it will now add the idata3
|
||
|
terminator automatically when linking dlls.
|
||
|
|
||
|
kill now supports signal names in arguments. ps now shows process
|
||
|
start time information.
|
||
|
|
||
|
Although the default install of the tools should hide this detail, the
|
||
|
make utility now defaults to a Win32 mode which uses cmd.exe/command.com
|
||
|
as the subshell. This mode allows the use of backslashes in filenames.
|
||
|
To build Unix programs, you need to set the MAKE_MODE environment
|
||
|
variable to "UNIX". This way you will get the old behavior of using
|
||
|
sh.exe as the subshell.
|
||
|
|
||
|
@subsection Changes in the Cygwin32 API (cygwin.dll):
|
||
|
|
||
|
The interface is now better defined. It contains libc, libm, and
|
||
|
Unix compatability calls. It no longer contains exports for libgcc.a.
|
||
|
This should result in a more stable interface. See the calls.texinfo
|
||
|
document for interface documentation.
|
||
|
|
||
|
There is now only one environment variable called CYGWIN32 that controls
|
||
|
the overall behavior of the dll:
|
||
|
|
||
|
set CYGWIN32=[no]title [no]strip_title [no]binmode [no]glob
|
||
|
strace=mask:cache,file [no]tty
|
||
|
|
||
|
So if you "set CYGWIN32=title tty", then you would get tty support
|
||
|
(see below) and have the current running process listed in the title
|
||
|
bar.
|
||
|
|
||
|
B19 adds support for:
|
||
|
|
||
|
* tty and pseudo-tty devices. For now, ttys default to off because
|
||
|
taking over the console causes problems with using non-Cygwin console
|
||
|
programs in a Cygwin console. To turn it on, set the environment
|
||
|
variable CYGWIN32 to include "tty".
|
||
|
* Hard links (requires NT on an NTFS filesystem). When not possible (on
|
||
|
non-NTFS filesystems), link() will make a copy of the file in question
|
||
|
as it has done in previous releases.
|
||
|
* The SIGWINCH signal. If tty handling is enabled then the process will
|
||
|
receive a SIGWINCH signal when the screen size changes.
|
||
|
* Additional terminal escape sequences recognized: scroll region setting via
|
||
|
<ESC>[n1;n2r and setting the console title using xterm escape sequence:
|
||
|
<ESC>]2;new title^G .
|
||
|
|
||
|
The following calls have been added:
|
||
|
|
||
|
* ptsname, grantpt, unlockpt
|
||
|
* login, logout, ttyslot, ctermid
|
||
|
* cfgetispeed, cfgetospeed, cfsetispeed, cfsetospeed
|
||
|
* setitimer, getitimer, ftime, tzset
|
||
|
* wait3, wait4, pause, sigpause
|
||
|
* getpgid, killpg, setegid (stub)
|
||
|
* strlwr, strupr
|
||
|
* sexecve, sexecl, sexecle, sexeclp, sexeclpe, sexecv, sexecp, sexecvpe
|
||
|
* rcmd, rresvport, rexec
|
||
|
* strsignal, strtosigno
|
||
|
* dlopen, dlsym, dlclose, dlerror
|
||
|
* inet_netof, inet_makeaddr
|
||
|
* socketpair
|
||
|
* fpathconf, realpath, chroot (stub)
|
||
|
* initgroups (stub), getgroups
|
||
|
* random, srandom
|
||
|
|
||
|
The following calls have been removed:
|
||
|
|
||
|
* ScreenCols, ScreenGetCursor, ScreenRows, ScreenSetCursor
|
||
|
* getkey, kbhit
|
||
|
* crypt (stub)
|
||
|
* all libgcc.a exports
|
||
|
|
||
|
The Winsock dll (wsock32.dll) is no longer implicitly linked into
|
||
|
the Cygwin32 dll. Instead, it is explicitly loaded with LoadLibrary
|
||
|
the first time a process calls a Cygwin32 networking function. This
|
||
|
speeds up most processes significantly (configures by about 20%).
|
||
|
|
||
|
The signal-related code has been rewritten from scratch. Ditto for
|
||
|
most of the path handling code.
|
||
|
|
||
|
The globbing and getopt code has been replaced with BSD-derived
|
||
|
code. The regexp code has been replaced with Henry Spencer's PD
|
||
|
implementation.
|
||
|
|
||
|
Doug Lea's malloc is now being used as the default malloc exported by
|
||
|
cygwin. This malloc balances speed and compactness very nicely but is
|
||
|
more unforgiving when attempts are made to free already freed memory,
|
||
|
i.e., a segmentation violation will occur.
|
||
|
|
||
|
The bsearch call has been rewritten.
|
||
|
|
||
|
Alt Gr-key behavior has been changed in this release. The left alt-key
|
||
|
still produces ESC-key sequence. The right alt (Alt Gr)-key now
|
||
|
produces characters according to national keyboard layouts.
|
||
|
|
||
|
Processes no longer write their name in the title bar unless you include
|
||
|
"title" in the CYGWIN32 environment variable (see above).
|
||
|
|
||
|
Multiple cygwin.dlls no longer use the same memory space unless they are
|
||
|
identical (built at the same time). This allows multiple dlls with
|
||
|
incompatible shared memory usage to be run simultaneously. It also
|
||
|
facilitates debugging a buggy cygwin.dll. By keeping only a single copy
|
||
|
of the latest cygwin.dll on your system, you can be assured of having
|
||
|
all cygwin processes exist in the same shared memory space.
|
||
|
|
||
|
The slash mount no longer defaults to C:. It now defaults to the
|
||
|
system drive letter (where the OS is installed).
|
||
|
|
||
|
The standard dl* dynamic library loader functions are now available.
|
||
|
Cygwin32 B19 now correctly copies data after a fork and automatically
|
||
|
reloads any DLLs loaded in the parent process. In addition, dlls will
|
||
|
now be correctly initialized when loaded and global constructors will
|
||
|
be called. Global destructors will be called when the DLL is detached.
|
||
|
Handles gotten from dlopen or dlsym in the parent will be accessible in a
|
||
|
forked child. The LD_LIBRARY_PATH environment variable is used in the dlopen
|
||
|
search.
|
||
|
|
||
|
Include the file <cygwin32/cygwin_dll.h> in a cygwin32 created .dll and
|
||
|
use the line DECLARE_CYGWIN_DLL(dll-entry-point) to produce .dlls that
|
||
|
can be used with these functions.
|
||
|
|
||
|
@section Release Beta 18 (May 6 1997)
|
||
|
|
||
|
This is a major release. The new cygwin.dll is still
|
||
|
backwards-compatible with previously linked applications but
|
||
|
contains significant changes.
|
||
|
|
||
|
We have completely changed the installation process to make
|
||
|
use of an InstallShield5-based installer. This should reduce the
|
||
|
number of installation problems people have experienced in the
|
||
|
past. However, it is still necessary to set environment variables
|
||
|
by hand, as explained in the README.txt accompanying the distribution.
|
||
|
(Future gnu-win32 installers may include the capability to do this
|
||
|
automatically).
|
||
|
|
||
|
@subsection Changes in specific tools:
|
||
|
|
||
|
GCC compilation times have been improved by 20-30% by using spawn()
|
||
|
instead of fork().
|
||
|
|
||
|
GCC accepts both Win32 and POSIX paths/path lists in its
|
||
|
environment variables (COMPILER_PATH, LIBRARY_PATH, C_INCLUDE_PATH,
|
||
|
CPLUS_INCLUDE_PATH, OBJC_INCLUDE_PATH)
|
||
|
|
||
|
GDB comes with a tcl/tk-based GUI (gdbtk). You can still invoke the
|
||
|
command line gdb by invoking it with "gdb -nw".
|
||
|
|
||
|
Bash verifies that /tmp exists and is a directory upon startup.
|
||
|
It complains if this isn't the case.
|
||
|
|
||
|
Running gcc or ld with "-s" used to create invalid executables.
|
||
|
The bug in bfd that was responsible for this has been fixed.
|
||
|
|
||
|
The conflict between String.h and string.h (and other such pairs
|
||
|
of header files) where you include one and get the other has been
|
||
|
fixed.
|
||
|
|
||
|
The top level install-sh script tries to install foo.exe if asked
|
||
|
to install foo when foo's not present. This fixes many installs
|
||
|
of Unix software.
|
||
|
|
||
|
Dlltool has preliminary support for the IMPORT declaration in .def files
|
||
|
when invoked with -I. Feel free to experiment with it but once this
|
||
|
functionality is tested more extensively this flag may go away.
|
||
|
|
||
|
Time is upgraded to version 1.7.
|
||
|
|
||
|
Make is upgraded to version 3.75.
|
||
|
|
||
|
Make accepts both Win32 and POSIX path lists in the VPATH variable.
|
||
|
|
||
|
@subsection Changes in the Cygwin32 API (cygwin.dll):
|
||
|
|
||
|
The following is now supported:
|
||
|
|
||
|
* UNC paths
|
||
|
* Reverse index escapes in console code
|
||
|
* Blocking select()s on a combination of sockets/handles
|
||
|
* Directory symlinks.
|
||
|
* Reparenting of child processes.
|
||
|
|
||
|
The following calls have been added:
|
||
|
|
||
|
* mmap(), mprotect(), msync(), munmap(). fork() changed to support these.
|
||
|
* fsync(), statfs(), fstatfs().
|
||
|
* getprotobynumber() and getservbyport().
|
||
|
* get_osfhandle(), cwait().
|
||
|
* spawnl(), spawnle(), spawnlp(), spawnlpe(), spawnv(), spawnve(),
|
||
|
spawnvp(), spawnvpe().
|
||
|
* nice().
|
||
|
* sigpending(), sigsuspend()
|
||
|
* Under NT only, chown(), getgrgid(), getgrnam(), endgrent(), getgrent(),
|
||
|
setpwend(), getpwent(), endpwent(). Win95 still has these as stubs.
|
||
|
|
||
|
Significantly better signals / exception handling support added.
|
||
|
The kill signal works much better now (control-C works in bash).
|
||
|
|
||
|
Shell scripts now run the shell specified after the #! instead of
|
||
|
always defaulting to /bin/sh.
|
||
|
|
||
|
Floating point registers are now properly initialized in the crt0.o.
|
||
|
|
||
|
Opening non-disk files such as com ports no longer check to see
|
||
|
if they are symlinks or executables.
|
||
|
|
||
|
The console title now is set to the name of the running process.
|
||
|
|
||
|
Winsock is now initialized upon app startup.
|
||
|
|
||
|
Moved reent_data from private address space to cygwin.dll.
|
||
|
|
||
|
The system() call now invokes spawnvp() instead of fork()/exec().
|
||
|
|
||
|
Support for NT extended attributes has been added but is disabled
|
||
|
for now because it slowed things down too much. We want to use them to
|
||
|
remember info about symlink and executable status of files.
|
||
|
|
||
|
Under NT only, utilities mkpasswd and mkgroup can generate a valid
|
||
|
/etc/passwd and /etc/group.
|
||
|
|
||
|
Earlier releases stored mount points in the registry under
|
||
|
"Cygnus Support". This changed to "Cygnus Solutions" starting
|
||
|
with beta 18. Either use a registry editor (regedit under NT)
|
||
|
to rename the old entry or just redo your mount points and the
|
||
|
cygwin.dll will automatically create the new one for you.
|
||
|
|
||
|
Mount points can now be up to MAX_PATH in length instead of 30
|
||
|
characters.
|
||
|
|
||
|
@section Release Beta 17.1 (Dec 10 1996)
|
||
|
|
||
|
A patch has been applied to make Win 95 configure work again.
|
||
|
|
||
|
ld has been changed to make "a.exe" be the default executable name.
|
||
|
|
||
|
@section Release Beta 17 (Dec 7 1996)
|
||
|
|
||
|
It is now possible to rebuild the tools natively under x86 NT when
|
||
|
the full Cygnus Developers' Kit (CDK) and the User Tools are both
|
||
|
installed correctly.
|
||
|
|
||
|
While the cygwin.dll underwent substantial changes, none of them
|
||
|
prevent you from using previously built applications The new dll
|
||
|
is compatible with beta 16 to the best of our knowledge. Beta 14-built
|
||
|
programs will continue to fail with the beta 17 dll -- you will have to
|
||
|
relink them before they will work.
|
||
|
|
||
|
The winsup files that make up the Cygwin32 API are now under the
|
||
|
GNU General Public License. See the accompanying press release
|
||
|
for more information.
|
||
|
|
||
|
@subsection Changes in specific tools:
|
||
|
|
||
|
Gcc now links by default against -lkernel32 and also against
|
||
|
-luser32 -lgdi32 -lcomdlg32 when mwindows is set. Another major
|
||
|
change is that when creating an executable, gcc will now create
|
||
|
foo.exe when given a -o argument of foo.
|
||
|
|
||
|
Dlltool has patches to make it better handle the --subsystem argument
|
||
|
that allows choosing console vs. GUI among other options.
|
||
|
ld has been changed to have a much larger stack reserve size. This
|
||
|
is necessary when rebuilding the toolchain natively under NT.
|
||
|
|
||
|
The C++ headers can now be found given a correctly set GCC_EXEC_PREFIX
|
||
|
environment variable.
|
||
|
|
||
|
New versions of fileutils and make are included. Findutils has been
|
||
|
added.
|
||
|
|
||
|
@subsection Changes in the Cygwin32 API (cygwin.dll):
|
||
|
|
||
|
Scott Christley's headers and def files for the standard Win32 dlls
|
||
|
have been integrated. Anything present only in the previous Cygnus headers
|
||
|
has been added in the appropriate places. There are placeholder files
|
||
|
with the standard Win32 header names that pull in our headers so
|
||
|
programs that try to include specific headers should continue to work.
|
||
|
Having more complete headers should make Win32 native programming
|
||
|
easier.
|
||
|
|
||
|
Select has been rewritten from scratch. The new one can deal with
|
||
|
all sockets, handles and sockets always ready, all handles. Handles
|
||
|
and sockets with timeout not implemented yet. Select now does
|
||
|
blocking and doesn't spin cpu.
|
||
|
|
||
|
File handling has been largely rewritten:
|
||
|
The fhandler array has been moved into local memory instead of shared
|
||
|
memory. This makes a number of things behave better. Lots of changes
|
||
|
to support this. There is now fairly complete ansi/vt100 console support.
|
||
|
Some new file locking support has been added. Arrow keys are now
|
||
|
supported.
|
||
|
|
||
|
Process handling much improved.
|
||
|
|
||
|
Significant serious bugs in fork() fixed.
|
||
|
|
||
|
The system() call now works.
|
||
|
|
||
|
unlink() now chmods read-only files to writable before attempting to
|
||
|
delete a file. This fixes the outstanding problem where rm can't
|
||
|
delete read-only files saying "out of queue slots" repeatedly.
|
||
|
|
||
|
Text mode read has been rewritten.
|
||
|
|
||
|
New syslog code allows logging to event log under NT, file under Win 95.
|
||
|
|
||
|
Symlinks are enabled.
|
||
|
|
||
|
readv() and writev() have been written and exported.
|
||
|
|
||
|
For MS compatibility, we now export functions in the dll as _funcname
|
||
|
in addition to funcname. I would suggest not making use of this fact
|
||
|
unless you are building code that already accesses C library calls
|
||
|
in this way.
|
||
|
|
||
|
Almost all of the source code is now in C++ files.
|
||
|
|
||
|
@section Release Beta 16 (Aug 30 1996)
|
||
|
|
||
|
Path handling has been completely rewritten. To refer to drive Q: in
|
||
|
bash, you can now refer to //q/. Alternatively, type "mount Q: /q" to
|
||
|
have drive Q: show up as /q.
|
||
|
|
||
|
We now pass the Plum Hall positive C conformance tests on the
|
||
|
i386 under Windows 95 and NT 4.0b2.
|
||
|
|
||
|
Fork was previously not accessible inside the dll. This is no
|
||
|
longer the case which should allow us to add working system and popen
|
||
|
calls.
|
||
|
|
||
|
getdomainname works (it used to just return "cygnus.com") by getting
|
||
|
information from registry.
|
||
|
|
||
|
Fixed readdir bug that set errno improperly. This fixed the problem
|
||
|
with diff not working across directories.
|
||
|
|
||
|
Better error checking in signal functions. Initialize winsock in
|
||
|
cygwin32_socket with checkinit call (fixes bug that required calling any
|
||
|
function that did this first).
|
||
|
|
||
|
New functions: sigaddset, sigismember, sigfillset, sigemptyset.
|
||
|
|
||
|
Removed extra underscores present in sysdef files.
|
||
|
|
||
|
There is a now a major and a minor version number associated with
|
||
|
the cygwin.dll. The major number changes only when incompatible changes
|
||
|
are made, the minor number changes when significant changes are made
|
||
|
to the dll that don't require relinking of old apps.
|
||
|
|
||
|
Changed value of HZ in include/sys/param.h to correct value of 1000.
|
||
|
(Fixes bug people reported about "time sleep 5" returning 50).
|
||
|
|
||
|
Assorted exception handling fixes for both i386 and ppc processors.
|
||
|
|
||
|
Assorted time-related fixes required for Cygnus Kerberos work.
|
||
|
New time functions: gmtime, corelocaltime
|
||
|
|
||
|
Assorted spawn and fork fixes.
|
||
|
|
||
|
Pseudo-Unix process handling added -- new ps and kill commands added
|
||
|
|
||
|
Control-Z's are now handled as a valid EOF token in files opened as
|
||
|
text.
|
||
|
lseek now always operates in binary mode.
|
||
|
|
||
|
Select revamped.
|
||
|
|
||
|
Various other changes. For more detailed information, consult the file
|
||
|
in the source code winsup/ChangeLog.
|
||
|
|
||
|
Preprocessor define scheme changed. Apps should now use _WIN32
|
||
|
instead of __WIN32__ to check for access to Win32 API and __CYGWIN32__
|
||
|
to check for presence of the Cygwin32 environment.
|
||
|
|
||
|
We are no longer including GNU findutils, GNU dbm, GNU bison,
|
||
|
GNU less, ncurses, ftp, finger, rcl, cvtres, or V. This may or may not
|
||
|
change in the future.
|
||
|
|
||
|
You must relink old apps you built with prior releases with the new
|
||
|
cygwin.dll.
|
||
|
|
||
|
@section Release Beta 14 (April 10 1996)
|
||
|
|
||
|
Some bugs have been fixed. GDBM and m4 are in the release. GCC now
|
||
|
uses the standard install directories for cc1 etc.
|
||
|
|
||
|
A port of V to gnu-win32 is included. You can now write graphics
|
||
|
applications which will run on Unix or Windows unchanged. Some parts of
|
||
|
V work on the PPC too.
|
||
|
|
||
|
If you call any programs from the standard DOS shell, then the DLL will
|
||
|
expand all the wildcards (glob) found in the arguments on the command
|
||
|
line. So ls *.exe will do what you think it should, even if you're not
|
||
|
in bash.
|
||
|
|
||
|
ncurses and less are included. The DLL's emulation of a vt100 isn't complete,
|
||
|
so ncurses doesn't do all that it should. Hence less is more or less
|
||
|
useless. This can be fixed with a new DLL. (If you want to use
|
||
|
something which uses curses, be sure to set your TERM and HOME
|
||
|
envirionment variables)
|
||
|
|
||
|
If you leave out main, then the libraries will try and call WinMain in the
|
||
|
usual way.
|
||
|
|
||
|
^C works much better on Windows 95. It's still not quite right, but at
|
||
|
least most times it quits what you're doing, and most times doesn't
|
||
|
crash your machine.
|
||
|
|
||
|
You can start more than one concurrent bash session.
|
||
|
|
||
|
Some networking support has been added. Even though telnet.exe is provided,
|
||
|
I know that it doesn't work, so please don't send me bug reports.
|
||
|
|
||
|
You will have to relink your applications to go with the new DLL.
|
||
|
|
||
|
The DLL is released in its own .zip file too, so you don't have to
|
||
|
download a load of other stuff if you dont want to.
|
||
|
|
||
|
@section Release Beta 13 (Feb 9 1996)
|
||
|
|
||
|
Files are opened in binary mode, unless the registry is fiddled with.
|
||
|
|
||
|
The `cat >foo <<EOF bug is fixed.
|
||
|
|
||
|
The symlink cookie has changed, so old links wont work any more.
|
||
|
|
||
|
Two resource tools are provided (untested).
|
||
|
|
||
|
More windows header files are provided. WxWindows almost compiles.
|
||
|
|
||
|
You can get to a raw floppy with `/dev/fd0 or `/dev/fd1.
|
||
|
|
||
|
You can have two filenames with the same name and different case in
|
||
|
the same directory.
|
||
|
|
||
|
Stat now fills in the st_nlink field for directories, so find works
|
||
|
better.
|
||
|
|
||
|
This version is much more stable than any previous version, and will
|
||
|
stay running long enough to configure and build itself on my NT box.
|
||
|
|
||
|
This version is also available in PowerPC versions. The PowerPC
|
||
|
compiler doesn't do stack probing, so some applications won't work, or
|
||
|
they'll only work on some input data - e.g. the demo "hello world" will
|
||
|
compile, but gcc will crash compiling the dhrystone benchmark.
|
||
|
|
||
|
There's a new registry variable "fmode=binary" which controls
|
||
|
whether the tools always open files in binary mode (unless overridden
|
||
|
with O_TEXT), or always open files in text mode (unless overridden with
|
||
|
O_BINARY).
|
||
|
|
||
|
Filesystems can be mounted with the mixed_case flag. This allows
|
||
|
you to use filenames with the same spelling, but different case in the
|
||
|
same directory.
|
||
|
|
||
|
I haven't tested or even used some of the packages that I've
|
||
|
provided. I compiled them, and then fixed the obvious "the file should
|
||
|
have been opened in binary mode" problems.
|
||
|
|
||
|
I've already had reports of some of it not working correctly on
|
||
|
Windows 95. I don't have a simple to use Windows 95 configuration, but
|
||
|
when I did try "it worked for me". This may be another manifestation
|
||
|
of the bug which makes bash hang sometimes under NT.
|
||
|
|
||
|
@section Release Beta 12 (Jan 3 1996)
|
||
|
|
||
|
You can call non- gnu-win32 applications from bash.
|
||
|
|
||
|
You can mount other directories using the @code{mount} command.
|
||
|
|
||
|
Minimal ANSI terminal emulation included.
|
||
|
|
||
|
Packages split into smaller and more logical lumps.
|
||
|
|
||
|
/d<name> mechanism gone.
|
||
|
|
||
|
Initial support for the PowerPC added.
|
||
|
|
||
|
@section Release Beta 11 (Jan 3 1996)
|
||
|
|
||
|
Something broke on the way to the ftp site.
|
||
|
|
||
|
@section Release Beta 10 (Dec 5 1995)
|
||
|
|
||
|
You can pass environment variables around in bash.
|
||
|
|
||
|
Lots more stuff provided precompiled.
|
||
|
|
||
|
Diffs to standard FSF release provided.
|
||
|
|
||
|
It self-hosts.
|
||
|
|
||
|
It supports symbolic links.
|
||
|
|
||
|
The directory layout has changed to be more unix like.
|
||
|
|
||
|
The way that you get to non-c drives is new - i:\foo.cc
|
||
|
is now /di/foo.cc
|
||
|
|
||
|
Nasty bug found and fixed in fork.
|
||
|
|
||
|
CPP will now search the directories you supply in env names.
|
||
|
|
||
|
@section Release Beta 9
|
||
|
|
||
|
I've put all of libc and libm into a shared library,
|
||
|
This drastically reduces the size of some binaries.
|
||
|
e.g., ls goes from 82,949 bytes to 26,624.
|
||
|
"Hello World" is 2564 bytes long.
|
||
|
This is the first stage in greatly speeding up
|
||
|
some of the stuff that's going on behind the curtain.
|
||
|
|
||
|
Different processes communicate using shared memory.
|
||
|
|
||
|
Some trivial use of the registry is made.
|
||
|
|
||
|
DLLTOOL is now *much* faster.
|
||
|
|
||
|
Some small problems have been fixed in the way that DLLs were
|
||
|
layed out.
|
||
|
|
||
|
@section Release Beta 8
|
||
|
|
||
|
GDB works.
|
||
|
|
||
|
GCC now emits debug info which can make **huge** executables
|
||
|
Fortunately, strip works too.
|
||
|
|
||
|
More work has been done to make quoting work.
|
||
|
|
||
|
Simple termios support added to newlib.
|
||
|
|
||
|
Much nicer way of describing paths, eg //c/foo is c:\foo.
|
||
|
|
||
|
@section Release Beta 7
|
||
|
|
||
|
Works again on Win 95 (which is why -6 wasn't advertised).
|
||
|
|
||
|
Permissions are faked better.
|
||
|
|
||
|
Source of demos available without having to ftp the entire win32
|
||
|
binary tree.
|
||
|
|
||
|
@section Release Beta 6
|
||
|
|
||
|
Can now generate DLLs, tiny demo included.
|
||
|
tcl, byacc, fileutils, diff, make included.
|
||
|
|
||
|
@section Release Beta 5
|
||
|
|
||
|
Bug preventing anything from running on recent versions
|
||
|
of Win95 fixed.
|
||
|
|
||
|
vfork and exec oddities fixed.
|
||
|
|
||
|
Import libraries are now really libraries and not
|
||
|
just .o files.
|
||
|
|
||
|
Debugging info stripped from images and libraries;
|
||
|
it's just bloat until gdb works.
|
||
|
|
||
|
I've filled in the four major import libraries.
|
||
|
|
||
|
The win*.h files are now installed into <foo>/include
|
||
|
rather that <foo>/include/sys, so more things will
|
||
|
compile out of the box.
|
||
|
|
||
|
@section Release Beta 4
|
||
|
|
||
|
PE support is fixed. Programs run on
|
||
|
NT 3.1, NT 3.5, NT 3.51 and Windows 95.
|
||
|
|
||
|
You can build GUI programs.
|
||
|
|
||
|
.DEF files for three other DLL's started.
|
||
|
|
||
|
New GUI demo program.
|
||
|
|
||
|
C library distinguishes between text and binary files
|
||
|
consequently the text files generated by the
|
||
|
tools have the familiar ^M at the end of the line
|
||
|
which DOS likes so much.
|
||
|
|
||
|
Doug Evans of Cygnus has added a load
|
||
|
of fancy support for execve, opendir and
|
||
|
various other cool things.
|
||
|
|
||
|
Exception handling is better.
|
||
|
|
||
|
@section Release Beta 3
|
||
|
|
||
|
Was so long ago we don't remember.
|