16-Oct-2009: vbcc 0.9a release.|
Changes since last release:
- Using vasm 1.4b and vlink 0.12f with many improvements and bug
- The compiler itself is for the first time compiled with
optimization enabled. So it is a little bit faster and smaller.
- Included vbccm68ks (16 bit integer) in distribution, which is
required for the Atari TOS target.
- Fixed alignment bug on incomplete structure initialization.
- Problem with incorrect constant folding during optimization
- Fixed bug with conversion into a non-scalar at -O1.
- -stack-check referenced the obsolete symbol
- A problem with a misplaced return-label during flowgraph
optimization (-O1 and up) was fixed. The bug showed up in a
forever-loop, which was left with return-instructions only, and
could result in an infinite loop or a corrupted stack frame.
- Prevent infinite recursion during program cleanup.
- The 68k config files aos68k, tos and
mint do no longer have to set optimization options. The
OPT directive is completely supported
by vasmm68k_mot since 1.3d.
- M68k code generator: Fixed many ColdFire bugs. But the ColdFire
support is still far from being perfect.
- M68k code generator: Fixed "target error: illegal use of
registers", which could be caused by case statements,
since V0.9, and during jumptable generation.
- M68k code generator: Generated illegal data constants when
-const-in-data and -sd were specified together.
- M68k code generator: Fixed a crash, which could occur with constant
pointers (e.g. *(int *)0x1234=x) in certain situations.
- M68k code generator: Calling a constant address no longer leads to
an internal error.
- M68k code generator: Fixed a wrong condition code test when
converting to smaller integral types.
- PPC code generator: Using a wrong IC pointer in
ALLOCREG/FREEREG caused illegal memory accesses.
- vclib: strtod() fixed: the endptr (when given)
- vclib: ctype.h was wrong for all 68k targets
(toupper()/tolower() inlines didn't work).
- vasmm68k: Got a noticeable performance improvement on parsing
the input source by a factor between 3 and 30.
- vasmm68k: M68k cpu settings were lost when assembling a source
vbcc generated with -g option.
- vasmm68k: Wrong M68k optimization of move.w #0,An into
suba.w An,An left garbage in the MSW.
- vlink: Erroneously prefered a symbol from a library over a symbol
with the same name from the referencing object module.
- vlink: Fixed problem with merging common symbols from serveral
- vlink: Fixed an error when the resulting ELF executable (OS4) only
requires a single segment.
In such a complex project there will of course be bugs.
Most, especially the serious, bug fixes will be available immediately
as a patch. The rest comes with the next release, or by request
from the author (see below).
Downloading vbcc 0.9a.
You need to pick the appropriate binary archive for your host
platform. Then you can add as many target archives as you
Example: If you own a Pegasos running MorphOS and
would like to develop programs for MorphOS and AmigaOS/68k, you
have to pick the vbcc_bin_morphos archive for the
binaries as well as the target archives
and vbcc_target_m68k-amigaos. Install the binary
archive first, using the provided Amiga installer, then
add the targets.
The PowerUp and WarpOS binary archives are additional,
which means that you need to have a base binary archive already
installed. Typically this would be the
All target archives are lha-packed, while the Atari targets are also
available as zip-archives to make unpacking easier for Atari users.
Other host platforms. vbcc is portable enough to run
under all operating systems which offer a working ANSI-C compiler,
e.g. BSD, Linux, MacOS and Windows.
If you need a port for your system, try to contact the authors.
AmigaOS 2.x/3.x 68020+ binaries.
AmigaOS 4.x binaries.
Additional PowerUp binaries.
For use under AmigaOS/68k.
Additional WarpOS binaries.
For use under AmigaOS/68k.
Atari MiNT binaries.
Compiler target AmigaOS 2.x/3.x M680x0.
Compiler target Atari TOS M680x0.
Compiler target Atari MiNT M680x0.
Compiler target AmigaOS 4.x PowerPC.
Compiler target MorphOS PowerPC.
Compiler target PowerUp PowerPC.
Compiler target WarpOS PowerPC.
Compiler target Atari TOS M680x0 (without Amiga install script).
Compiler target Atari MiNT M680x0 (without Amiga install script).
Default config files for all targets with Unix/MiNT paths.
Installation procedure for AmigaOS/MorphOS:
Just click the Install icon. Or refer to chapter 1.3.3 of the
documentation for a manual installation.
Installing procedure for MiNT:
Refer to the Unix installation instructions in chapter 1.3.1 of the
vbcc manual. You may want to download the Unix default config files from
above, because all configs from the target archives contain Amiga
Please support vbcc by contacting the authors if you find
any bugs or problems. Supporting seven different architectures
makes testing extremely time consuming, so this release is
probably not free of bugs.
For problems with the compiler core contact
Dr. Volker Barthelmann
and for Amiga/Atari-specific problems, including assembler, linker,
startup-codes and linker-libraries, contact
Frank Wille ().