[email protected] wrote:
Hi Sergey,

I am trying to build the new mspgcc tools. I compiled the binutils and the 
msp430-gcc with the sources from the repository (new branch).

My problem now is when I try to compile libc I get the following error during 
the compile:

[...]
msp430-gcc -c -I./../include -I. -Wall -O2 -g -mmcu=msp1 -c stdlib/abs.c -o 
msp1/abs.o
seems like you got libc sources from trunk, not from MSP430X branch.
try cvs up -r MSP430X
Do you have an idea, why my new msp430-gcc doesn't accept msp1 as argument for 
mmcu?
it doesn't need anymore. See comments in gcc/congig/msp430/t-msp430

Thanks in advance


-------- Original-Nachricht --------
Datum: Mon, 26 Jan 2009 22:55:48 +0200
Von: "Sergey A. Borshch" <[email protected]>
An: "\'GCC for MSP430 - http://mspgcc.sf.net\'" 
<[email protected]>
Betreff: [Mspgcc-users] 430X support branch in cvs repo

Hi everyone.

  I created branch in mspgcc repository (tag MSP430X_fartext) an submitted
my additions:

  - calla/reta/bra instructions generated for 430X core
  - pushm[.a]/popm[.a] instructions in prologues/epilogues for 430X
  - __attribute__((__far__)) for placing data (const) and functions into
high memory.
  - -mdata-64k option for disabling far data support. Now it disables
attribute((far)) for const data, replaces pushm.a/popm.a to pushm.w/popm.w (and movx.a/mova to mov.w, pushx.a/popx.a to push.w/pop.w in libraries compiled from assembly), in future it should generate all 430 data processing instructions instead of 430X and reduce pointer size from 32 bits to 16 bit. Code will became faster and smaller, less stack usage in price of no far data and no
pointers to far functions.
  - -mcode-64k option for disabling far code support. This option disables
__attribute__((__far__)) for functions and generates call/ret/br instead of calla/reta/br. Faster and smaller code in price of no far functions.
  - .farrodata section added to 430X ld scripts.
  - multilib support:
     * separate libraries for 430/430X cores without hwmul/with HWMUL/with
HWMUL32 (need to write routines for HWMUL32, they are the same as for HWMUL now).
     * separate lib for 430 cores and -msave-prologues option.
     * separate libs for 430 cores with HWMUL/HWMUL32 and -mdisable-hwmul
option
     * separate lib for 430 cores and -msave-prologues and -mdisable-hwmul
option
     * separate libs for 430X cores and all combinations of
-mdisable-hwmul, -mdata-64k, -mcode-64k options
     * separate libs for 430 cores with CPU4 bug (so mcu's without CPU4
bug should use more fast and short library functions without CPU4 workaround).
     * 36 library sets in total :)

one disadvantage: improper option (-msave-prologues with 430X mcu or
-mdata-64k with 430 mcu) leads to linking default library (library for 430 mcu without HWMUL). The only
workarounds I see:
  1) edit specs file - remove unmeaning options from multilib selection
lines. Need to write sed(?) script. Who helps?
  2) or build fake default library and remove it after building. This
leads to unresolved symbols and forces user to check options.

-------
   todo:
    - full far data support (including 32bits pointers and table jumps in
far code) - need to rewrite almost all msp430.md file.
    - full HWMUL32 support - need to add 32*16, 32*32, 32*64, 64*64 to
libgcc.S and calls to msp430.md.

  feedbacks, patches and help are welcome.

--
Regards,
   Sergey A. Borshch            mailto: [email protected]
      SB ELDI ltd. Riga, Latvia



--
Regards,
   Sergey A. Borshch            mailto: [email protected]
     SB ELDI ltd. Riga, Latvia

Reply via email to