mirror of
https://github.com/bitwiseworks/gcc-os2.git
synced 2026-07-08 17:56:25 +00:00
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:
@@ -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
77
ChangeLog.md
Normal 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.
|
||||
58
README.OS2
58
README.OS2
@@ -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
59
README.md
Normal 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*
|
||||
Reference in New Issue
Block a user