[GNU M68HC11 HOME]

Changes in 68HC11 & 68HC12 Releases

General | Boards | Changes | Todo | Group | Contribute | FSF Patches | Validation


Overview
Compiler
Documentation
Examples
Misc
Help
IDE & Tools

Download
Install

Links
Projects






This page gives a summary of changes between the different snapshots. A ChangeLog is also available in each source patch to document the modifications.

Oct 14, 2001

Release 1.1.1
Gdb
  • Fix GNU/Linux build to avoid depending on ncurses 5.x shared library.
  • Fix build on Mingw32.
Binutils
  • Fix the linker scripts to create ROM-able programs (pb introduced with static constructors/destructors).
Binaries
  • Windows and GNU/Linux binaries.

Sep 29, 2001

Release 1.1
Gcc
  • Fix few generation bugs
    • Fix static constructor/destructor generation.
    • Fix __builtin_return_address and setjmp/longjmp as builtin.
    • Fix C++ exception support (setjmp/longjmp exceptions)
  • Fix static constructor/destructor support in startup file.
Gdb
  • Fix 68hc11 eeprom simulator
  • Integrate Tim Housel BDM12 support
Binutils
  • Fix linker scripts to support static constructors/destructors.
  • Fix problem with objdump -S
Newlib
  • Fix setjmp/longjmp
  • Improve libc printf and read/write (no longer depends on libgloss)

May 8, 2001

