[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

New compiler tools release: cris-dist-1.17



There's a new release of the compiler tools.  For GNU/Linux,
this release is expected to be used together with linux-headers
for linux-2.4.14 (included in cris-dist-linux-headers-1.17.tar.gz),
but there should be no issues using this release together with
older kernels.  It has been tested together with deboard_lx-R2_1_0.
No compatibility issues are expected from cris-dist-1.16 to
cris-dist-1.17; you do not have to re-build anything.

General changes:

- The elinux-headers package is no longer required to build and
  install glibc.  Its sources are removed.

- When building glibc, a missing glibc or linux-headers or
  obsolete version of some program needed for building, is now
  signalled as an error, where previously the glibc build and
  install was just skipped.  To skip building glibc, *neither*
  glibc nor linux-headers must be present.

Glibc:

- Errors processing stdio.texi when building from source with
  texinfo 4.1 or newer are solved.

GCC-related changes:

- Bugfix 1:
  Incorrect code, always calling "fail" regardless of the value
  of the variable e, was generated for:
   extern unsigned long e;
   extern void fail (void);
   void
   ni(void)
   {
     if (~e > ~0UL || e > 0xffffUL)
       fail ();
   }

- Bugfix 2:
  Incorrect code, passing 0 instead of 255, would be generated
  for the following:
   extern void tw (const unsigned char *buf, unsigned int len);
   extern void x (void);
   void x(void)
   {
     const unsigned char s[4] = {255, 250, 44, 101};
     tw(s, 4);
   }

- Bugfix 3:
  The option -dM did not work; macros without parameters were
  not output.

- Bugfix 4:
  Incorrect code was emitted for the following; tail recursion
  was invalidly applied:
   int f(int a,int *y)
   {
     int x = a;
     if (a==0)
       return *y;
     return f(a-1,&x);
   }

- Bugfix 5:
  GCC would emit an internal error instead of just a syntax
  error when an operator was applied to a structure, like in:
   typedef struct { unsigned short s; } t;
   struct u { t v; };
   int foo (struct u *uu)
   {
     int i = ((unsigned int) ((uu->v) & 42));
     return i;
   }

- The option -shared at link-time now also implies -mlinux.  In
  previous versions it was invalid to use -shared
  without -mlinux.  However, old libtool scripts would
  incorrectly strip the -mlinux option when generating shared
  libraries, unnecessary complicating the process of porting
  packages that include shared libraries.

Binutils-related changes:

- FSF binutils based on the snapshot of 2002-02-01 has been
  merged in, with some subsequent bug-fixes added.  This should
  not have any visible effect, though.

- The option --gc-sections is ignored when linking both a.out
  and ELF files together.  This is not a common situation but
  previously led to a linker crash.

- There is now a CRIS-specific section in the GAS info pages.

- Linking files compiled with -mlinux together with files
  compiled without it no longer leads to a linker crash, only
  error.

The compiler tools are available in five forms: 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
(i[3456]86-pc-linux-gnu) running Red Hat Linux release 6.2 to
(at least) 7.2.  The Debian binary package is similarly suitable
for PC:s running releases starting with Potato to (at least)
Woody.

The SRPM and RPM are available at:
<URL:ftp://ftp.axis.se/pub/axis/tools/cris/compiler-kit/cris-dist-1.17-2.src.rpm>
and
<URL:ftp://ftp.axis.se/pub/axis/tools/cris/compiler-kit/cris-dist-1.17-2.i386.rpm>.
(The "-2" is the effect of an initial packaging problem.)

The Debian binary package is at:
<URL:ftp://ftp.axis.se/pub/axis/tools/cris/compiler-kit/cris-dist_1.17-1_i386.deb>.

The Debian source package files (which require the source
tarballs below to be retrieved separately) is at:
<URL:ftp://ftp.axis.se/pub/axis/tools/cris/compiler-kit/debian-dsc/cris-dist_1.16-1.dsc>
and
<URL:ftp://ftp.axis.se/pub/axis/tools/cris/compiler-kit/debian-dsc/cris-dist_1.16-1.tar.gz>.

The corresponding source tar-balls are in three parts at:
<URL:ftp://ftp.axis.se/pub/axis/tools/cris/compiler-kit/cris-dist-1.17.tar.gz>
<URL:ftp://ftp.axis.se/pub/axis/tools/cris/compiler-kit/cris-dist-linux-headers-1.17.tar.gz>
<URL:ftp://ftp.axis.se/pub/axis/tools/cris/compiler-kit/cris-dist-glibc-1.17.tar.gz>

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.17.tar.gz tar-ball, then "cd cris-dist-1.17"
and unpack the latter three tar-balls in that directory.
Further installation instructions are available in the file
README in the cris-dist-1.17.tar.gz tar-ball.

Older releases are moved to the subdirectory "old"
("old/debian-dsc" for old Debian build description files) with
every new release.

brgds, H-P