[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
New compiler tools release: cris-dist-1.56
There's a new release of the compiler tools. It has been tested
together with the recent devboard_82-R1_91 release and should
trivially work with the devboard_lx_ide-R1_00 release.
DO *NOT* use this release for devboard_lx-R2_1_0 or older,
devboard_bt-R1_0_0 or older, or devboard releases: compilation
will fail, in some cases in non-obvious ways, creating huge
temporary files (6GB) which are left behind.
This release contains a critical workaround for a hardware bug.
Without the workaround there may be intermittent crashes and
other failures. From the NEWS file in the cris-dist-1.56.tar.gz
file (or /usr/doc/cris-dist-1.56/NEWS for the RPM package):
- There's a workaround in GCC for a hardware bug related to
multiplication instructions, item 5 in the errata list at
If you're absolutely certain that the TLB registers are not
mapped while your code is running, you may disable the
workaround using the GCC option -mno-mul-bug-workaround.
Normal application (user-space) programs do not need the
workaround. The workaround costs approximately less than 0.5%
performance and about 0.5% larger code, due to restrictions
on the placement of multiply instructions. The glibc library
and the libstdc++ library for cris-axis-linux-gnu are compiled
with -mno-mul-bug-workaround. Code from those libraries must
consequently not be linked with the Linux kernel.
- A GCC bug causing incorrect code has been fixed, related to
(but not necessarily trigged by source using) postincrement.
See <URL:http://gcc.gnu.org/PR14209> for details. For
example, the function inet_network in glibc/inet/inet_net.c
- Code for C++ virtual functions was miscompiled, when compiling
a shared library using inherited virtual functions. See
<URL:http://gcc.gnu.org/PR14346> for details.
- Single-precision (the C type "float") floating-point
multiplication on numbers very near zero were rounded to less
than 0.5ulp precision. See <URL:http://gcc.gnu.org/PR14354>
The compiler tools are available in five formats: as a source
SRPM, as a binary RPM, as a binary .deb package, Debian source
description and as "pure" sources; gzipped tar-balls. The
binary RPM is suitable for i386-type host machines
(i86-pc-linux-gnu) running Red Hat Linux release 6.2 and up.)
The Debian binary package is similarly suitable for PC:s running
release "Woody" or newer.
The SRPM and RPM are available at:
The Debian binary package is at:
The Debian source package files (which require the source
tarballs below to be retrieved separately) is at:
The corresponding source tar-balls are in three parts at:
If you need to install from the tar-ball sources (though the
binary or source packages are strongly recommended), first
unpack the cris-dist-1.56.tar.gz tar-ball in an empty directory,
then "cd cris-dist-1.56" and unpack the latter two tar-balls in
that directory. Further installation instructions are available
in the file README in the cris-dist-1.56.tar.gz tar-ball.
There are also files ending in *.md5, to use for minimal
integrity-check of the above files, with contents repeated
below. Older releases are moved to the subdirectory "old" with
every new release ("old/debian-dsc" for old Debian build
description files, when the new ones are available).