home *** CD-ROM | disk | FTP | other *** search
- Noteworthy changes to the RISC OS GCCSDK releases made.
-
- For specific UnixLib changes, see !gcc.docs.UnixLib.Changes too.
-
- GCCSDK GCC 3.4.6 Release 2 (released 17 September 2006)
- ==========================
-
- This is only a summery of the most important changes made.
-
- * GCC compilers fixes:
-
- - Correction of Release 1 filename handling regression with GCC.
- - Enabling of throwback for C preprocessor.
- - Pass gcc include paths through to 'as' assembler. There are known
- limitations on the current assembler include path support concerning
- Unix and RISC OS style pathname syntax so we recommend using path
- variables when you want to specify assembler include directories.
- E.g.: gcc -IOSLib: -c source.s -o source.o
-
- * Assembler fixes:
-
- - Allow suffix swapping in its include filenames and adding hdr/Hdr
- suffixes to its default suffix swap list. This allows RISC OS and
- cross compilation of same assembler sources which include OSLib headers.
- - No longer supporting GCC @ comments. This is no logner needed for the
- GCCSDK build procedure and allows the @ as built-in variable by default
- i.e. without having to resort to the -objasm option.
- - Assembler now supports all ARMv5E (XScale) instructions (i.e. not
- including the Thumb instructions).
- - Fixed several miss-assemblings or unsupported corner cases: LFMFD,
- LDC/STC, PLD, LDR/STR(H,SH,SB), etc.
- - Added testcases for future regression tests.
-
- * UnixLib fixes:
-
- - Improvement of backtrace and error handling: showing info on all current
- threads and demangled C++ function names.
- - readdir: fix in its suffix swapping code and improved POSIX behaviour.
- - unixify: fix memory leak and return value.
- - riscosify: avoid using hard-wired "/home/riscos/env/" path.
- - Stability fix when <Alt><Break> is used.
- - Conditional support for XScale compilation.
-
- * Librarian fixes:
-
- - Replacing AOF object in ALF file didn't work.
- - Several code fixes improving its stability.
-
- * Linker fixes:
-
- - 'hide' edit command did not always work.
-
- * Fix for C++ using SharedCLibrary. Examples Makefile updated
- to build hello world examples in different ways.
-
- * Various documentation updates.
-
- GCCSDK cross-compilation improvements:
-
- * Improved memory debugging support, allowing use of dmalloc instead of
- Fortify.
-
- * Allow building of processor specific toolchains using the --with-arch,
- --with-tune and --with-float configure options. In particular,
- allow building of GCC and UnixLib which, apart from ARMv3, also target
- ARMv3M (like ARM7), ARMv4 (like StrongARM) and ARMv5TE (like XScale)
- architectures by default.
-
- * Improvements of the "porting scripts" used are also used by the
- GCCSDK Autobuilder:
-
- - Autobuilder now uses separate X libraries instead of relying
- on monolithic X tree. Many other autobuilder packages updated.
- Non-Debian source fetcher improved. Many dependencies added so
- that many packages can be built with just one command.
- - Faster --ro-recursive implementation.
- - Parallel build support.
- - Created pkg-config wrapper to make sure only cross-compiled pkg-config
- files are found.
-
-
- GCCSDK GCC 3.4.6 Release 1 (released 12 June 2006)
- ==========================
-
- * Update to full GCC 3.4.6 release. See
- <URL:http://gcc.gnu.org/gcc-3.4/changes.html#3.4.6> for more
- information about this release.
-
- * cmunge: Upgraded to v0.76 which has fixes for the carry-capable veneer
- return problem and a workaround for the broken handling of the system
- call in Pace SCL seen on Iyonix. All details in !gcc.docs.CMunge.History.
-
- * Provided two new GCC options -mlibrary-static-data-offset and
- -mclient-static-data-offset (latter being default) which when compiling
- module code to be able to use the library static data offset (at
- sl-540) instead of the client static data offset (sl-536).
- Graham Shaw <gdshaw@sagitta.demon.co.uk>
-
- * Added resgen, a tool to create an AOF file encapsulating one or more
- files ready for (de)registering with ResourceFS.
-
- * Several bug fixes and enhancements were done:
- - as : solved bug #149; support for offset parameter in ALIGN; support
- for ALIGN AREA attribute; alignment happens with zero bytes instead of
- random bytes; support for rotated constants.
- - decaof : made it more robust.
- - drlink : new option -strict to treat warnings as errors. The linker
- invoked by gcc will add the option -strict when environment variable
- TLINK_STRICT has been defined (value unimportant).
- - gcc : better -mapcs-26 vs -mapcs-32 behaviour but note that -mapcs-26
- support is deprecated.
- - gcc/as/drlink : RISC OS binaries have support for reading/writing
- "program/c" RISC OS files in addition to "c.program" files (but the
- command line argument still specifies them as "program.c").
- - libfile : increased compatibility with Acorn/Castle libfile version.
- - UnixLib : bug fix details in separate !gcc.docs.UnixLib.Changes file.
- - SharedUnixLibrary (v1.10) : support for RISC OS versions where the
- module private word is in USR read-only memory.
-
- * Various Autobuiler and porting-tool enhancements.
-
- * GCCSDK build enhancements:
- - Move CVS to SVN changes.
- - GCC ARM backend/drlink : support for 64-bit platforms (x86_64).
- - Solaris 8 SPARC support
-
-
- GCCSDK GCC 3.4.5 Release 1 (released 15 February 2006)
- ==========================
-
- * Update to full GCC 3.4.5 release. See
- <URL:http://gcc.gnu.org/gcc-3.4/changes.html#3.4.5> for more
- information about this release.
-
- * decaof: On 14 July 2005, the original author of decaof, Andy Duplain,
- relicensed decaof under GPL.
-
- * nm: Explictly marked as GPL.
-
- * cmunge: Upgraded to v0.72 which now contains GCCSDK support and several
- bugs fixes and enhancements. All details in !gcc.docs.CMunge.History.
- Many thanks to Justin Fletcher for his full support.
-
- * as: Under some circumstances, reserved AOF symbol attributes were set
- and this could be triggered too by GCC usage of 'as'.
- drlink: A warning is given when unsupported/reserved AOF symbol
- attributes are detected.
-
- * RISC OS modules can now be created in C++ too.
-
- * UnixLib's regex implementation is now derived from the PostgreSQL codebase
- resulting in significantly faster timings.
-
- * Longstanding Fortran COMMON bug is fixed.
-
- * Calling SharedCLibrary functions (-mlibscl option) having one or more
- float arguments resulted in wrong behaviour. This is now fixed.
-
- * Removed the old (26 bit only) rink version. Use the latest 26/32 bit
- neutral version at <URL:http://www.compton.nu/rink.html>.
-
- * Porting tools are now using the environment variables GCCSDK_INSTALL_ENV
- and GCCSDK_INSTALL_CROSSBIN to locate their files. This allows easy
- switching between multiple cross-compiler versions or installation at
- non-default directories.
-
- * Included Andreas Dehmel's DRenderer v0.52 source & binary which recently
- became GPL licensed. Any future development of DRenderer can happen in
- the GCCSDK project.
-
-
- GCCSDK GCC 3.4.4 Release 3 (released 8 July 2005)
- ==========================
-
- * Update to full GCC 3.4.4 release. See
- <URL:http://gcc.gnu.org/gcc-3.4/changes.html#3.4.4> for more
- information about this release.
-
- * UnixLib: Unterminated buffer fixes (__unixify and vnsprintf)
-
- * libscl: Much improved compatibility with Castle C/C++ headers
- and TCPIPLibs.
-
- * GCC 'gcov' profiling support is now possible. See the GCC manual
- for more details.
-
- * Now with full RISC OS module support. See !gcc.docs.Intro for details.
-
- * Included CMunge written by Justin Fletcher & Robin Watts.
-
- * Autobuilder: Minor fixes and many improvements. Many packages added.
-
- * drlink: Explictly marked as GPL (permission granted for this in 2001)
-
- * 'as', 'drlink' and 'decaof' have improved support for previously unhandled
- AOF attributes.
-
- * Improved support for GCCSDK under Cygwin, OpenBSD and big-endian
- platforms like Mac OS X.
-
- * Additions for soft-float support.
-
- * argv[0] is now a Unix-format filename under UnixLib.
-
- * !Clib is no longer distributed with GCC. It is not used by anything,
- and the compilers which can target the SharedCLibrary using its sources
- (GCC and LCC) contain their own copies.
-
- * Runaway optimisation fixed (bug #131)
-
-
- GCCSDK GCC 3.4.4 Release 2 (released 6 May 2005)
- ==========================
-
- * drlink is much faster when handling very large numbers of symbols.
-
- * UnixLib no longer contains any GPL code. UnixLib in its entirety
- is govenered by the LGPL, which may make it suitable for some commercial
- projects (subject to LPGL requirements). Specific files in UnixLib
- may be subject to different licenses.
-
- * The SharedCLibrary compatibility headers and stubs, libscl, are
- now distributed under a BSD-style free-software license.
-
- * The 'as' assembler is now GPL, permission thanks to Niklas R�emo.
- Also has considerable tidying and some minor bug fixes, and GCC will
- cause it to use throwback if the compiler is doing so.
-
- * More code moved to SharedUnixLibrary (now 1.06). This allows
- more flexible and reliable handling of some low-level operations.
-
- * Substantial pthread improvements.
-
- * GCCSDK now contains porting scripts and autobuilder packaging scripts
- to signficantly simplify porting and rebuilding of Unix applications
- for RISC OS.
-
- * Linker will dynamically link to ChoX11 and DeskLib if the system
- variable TLINK_CX11 is set and -lX11 is specified on the command line.
-
- * Better handling of fork() and related functions.
-
- * System variables under UnixLib without a $ in them are now specific
- to the process.
-
- * Rationalisation of escape handling in UnixLib.
-
- * Overflows and other exceptional floating point behaviour now do
- not generate a signal, consistent with Unix behaviour.
-
- * More safety in UnixLib signal handling; improved backtraces.
-
- * Faster memcpy/memset/strcpy/strlen implementations from Adrian Lees.
-
- * Addition of fake /dev/custom device in UnixLib allows overriding
- of specific file descriptor behaviour.
-
- * Fix for needing to specify -I. sometimes with includes relative to
- a path in GCC.
-
- * Update to latest GCC 3.4.4 snapshot.
-
- * Rationalisation of UnixLib sources in preparation for ELF and GCC 4.
-
- * When cross compiling, setting the system variable TLINK_MEMCHECK to
- a value will, at link time, redirect calls to malloc/calloc/realloc/free
- via the 'fortify' memory check library. This allows checking for
- block overwrites, use of free memory and other memory indiscretions.
-
- * UnixLib contains an amalgamation of Sun Microsystems' 'fdlibm' and
- the IBM MathLib libraries to provide precise IEEE single and double
- floating point arithmetic accurate to the last decimal place. The
- library additionally provides all C99 math functions.
-
- * UnixLib: incorporated David Gay's libgdtoa library to provide
- accurate representation of floating point numbers as strings.
-
- * UnixLib: updates to 'printf' family of functions provides better
- floating-point accuracy and fixes many formatting problems.
-
- * UnixLib: headers incorporate GCC's 'nonnull' and 'warn_unused_result'
- attributes to generate additional warnings that may aid in tracking down
- bugs at compile time.
-
- * GCC/GCCSDK now includes the 'decaof' tool for examining AOF object
- files.
-
-
- GCCSDK GCC 3.4.4 Release 1 (released 25 December 2004)
- ==========================
-
- * Modernisation of assert() handling and ensure compability with StubsG.
-
- * Improved Co-processor register support in 'as'
-
-
- GCCSDK GCC 3.4.4 pre-release 4 (released 20 December 2004)
- ==============================
-
- * Extensive improvement of filename handling in AOF tools and GCC. They
- now all use UnixLib's riscosify/unixify functions and can handle
- and disambiguate a much larger range of filenames.
-
- * drlink: Ensure that partially linked AOF files work correctly.
-
- * drlink: Improve behaviour of GNU LINKONCE areas, which previously prevented
- some C++ programs from linking.
-
- * libscl: Minor tidying, add stdint.h Castle C/C++ compatibility header.
- Make riscosify work properly with libscl.
-
- * as: Now linked with SCL instead of UnixLib, so it is smaller.
-
-
- GCCSDK GCC 3.4.4 pre-release 3 (released 10 December 2004)
- ==============================
-
- * gcc: Updated to version 3.4.4 (prerelease of 03/Dec/2004)
-
- * gcc: No longer prefix register names with '__' in assembler output.
-
- * drlink: Fix reporting of size mismatches.
-
- * ld: Use demangler API for C++ v3 symbols.
-
- * gcc: Correct output of some floating point code that could result
- in stack mismatches.
-
-
- GCCSDK GCC 3.4.4 pre-release 2 (released 29 November 2004)
- ==============================
-
- * gcc: Minor bug fixes.
-
- * zip: Be more intelligent when setting RISC OS filetype.
-
-
- GCCSDK GCC 3.4.4 pre-release 1 (released 26 November 2004)
- ==============================
-
- * gcc: Updated to version 3.4.4 (prerelease of 13 Nov 2004)
-
-
- GCCSDK GCC 3.4.1 Release 1 (released 05 October 2004)
- ==========================
-
- * gcc: Updated to version 3.4.1 to make the distribution current and
- bring in speed improvements and better optimisation. The 3.3 release
- branch was abandoned in favour of this.
-
- * gcc: Default is now to tune for XScale - this will improve performance
- on StrongARM and XScale processors - the most common ARM processors running
- RISC OS.
-
- * Many substantial changes and improvements - see docs.ULChanges for the
- complete list. Highlights include:
-
- - Integrated iconv support via an external module.
- - Much improved handling of child processes, avoiding previous
- potential aborts.
- - Miscellaneous pthreads improvements including addition of semaphore
- support.
- - Complete set of 64-bit maths functions.
- - Considerably improved compatibility with glibc headers, easing
- porting of many programs.
- - Improved terminal handling.
- - /dev/dsp support meaning some Unix programs using sound will work
- without modification.
- - Further improvements to filename translation.
- - General improvements to source formatting and comments.
-
-
- GCCSDK GCC 3.3.3 pre-release 2 (released 18 April 2004)
- ==============================
-
- * diffutils: Upgrade to version 2.8.1. Add documentation.
-
- * flex: Upgrade to version 2.5.31. Add documentation.
-
- * grep: Upgrade to version 2.5. Add documentation.
-
- * gperf: Add documentation.
-
- * make: Upgrade to version 3.80. Add documentation.
-
- * patch: Upgrade to version 2.5.4.
-
- * sed: Upgrade to version 4.0.9. Add documentation.
-
- * gcc: Fix accidental commit that prevented error messages for compiled
- files from being displayed.
-
- * unixlib: Preserve DDEUtils Prefix upon parent process exit. This fixes
- an interaction bug between AMU and gcc causing files to be stored in
- the wrong place.
-
- * drlink: Fix handling of RISC OS filenames.
-
-
- GCCSDK GCC 3.3.3 pre-release 1 (released 20 March 2004)
- ==============================
-
- * unixlib: Path <Unix$Path> has been replaced by <UnixLib$Path>. All
- makefiles that previously used the path Unix: will have to be updated
- to use UnixLib: instead.
-
- * gcc: updated to release 3.3.3 20040214. The Standard C++ Library
- has undergone a re-write, meaning any applications compiled with this
- C++ compiler are not compatible with previous GCC releases.
-
- * unixlib: POSIX thread (pthread) support
-
- * gcc, unixlib, libscl: Default build is now APCS-32. APCS-26 builds are
- deprecated and will be removed from a future version.
-
- * gcc: C++ and Fortran applications can now be compiled to use the
- SharedCLibrary (libscl) as an alternative to UnixLib. UnixLib
- remains the default target C run-time library.
-
- * unixlib: Stack model changed from UNIX-style linear stacks
- to RISC OS SharedCLibrary style chunked stacks. This allows
- for automatic WimpSlot extension.
-
- * unixlib: Emulation of /dev/random and /dev/zero.
-
- * unixlib: New resolver libraries, taken from glibc 2.2.5.
-
- * unixlib: Improve compatibility with the C99 standard.
-
- * unixlib: New crypt implementation, taken from glibc 2.2.5.
-
- * as: Big-endian processor support. Required for cross-compiling on
- * processors such as the MIPS.
-
- * as: Fixes for common area symbol handling
-
- * as: Support for ELF object format.
-
- * as: Improve filename handling and search paths for GET.
-
- * ar: Closer emulate UNIX's 'ar' implementation.
-
- * sed: Upgrade to version 4.0.7.
-
-
- GCCSDK GCC 2.95.4 Release 3 (released 05 January 2003)
- ===========================
-
- * as: Fix pre/post indexed addressing assembler error.
-
- * gccsdk: Support NetBSD.
-
- * unixlib: Fix #include typo in inttypes.h.
-
- * libscl: Preserve flags on 26-bit systems.
-
-
- GCCSDK GCC 2.95.4 Release 2 (released 13 November 2002)
- ===========================
-
- * ar: This is an ALF implementation of the Unix archiver. This is
- simply a front end onto libfile but takes compatible arguments.
-
- * nm: Based on decaof, this program is an AOF version of the Unix
- program to list symbols in object files.
-
- * as: Fix broken co-processor mnemonic support.
-
- * drlink: Upgrade from 0.3.4 to 0.3.9.
-
- * unixlib: Fix a command line argument bug when using file-descriptor
- based re-direction.
-
- * unixlib: Logic for isprint was wrong.
-
- * unixlib: usleep gets 1/100th sec resolution.
-
- * gcc: Support hh and icc filename extensions.
-
- * gcc: [BUG48] Tail call optimisation and chunked stacks.
-
- * gcc: [BUG88] Prevent STR code generation where the source and base
- register are the same.
-
- * bison: [BUG26] Pack bison files in the distribution.
-
- * libscl: Support APCS-32.
-
-
- GCCSDK GCC 2.95.4 Release 1 (released 20 December 2001)
- ===========================
-
- * unixlib: Allow for program independent sfix settings.
-
- * unixlib: Remove restriction on the maximum length of a command line.
-
- * unixlib: Add wchar.h, inttypes.h, stdint.h and supporting functions.
-
- * unixlib: Support `,xyz' RISC OS file type extensions.
-
- * unixlib: Fix longstanding bug that causes programs to hard-lock a
- computer whilst using the network stack.
-
- * unixlib: Support for DoggySoft's Syslog module.
-
- * unixlib: Header file re-arrangements so that UnixLib can be used
- as a drop-in compile time replacement for the SharedCLibrary.
-
- * gcc: Remove weak symbol use that was enabled in pre-release 3.
-
- * gcc: Changed compiler executable directory from arm-riscos to
- arm-acorn-riscos.
-
- * gcc: Minor code generation optimisation for small C++ functions.
-
- * gcc: Bug fix in Unix filename translation. Pathnames starting with
- `../../something' would be translated to '../../'.
-
- * gcc: By default the libraries and headers for UnixLib and SharedCLib
- are integrated into the distribution. GCC therefore no longer relies
- on the Unix$Path and C$Path variables. During the link stage, it is
- recommended that the GCC command is used, rather than calling drlink
- directly.
-
- * gcc: The option specifying that source code should be built and linked
- against the SharedCLibrary rather than UnixLib has changed from the
- rather uninformative -mstubs to -mlibscl.
-
- * as: Better support for local labels.
-
- * gcc: Upgraded to version 2.95.4.
-
-
- GCCSDK GCC pre-release 3a (released 23 November 1999)
- =========================
-
- * Integer division will now raise a SIGFPE upon division
- by zero
-
- * Front-end programs g77 and g++ had not been built since the
- upgrade to 2.95.2 and were looking for the compilers in
- directory 2_95_1.
-
- * The !run file incorrectly set the pathname for the /tmp
- directory.
-
-
- GCCSDK GCC pre-release 3 (released 19 November 1999)
- ========================
-
- These are the user visible changes since pre-release 2.
-
- * Updated to GCC 2.95.2
-
- * C++: The Standard Template Library headers have been moved from
- their own sub-directory (stl) to their parent directory.
-
- * Fix errors in the conversion of float/double and long doubles
- to 64-bit integers. These functions have been re-coded to not
- use floating-point instructions.
-
- * as: The assembler incorrectly compiled a post-indexed LDR/STR
- as a pre-indexed LDR/STR.
-
- * as: Incorrect filename translation was causing AOF files
- named o.s_temp to be written out as o.o_temp
-
- * unixlib: Bug fixes in UnixLib's strsep and strtoul functions.
- Implemented C9X headers, fenv.h and complex.h. Added many new
- math functions.
-
-
- GCCSDK GCC pre-release 2 (released 23 September 1999)
- ========================
-
- This file details the user visible changes since pre-release 1.
-
- * Separate libgcc runtime library for targetting the SharedCLibrary
- called libgcc_sh.
-
- * Exception handling bug fix.
-
- * Transparent suffix swapping performed by UnixLib is now private
- to the GCC compilers and utilities (set by UnixFS$<progname>$sfix)
-
- * Directory structure has been reorganised. Binaries and
- supporting libraries are now in version specific directories so
- it will be possible to have multiple gcc installations and select
- an appropriate compiler by its version number (see `gcc -V').
-
- * C++ support libraries libio and libstdc++ are now integrated
- into the main !gcc tree, rather than being separate directories.
- Hence it is no longer a requirement to add -Ilibio: and -Ilibstdc:
- to the gcc command line, likewise with -Llibio: and -Llibstdc:
- on the linker command line, however you still will need to add
- -lstdc++ and -liostream.
-
- * The C++ libraries should now be compatible with the long
- file name feature of RISC OS 4. This shouldn't affect users of
- filing systems that support only 10 characters i.e. ADFS, IDEFS
- and SCSIFS on RISC OS 3.
-
- * The example programs originally located in !gcc.files have been
- moved out of the !gcc directory. Running !gcc will no longer
- change the currently selected directory.
-
- * Documentation update to reflect directory structure changes.
- Added a clear note regarding the memory usage of gcc.
-