Development release 20120716 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 page has been updated with this release.

As of this version, there are no known bugs related to 20-bit mode.  All
memory models should work.  All optimizations and features intended for this
development phase have been completed.  Subsequent changes should be for bug
fixes only.  In anticipation of an upcoming LTS release, it is likely that
20120716 will be made the default for mspgcc download sometime in the next
week.

The following key fixes have been made since 20120627:

 * Large memory model compilations now disable GCC's induction variable
   optimization, because that optimization makes assumptions that are not
   satisfied by the memory model.  The impact is likely to be relatively
   small, as all other optimizations remain enabled.

 * The __even_in_range() intrinsic is now recognized by the compiler.  Other
   compatibility definitions have been added also, reducing source
   incompatibility with IAR and CCS software.

 * Extended-mode instructions are avoided in cases where they are not
   necessary to achieve 20-bit support, in particular when manipulating
   peripheral registers in applications with -md20.

 * msp430-libc has been extended with basic POSIX-style time management
   capabilities.

 * A likely resolution to the issue of Fraunchpad boards claiming an
   electronic "fuse blown" problem has been identified and implemented.

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.

 * 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 20120716 is available at:

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

The tag workspace/release/20120716 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 20120716 since release 20120627

binutils: changes from binutils-2.22-20120627 to binutils-2.22-20120716:
 - 9bae3ae [2012-07-16 14:32:05 -0500] Update DEV-PHASE for release
 - 1a0ef3d [2012-07-07 17:52:29 -0500] SF 3541237 truncated address in
disassembled jmp
 - 0876ac8 [2012-07-02 06:28:15 -0500] Back-port upstream patch.

gcc: changes from gcc-4.7.0-20120627 to gcc-4.7.0-20120716:
 - 58c8933 [2012-07-16 14:31:37 -0500] Update DEV-PHASE for release
 - fb2facd [2012-07-16 14:30:41 -0500] Update for release
 - b1dc3cd [2012-07-15 06:25:05 -0500] SF 3544338 large memory model
induction variable optimization broken
 - 0594213 [2012-07-12 14:32:16 -0500] SF 3540953 fram applications
overwrite bsl/jtag passwords
 - 9584b95 [2012-07-09 15:19:38 -0500] Stub __even_in_range intrinsic
 - dec1bc2 [2012-07-09 14:36:43 -0500] Pre-check expectations of MEM_VOLATILE_P
 - a7873c4 [2012-07-07 12:39:02 -0500] SF 3541056 inefficient access
through 20-bit pointers
 - 3de8c1b [2012-07-07 11:59:25 -0500] Fix region selected for function rodata
 - 9e935a26 [2012-07-06 14:10:02 -0500] SF 3539829 long argument
performance degraded compared to mspgcc4
 - dfb6de7 [2012-07-06 10:30:53 -0500] SF 3539033 AND optimization to
BIC not optimal
 - 85e86a1 [2012-07-04 13:58:03 -0500] SF 3540458 optimize peripheral
address size
 - 5b1196c [2012-07-04 12:12:56 -0500] Detect conflicting type attributes
 - e5dce1b [2012-07-04 12:01:26 -0500] Refactor replacement of type
node when attribute added

gdb: no changes

msp430-libc: changes from msp430libc-20120627 to msp430libc-20120716:
 - 292e920 [2012-07-16 14:32:41 -0500] Regenerate
 - d50f4ff [2012-07-16 14:32:41 -0500] Update version number and release notes
 - 9a44e06 [2012-07-15 07:44:20 -0500] Regenerate
 - eac45cd [2012-07-15 07:44:14 -0500] Separate asctime and
?ettimeofday from time
 - c4b05a8 [2012-07-09 14:50:51 -0500] Regenerate
 - 6e9e818 [2012-07-09 13:15:39 -0500] SF 3383730 STDLIB time.h
 - 3c72745 [2012-07-09 13:26:40 -0500] Implement gettimeofday/settimeofday
 - a120a6b [2012-07-09 12:43:32 -0500] Implement asctime using strftime
 - 0964c55 [2012-07-09 12:43:12 -0500] Update to suit msp430-libc needs
 - ae749b2 [2012-07-09 11:39:06 -0500] Rip out material inappropriate
for msp430-libc
 - 03024b2 [2012-07-09 11:01:17 -0500] Implement time(3p)
 - 6803eca [2012-07-09 09:40:53 -0500] Refactor sys/time.h header to
meet msp430-libc needs
 - cfda704 [2012-07-09 08:52:57 -0500] Refactor time.h header to meet
msp430-libc needs
 - 6620e2b [2012-07-09 12:53:21 -0500] Import time-related functions from BSD
 - d54472c [2012-07-09 07:44:53 -0500] Correct definition of NULL
 - d30f3c6 [2012-07-06 19:49:41 -0500] Remove unreferenced/outdated include file
 - f4fa0ee [2012-07-03 10:11:00 -0500] SF 3539758 xtoa wastes space
 - 75e0304 [2012-07-03 05:29:44 -0500] Regenerate
 - e74645d [2012-07-03 05:29:34 -0500] Independently control 20-bit
and 32-bit printf support

msp430mcu: changes from msp430mcu-20120627 to msp430mcu-20120716:
 - 5e7c08c [2012-07-16 14:33:26 -0500] Regenerate
 - c2cc549 [2012-07-16 14:33:17 -0500] Update version number and release notes
 - 8de3eb5 [2012-07-15 07:23:55 -0500] Regenerate
 - 6d53d4c [2012-07-15 07:23:25 -0500] Simplify support for optimized
pointers to peripheral registers
 - 78925f9 [2012-07-10 04:55:40 -0500] Regenerate
 - 6273ec8 [2012-07-09 15:28:43 -0500] SF 3211744 provide
msp430generic and msp430xgeneric
 - ffe34f9 [2012-07-09 15:04:41 -0500] Add aliases for CCS intrinsics
 - e418f28 [2012-07-05 16:04:52 -0500] Regenerate
 - 1f77abb [2012-07-04 13:59:12 -0500] Add d16 attribute to peripheral
register declaration types

------------------------------------------------------------------------------
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