Development release 20120618 of mspgcc is now available.

This is a development release.  It is beta-quality.  It provides full
support for 20-bit code and data, with all memory models.  So please be
adventurous, download it or checkout the workspace, and try it.

The sole documentation for 20-bit use is at:

  
https://sourceforge.net/apps/mediawiki/mspgcc/index.php?title=Gcc47:20-Bit_Design

The following key fixes have been made since 20120606:

 * The induction variable optimization module of GCC has been updated to
   correctly handle the situation where sizeof(void*) != sizeof(size_t), and
   large memory model now works.

 * binutils has been updated so that code and data placed in the ".any.*"
   sections is routed to far memory if placing it in near memory would
   result in a region overflow.  Since I don't have any programs that don't
   fit within the memory of the MCUs they support, testing of this has been
   limited.

 * Most other issues with 20120606 have been addressed; see below for the
   exception.

The following known limitations are present:

 * All the 20-bit features were intended to be controlled through type and
   declaration attributes, with default settings controlled by compiler
   flags.  While this is still how it is implemented, gcc is not prepared to
   deal with the sort of mixed pointers that individual control enables.
   See
   
https://sourceforge.net/apps/mediawiki/mspgcc/index.php?title=Gcc47:20-Bit_Design#Warning_about_Mixing_Memory_Models,
   and stick to the pre-defined memory models.

 * DWARF2 data for CPUX MCUs now uses 32 bits for addresses instead of 16
   bits.  This enables building application with -ggdb when 20-bit addresses
   are present.  However, gdb has not been updated to recognize this change,
   and gdb on CPUX MCUs is probably no longer usable.

 * SF 3534574 is still relevant, and you can't put int20_t fields into a
   packed structure or use them as the basis of bitfields.  For 20-bit code,
   this also affects the placement of void* and void (*)() in packed
   structures.  But why would you want to do that, anyway?  This will be
   worked before the LTS release of 20-bit support, but for now I'd rather
   spend effort developing non-trivial test applications under FreeRTOS.

 * All testing has been done on toy programs, almost entirely with -Os.
   Real applications and other optimization flags may produce errors.

The patch bundle for 20120618 is available at:

 https://sourceforge.net/projects/mspgcc/files/mspgcc/DEVEL-4.7.x

The tag workspace/release/20120618 in
git://mspgcc.git.sourceforge.net/gitroot/mspgcc/mspgcc checks out a
workspace configured for this release.  The tag workspace/master checks out
a workspace configured for the development series.

Downstream packagers: If you bundle this, please mark it as experimental.
The stable series remains LTS-20120406.

As usual, please submit problems as tracker tickets at:
https://sourceforge.net/tracker/?group_id=42303&atid=432701

Summary of changes in mspgcc release 20120618 since release 20120606

binutils: changes from binutils-2.22-20120606 to binutils-2.22-20120618:
 - a71c9f9 [2012-06-18 15:35:49 -0500] Update DEV-PHASE for release
 - 1dce643 [2012-06-18 15:10:50 -0500] Assign .any.* sections to
output sections based on available space
 - 43e9c84 [2012-06-07 09:34:59 -0500] Clean up alignment and input sections
 - 49a8b47 [2012-06-07 08:56:46 -0500] SF 3532786: invalid placement
of .near.text

gcc: changes from gcc-4.7.0-20120606 to gcc-4.7.0-20120618:
 - 87dce53 [2012-06-18 15:34:57 -0500] Update DEV-PHASE for release
 - 40811eb [2012-06-17 09:51:32 -0500] SF 3534450 large problems with
large memory model
 - 8058057 [2012-06-18 15:32:47 -0500] Update for release
 - 1e4dc41 [2012-06-18 12:00:08 -0500] Inhibit @progbits on
region-qualified base and named BSS sections
 - 9a2c151 [2012-06-17 12:58:48 -0500] Avoid placement of writable
memory in non-existent far RAM
 - 5da5dd8 [2012-06-16 16:45:46 -0500] SF 3534425 region mismatch with
-f*-sections
 - 5296774 [2012-06-16 16:29:16 -0500] SF 3534323 check that c16 on
function forces near placement

gdb: no changes

msp430-libc: no changes

msp430mcu: no changes

------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and 
threat landscape has changed and how IT managers can respond. Discussions 
will include endpoint security, mobile security and the latest in malware 
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Mspgcc-users mailing list
Mspgcc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mspgcc-users

Reply via email to