Update README and ChangeLog for 9.2.0 OS/2 Beta 1.

Note that this commit also converts these files to Markdown and
adds a few missing ChangeLog entries for previous OS/2 releases.
This commit is contained in:
Dmitriy Kuminov
2020-01-14 03:27:15 +03:00
parent 4202248449
commit ee72211e30
4 changed files with 136 additions and 76 deletions

View File

@@ -1,18 +0,0 @@
This file contains OS/2-specific changes to GCC that are not part of upstream
and its ChangeLog.
4.4.6 OS/2 Release 17 (2013-07-25)
----------------------------------
- Fix Release 16 regression that would break output file name computation
for the `gcc test.c -lpthread` case.
4.4.6 OS/2 Release 16 (2013-07-23)
----------------------------------
- Fix treatment of a non-option argument as an output file. This makes cases
like `gcc -lpthread test.c` produce the correct executable name.
- Enlarge stack size to 8MiB and use high memory in gccXXX.dll.
- Implement -pipe mode support for the OS/2 (EMX) target.
- Suppress `Internal error: Interrupt` message caused by Ctrl-C/Ctrl-Break.
- Fix regression causing build failures in some C++ code due to mismatching
internal representations of the correct member declaration and definition.

77
ChangeLog.md Normal file
View File

@@ -0,0 +1,77 @@
History of changes for GCC for OS/2
===================================
This file contains OS/2-specific changes to GCC that are not part of upstream
and its ChangeLog.
9.2.0 OS/2 Beta 1 (2020-01-14)
------------------------------
- Update source code to version 9.2.0.
- OS/2: libstdc++: Force DLL name base to be stdcpp instead of stdc++.
- OS/2: Add ctype_base::blank required by newer libstdc++.
- OS/2: Better align optlink/system cconv to new GCC code.
- OS/2: libquadmath: Fake missing putwc.
- OS/2: Synchronize EMX code with recent Windows NT (Cygwin) changes.
- OS/2: Make -mstackrealign effect default on SSE targets.
- OS/2: Enable mmap in fixincludes.
- OS/2: configure: Make --enable-decimal-float default on EMX.
- OS/2: Implement OS/2-specific locale(ctype) support.
- OS/2: Add C++11 thread support.
- OS/2: fixincludes: Do not pass write_fd to the child.
- OS/2: Install missing headers, especially C11 headers.
- OS/2: Add missing built-in integer macros.
- OS/2: libgcc: Add a custom list of exports for kLIBC (__chkstk_ms so far).
4.9.2 OS/2 Release 1 (2015-01-30)
---------------------------------
- Update source code to version 4.9.2.
- Use default compiler for building libgcc, fix def file name.
- OS/2: Enable frame pointer by default in source due to configure bug.
- Use standard toolchain to build gcc runtime also under OS/2.
- Don't emit DWARF2 unwind tables on OS/2 by default.
4.7.3 OS/2 Release 1 (2013-11-27)
---------------------------------
- Update source code to version 4.7.3.
4.4.6 OS/2 Release 17 (2013-07-25)
----------------------------------
- Fix Release 16 regression that would break output file name computation for
the `gcc test.c -lpthread` case.
4.4.6 OS/2 Release 16 (2013-07-23)
----------------------------------
- Fix treatment of a non-option argument as an output file. This makes cases
like `gcc -lpthread test.c` produce the correct executable name.
- Enlarge stack size to 8MiB and use high memory in gccXXX.dll.
- Implement -pipe mode support for the OS/2 (EMX) target.
- Suppress `Internal error: Interrupt` message caused by Ctrl-C/Ctrl-Break.
- Fix regression causing build failures in some C++ code due to mismatching
internal representations of the correct member declaration and definition.

View File

@@ -1,58 +0,0 @@
GCC for OS/2
============
This repository contains the GCC source code with the patches needed to build it
on the eComStation (OS/2) operating system. One day all patches will be merged
upstream but currently it is more convenient for the developers to track them
separately.
Build instructions
------------------
These instructions assume you have the RPM/YUM environment installed.
See http://svn.netlabs.org/rpm for details.
1. Install the necessary packages from RPM with:
yum install os2-base-fhs ash gcc gcc-wlink gcc-wrc grep gmp-devel mpfr-devel gettext-devel diffutils gawk flex sed
2. Make a build directory outside the source tree.
3. Change to that directory and run configure & make using the following
SH script (tailor it to your needs, check also step 4 below):
export LANG=C
export SHELL=sh
export CONFIG_SHELL=$SHELL
export MAKESHELL=$SHELL
export PATH=`echo $PATH | sed -e 's@\\\\@/@g'`
export ac_executable_extensions='.exe'
export CFLAGS='-O2 -march=pentium -mtune=pentium4'
export CXXFLAGS='-O2 -march=pentium -mtune=pentium4'
export LDFLAGS='-Zomf -Zmap -Zargs-wild -Zhigh-mem -s'
# Make sure xgcc will find its own cc1/cc1plus instead of the host ones
export PATH="<PATH_TO_BUILD>/gcc${PATH:+;$PATH}"
# Make sure programs linked with xgcc will find the correct gccXXX.dll
export BEGINLIBPATH="<PATH_TO_BUILD>/gcc${BEGINLIBPATH:+;$BEGINLIBPATH}"
<PATH_TO_SRC>/configure \
--with-sysroot=/@unixroot \
--prefix=<PATH_TO_BUILD>/install \
--enable-shared \
--enable-languages=c,c++ \
--with-gnu-as \
--disable-bootstrap \
--disable-multilib \
--disable-libstdcxx-pch \
--enable-threads
make SYSTEM_HEADER_DIR=$UNIXROOT/usr/include
make install
4. Autoconf is hell.

59
README.md Normal file
View File

@@ -0,0 +1,59 @@
GCC for OS/2
============
This repository contains the GCC source code with patches needed to build it on
the OS/2 operating system. One day all patches will be merged upstream but
currently it is more convenient for the OS/2 developers to track them
separately.
Note that this repository is a successor of the previous repository located at
<https://github.com/psmedley/gcc> which is not maintained any more. All patches
from that repository have been applied here preserving their original authors
when possible.
Installation
------------
The easiest and the only officially supported way to install GCC for OS/2 is to
use binary builds provided by [bitwiseworks](https://www.bitwiseworks.com/).
This requires the [RPM/YUM environment for
OS/2](http://trac.netlabs.org/rpm/wiki) to be installed. Note that all recent
distributions of [ArcaOS](https://www.arcanoae.com/arcaos/) already have it, so
nothing needs to be done if you have one of these. Then simply type the
following on the command line prompt to install GCC:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
yum install gcc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If you also need to install the C++ part of GCC, type the following:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
yum install gcc-c++
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Help and Support
----------------
You will find a lot of useful information about GCC for OS/2 on the [Wiki
pages](https://github.com/bitwiseworks/gcc-os2/wiki) of the project's GitHub
repository. There you may also watch the progress of our work on this port.
Please read these pages carefully if you need any help or want to report a
problem.
Build Instructions
------------------
Please refer to [build
instructions](https://github.com/bitwiseworks/gcc-os2/wiki/Developers#building-gcc)
on GitHub.
Credits
-------
We thank Knut St. Osmundsen for maintaining the OS/2 port of GCC version 3 which
was used as a base for this port. We also thank Paul Smedley for his continued
OS/2 contribution to GCC 4 and further versions over these years.
*bww bitwiseworks GmbH*
*January, 2020*