diff --git a/ChangeLog.OS2 b/ChangeLog.OS2 deleted file mode 100644 index e973d131d..000000000 --- a/ChangeLog.OS2 +++ /dev/null @@ -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. diff --git a/ChangeLog.md b/ChangeLog.md new file mode 100644 index 000000000..d58d412bb --- /dev/null +++ b/ChangeLog.md @@ -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. diff --git a/README.OS2 b/README.OS2 deleted file mode 100644 index cde6ead84..000000000 --- a/README.OS2 +++ /dev/null @@ -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="/gcc${PATH:+;$PATH}" - - # Make sure programs linked with xgcc will find the correct gccXXX.dll - export BEGINLIBPATH="/gcc${BEGINLIBPATH:+;$BEGINLIBPATH}" - - /configure \ - --with-sysroot=/@unixroot \ - --prefix=/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. diff --git a/README.md b/README.md new file mode 100644 index 000000000..307028473 --- /dev/null +++ b/README.md @@ -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 + 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*