Hi SDCC users.
I'm trying to compile my port of TinyOS using SDCC*, but I'm running
into some problems. One problem is the following: one program runs fine
with the default memory mode (small i presume), but fails with the
following error when switching to large:

...
?ASxxxx-Error-<mp> in line 4627 of build/cc2430em/app.asm
              <m> multiple definitions error
              <p> phase error: label location changing between passes 2
and 3
?ASxxxx-Error-<m> in line 4630 of build/cc2430em/app.asm
              <m> multiple definitions error
removing build/cc2430em/app.rel
...

In the example above it turns out to be a char constant that ends up
being multiply defined in the asm output. I've reproduced the problem
int the attached .c file.

* Interested parties can take a look here:
 http://www.tinyos8051wg.net

-- 
Regards Martin Leopold.
Dept. of Computer Science, University of Copenhagen
http://www.diku.dk/~leopold


static char const   *c  =    (char const   *)"Booting";
  
extern int strlen(char * ) ;

int main(void) {
  char *_cil_inline_tmp_218 ;
  int _cil_inline_tmp_219 ;
   
   _cil_inline_tmp_218 = (char *)c;
   _cil_inline_tmp_219 = strlen(_cil_inline_tmp_218);

   return 0;
}
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Sdcc-user mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/sdcc-user

Reply via email to