I should point out that if you want mspgcc to distribute code and/or
data between the near and far regions, you should build with:

  -ffunction-sections -fdata-sections

Otherwise the toolchain will place all the data into a single section,
from which individual elements cannot be extracted and moved between
regions.

Peter

On Mon, Jun 18, 2012 at 4:29 PM, Peter Bigot <big...@acm.org> wrote:
> 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