Release 1.0
Gcc
  • Port based on GCC 2.95.3
  • Fix few generation bugs
    • Fix 8-bit mul of signed numbers
    • Fix libgcc.a to split _.d1.._.d8 definitions (now defined as pairs (_.d1,_.d2), (_.d3,_.d4), ...
    • Fix zero-extension of function parameter
    • Fix some constraints for -msoft-reg-count=0
    • Fix trampoline code generation for nested function calls (C nested functions are a GNU extension)
  • Improvement in 68HC12 code generation:
    • Generate inline multiplications and divisions (emul, emuls, idivs).
    • Generate min/max and emin/emax instructions.
    • Generate sex instructions.
    • Generate tbeq and tbne instructions.
  • Optimization of gcc instruction costs computation; costs depends on the 68hc11 or 68hc12 to tune the generated code.
Gdb
  • Fix return command by Gdb (pop frame)
  • Fix idiv, emul simulations for 68HC12
Binutils
  • Port based on Binutils 2.11, no patch necessary
Newlib
  • Port based on Newlib 1.9.0
  • Fix libgloss write().

January 14, 2001

Release 0.9c
Gcc
  • Fix several problems with 68hc12 code generation
  • Optimize some libgcc functions for 68HC12
  • Put soft registers in bss for 68HC12
  • Integrate some reload fixes from GCC 2.95.3.
Gdb
  • 68HC12 simulator
  • Debugging support for 68HC12
  • Fix pb to access local variables and function arguments
  • Improve Buffalo monitor support (68HC11)
  • First support of DBug monitor (68HC12)
Binutils
  • Fix operands analysis for movw/movb (68HC12).
  • Fix indexed indirect addressing mode.
  • Fix support of weak symbols.
Binaries
  • Binary package for gdb on Windows.
  • Binary package for Newlib on Windows.
  • Fix winstall problem on Windows.

September 17, 2000

Release 0.9b
Gcc
  • Fix problem with 68hc12 byte move
  • Update Gcc documentation (68hc11 options, machine constraints)
  • Fix libgcc functions to avoid to use soft registers for 68hc12
  • Fix bug when shifting by 7
Gdb
  • Fix accuracy of the simulator timer device
  • Fix clearing of interrupts in the simulator
  • Fix problems with the return, call and print commands in gdb
  • Support for Buffalo monitor
  • Fix to build GDB for Windows (using mingw32 cross compiler)
  • Incorporate Readline patches for Windows (from Michael Rickmann <mrickma@gwdg.de>)
Binutils
  • Fix 68hc12 linker script
  • Fix to build using mingw32 cross-compiler
Binaries
  • Improved RPM packages to provide the complete HTML documentation.
  • Fixed the dependency on /usr/local in GCC RPM package.

August 5, 2000

Release 0.9a
Gcc
  • New optimizations:
  • Optimize 32-bit comparisons (now inline)
  • Optimize unsigned to float conversions
  • Fix bug when shifting by 8
  • Fix another reload bug
  • Renamed the soft registers to avoid a conflict with C, C++ global variables and functions.
  • Cleanup
  • Remove flag -minline-32 (was not used)
  • Fix build for 68hc12
Gdb
  • Port based on Gdb 5.0
  • Fix frame unwinding ('where' command)
  • Fix calling a function from gdb ('print' and 'call' commands)
  • Improvement of the simulator: handle compare registers and SPI.
  • New option --cpu-config=<val> to configure the 68hc11 CONFIG register at startup.
  • Accounting for XIRQ mask time.
Binutils
  • Port based on Binutils 2.10
  • Fix initialization of bss
  • Fix relax bug in gas when assembling bsr instructions
  • NLS support in gas.
Newlib
  • Fix #ifdef problem in setjmp.h
Binaries
  • Several RPM packages for GNU/Linux (binaries + html documentation)

Apr 22, 2000

Gcc
  • First step in optimization of 68HC12 code generation (not validated),
  • Generate prologue and epilogue in RTL,
  • Fix various reload problems,
  • Cleanup
Gdb
  • Fix perf problem for simulator non-volatile RAM.
Newlib
  • Port based on newlib 1.8.2 instead of 1.8.1.

Feb 26, 2000

Binutils
  • Fixed BRCLR operands
Gdb
  • Fix various problems with the simulator
Examples
  • New bootstrap examples
  • New packaging (several sub-directories)
  • Cleanup and fix of some examples.

Jan 14, 2000

Binutils
  • Fixed a bug in GAS that cause branches to be generated incorrectly in some rare cases.
Gcc
  • Fix add/sub/logical patterns with zero extension.
  • 72 new successful tests.
Gdb
  • Fix the source level debugging problem (next, step command now work correctly).
  • Fix the backtrace (where, up, down now work correctly).

Dec 31, 1999

Binutils
  • Fixed some problems introduced by 68HC12 port (broken %lo, %hi)
  • Recognize strings enclosed with single quotes.
Newlib
  • Hack in embedded sprintf for gcc test-suite.
Gcc
  • Added new peepholes to catch more XGDX/XGDY instructions
  • New add/sub/logical patterns to optimize arithmetic operations with a zero extended operand.
  • Fix 8 and 16-bit shift patterns
  • Fix the padding of tiny structures.
  • Fix problems in loop and reload passes.
Gdb
  • Fix 'subb N,x' in the simulator
  • Fix writing in 68HC11 IO registers in the simulator.

Nov 29, 1999

Binutils
  • Ported for 68HC12 micro-controller, generates ELF files with EM_68HC12 magic.
  • New gas options -m68hc11 and -m68hc12.
  • Fixed the linker script to put .install* sections at beginning of ROM area during final link.
  • Added some tests for gas and fixed the binutils test-suite.
Newlib
  • Recognize m68hc12 targets, fixed some headers for 68hc12.
Gcc
  • Recognize m68hc12 targets
  • New gcc options -m68hc11 and -m68hc12.
  • Multi-lib generation for 68HC11 & 68HC12.
  • Fix mulhi3, addqi3, subqi3 patterns that caused failures on some programs with -mshort.

Nov 1, 1999

Binutils
  • Fixed the builtin linker script that caused failures on some hosts.
Newlib
  • Fixed the missing ChangeLog entries
  • Provide basic printf, fprintf, vsprintf in -lbcc for use by the validation of GCC.
Gcc
  • 130 new successful tests in the validation.
  • Better register allocation by avoiding the round-robin fashion for allocation of spill registers (reduces code size).
  • Fixed some problems with comparisons.
  • Fixed a problem with pointers passed in a va_list.
  • Fixed a problem with addsi3_zero_extendqi pattern (32-bits add of an 8-bit zero-extended quantity).
  • Support the trap and interrupt attributes.
[GNU M68HC11 HOME]
General | Boards | Changes | Todo | Group | Contribute | FSF Patches | Validation

    Last modified,
    Oct 14, 2001
[ Copying ]     [ Feedback to Stephane.Carrez@worldnet.fr ]