Quantcast

Unofficial Red Hat Port

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
22 messages Options
12
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Unofficial Red Hat Port

Adam Ford
 The unofficial patches are available for download, and by taking the
Newlib and GCC from version control, you can build the GCC compiler.

Check out
https://sourceforge.net/apps/mediawiki/mspgcc/index.php?title=Install:redhat

Special thanks for DJ for helping me.


The Red Hat version does not have TI Header files or Linker scripts, so
you'll have to adapt something.  I will try to modify Peter's work on the
headers and linker scripts to work with the Red Hat implementation and post
an example when I have some time.

adam

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Unofficial Red Hat Port

Mitnacht, Thomas
TI will provide header and linker files for all MSP430 derivatives my m/o August.

Thanks,
Thomas Mitnacht

-----Original Message-----
From: Adam Ford [mailto:[hidden email]]
Sent: Monday, July 29, 2013 9:54 AM
To: [hidden email]
Subject: [Mspgcc-users] Unofficial Red Hat Port

 The unofficial patches are available for download, and by taking the Newlib and GCC from version control, you can build the GCC compiler.

Check out
https://sourceforge.net/apps/mediawiki/mspgcc/index.php?title=Install:redhat

Special thanks for DJ for helping me.


The Red Hat version does not have TI Header files or Linker scripts, so you'll have to adapt something.  I will try to modify Peter's work on the headers and linker scripts to work with the Red Hat implementation and post an example when I have some time.


adam

------------------------------------------------------------------------------
Get your SQL database under version control now!
Version control is standard for application code, but databases havent
caught up. So what steps can you take to put your SQL databases under
version control? Why should you start doing it? Read more to find out.
http://pubads.g.doubleclick.net/gampad/clk?id=49501711&iu=/4140/ostg.clktrk
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Unofficial Red Hat Port

DJ Delorie
In reply to this post by Adam Ford

Just FYI, the port is now "official" as it's been approved and checked
in to the FSF repository!

http://gcc.gnu.org/ml/gcc/2013-09/msg00107.html

I have some follow-up patches that will get commited "shortly" too,
though.

------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Unofficial Red Hat Port

Thomas Taranowski
This is great news!  Is c++ an officially supported aspect of the port?

Thomas Taranowski | 425-442-9209 | skype: thomas.taranowski |
baringforge.com



On Thu, Sep 12, 2013 at 11:48 AM, DJ Delorie <[hidden email]> wrote:

>
> Just FYI, the port is now "official" as it's been approved and checked
> in to the FSF repository!
>
> http://gcc.gnu.org/ml/gcc/2013-09/msg00107.html
>
> I have some follow-up patches that will get commited "shortly" too,
> though.
>
>
> ------------------------------------------------------------------------------
> How ServiceNow helps IT people transform IT departments:
> 1. Consolidate legacy IT systems to a single system of record for IT
> 2. Standardize and globalize service processes across IT
> 3. Implement zero-touch automation to replace manual, redundant tasks
> http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
> _______________________________________________
> Mspgcc-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/mspgcc-users
>

------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Unofficial Red Hat Port

DJ Delorie

> Is c++ an officially supported aspect of the port?

I'm going to conditionally say "yes" because, while I build and test
C++, I know there are some language features of C I took advantage of
to get far (20-bit) addressing, that C++ simply doesn't support.  So
I'm not sure how well C++ will work "in real programs" in all cases.

Also, there's some overhead in setting up the C++ objects that might
be an issue on the smallest MSP430 devices.  You can work around it on
a per-project basis, but it's something to keep in mind when choosing
a language.

I also expect there will be plenty of "in real programs" features you
folks will be asking for that I'll need to add - FSF ports are not
fixed in stone :-)

If you ask me for FORTAN support, though, I'm more likely to say "no" :-)
(or at least "you're on your own")

------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Unofficial Red Hat Port

Eric Decker
Okay I'll ask...   Is there FORTRAN support?


Now on to my real question...

how much real world testing has been done?   Has the output been put onto
real msp430 chips?

Or are you testing against the test suites?

just wondering how much it has been banged on.


Is it Alpha/Beta status?


I handle building and supporting to some level the compilers being used for
msp430 development for TinyOS.



On Thu, Sep 12, 2013 at 12:27 PM, DJ Delorie <[hidden email]> wrote:

>
> > Is c++ an officially supported aspect of the port?
>
> I'm going to conditionally say "yes" because, while I build and test
> C++, I know there are some language features of C I took advantage of
> to get far (20-bit) addressing, that C++ simply doesn't support.  So
> I'm not sure how well C++ will work "in real programs" in all cases.
>
> Also, there's some overhead in setting up the C++ objects that might
> be an issue on the smallest MSP430 devices.  You can work around it on
> a per-project basis, but it's something to keep in mind when choosing
> a language.
>
> I also expect there will be plenty of "in real programs" features you
> folks will be asking for that I'll need to add - FSF ports are not
> fixed in stone :-)
>
> If you ask me for FORTAN support, though, I'm more likely to say "no" :-)
> (or at least "you're on your own")
>
>
> ------------------------------------------------------------------------------
> How ServiceNow helps IT people transform IT departments:
> 1. Consolidate legacy IT systems to a single system of record for IT
> 2. Standardize and globalize service processes across IT
> 3. Implement zero-touch automation to replace manual, redundant tasks
> http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
> _______________________________________________
> Mspgcc-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/mspgcc-users
>


--
Eric B. Decker
Senior (over 50 :-) Researcher

------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Unofficial Red Hat Port

DJ Delorie

> Okay I'll ask...   Is there FORTRAN support?

No!  :-)

(but it might work anyway, I haven't tested)

> Now on to my real question...
>
> how much real world testing has been done?  Has the output been put
> onto real msp430 chips?

I'm testing against our simulator (it's in the gdb repo).  I've built
a few test apps, mostly blinky lights, for hardware testing, but most
of the hardware testing has been to make sure the simulator is
accurate.

> Or are you testing against the test suites?

I'm using gcc's testsuite, which is tens of thousands of tests per
multilib, with three multilibs (430, 430x, 430x/large).

> I handle building and supporting to some level the compilers being
> used for msp430 development for TinyOS.

If you've been using mspgcc for this, you probably should continue
using it for now, just because it's much more mature and feature-rich.

However, if you want to start testing fsf-gcc with TinyOS, I really
want to hear about anything that doesn't work ;-)

------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Unofficial Red Hat Port

David Brown-4
In reply to this post by DJ Delorie
On 12/09/13 21:27, DJ Delorie wrote:>

>> Is c++ an officially supported aspect of the port?
>
> I'm going to conditionally say "yes" because, while I build and test
> C++, I know there are some language features of C I took advantage of
> to get far (20-bit) addressing, that C++ simply doesn't support.  So
> I'm not sure how well C++ will work "in real programs" in all cases.
>
> Also, there's some overhead in setting up the C++ objects that might
> be an issue on the smallest MSP430 devices.  You can work around it on
> a per-project basis, but it's something to keep in mind when choosing
> a language.
>

For small targets like this, it is common to compile C++ with "-fno-rtti
-fno-exceptions", as these features can have a lot of overhead and need
library support, and are seldom useful on such targets.  For the AVR
port of gcc, C++ works with these flags.  So if you are able to say "C++
works with exceptions and rtti disabled" then that would be fantastic -
the final parts may be nice to get completed, but I don't think they are
a priority to users.

(That's my 2 øre, anyway.)

David


> I also expect there will be plenty of "in real programs" features you
> folks will be asking for that I'll need to add - FSF ports are not
> fixed in stone :-)
>
> If you ask me for FORTAN support, though, I'm more likely to say "no" :-)
> (or at least "you're on your own")
>

------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Unofficial Red Hat Port

David Brown-4
In reply to this post by DJ Delorie
On 12/09/13 20:48, DJ Delorie wrote:
>
> Just FYI, the port is now "official" as it's been approved and checked
> in to the FSF repository!
>
> http://gcc.gnu.org/ml/gcc/2013-09/msg00107.html
>
> I have some follow-up patches that will get commited "shortly" too,
> though.

Great news!

Do you know of any timeplans for when it will be possible to get
"official" toolchain snapshot packages with gcc, binutils and a library
as prebuilt packages and source bundles?  As a developer, I can play
around with a self-built gcc, but for professional work it is critical
to be able to say "I am using TI's msp430 gcc toolchain version
2013-09-12" and know that the library and the code generators are
identical (including bug-for-bug) whether I use that release on Windows
or Linux, and whether I get it now or in ten years time.

I don't mind whether it is Red Hat or TI that handle such packaging and
releases, but that's what we need.  Getting the port working and into
the FSF tree is the biggest step in this journey, but it would be nice
to know the timeframe forward.


In the meantime, I will try out your new port if I can get the time.

Thanks,

David


------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Unofficial Red Hat Port

scalpel4k
In reply to this post by David Brown-4

On Friday 13 Sep 2013 09:01:27 David Brown wrote:

> On 12/09/13 21:27, DJ Delorie wrote:>
> >> Is c++ an officially supported aspect of the port?
> >
> > I'm going to conditionally say "yes" because, while I build and test
> > C++, I know there are some language features of C I took advantage of
> > to get far (20-bit) addressing, that C++ simply doesn't support.  So
> > I'm not sure how well C++ will work "in real programs" in all cases.
> >
> > Also, there's some overhead in setting up the C++ objects that might
> > be an issue on the smallest MSP430 devices.  You can work around it on
> > a per-project basis, but it's something to keep in mind when choosing
> > a language.
> >
>
> For small targets like this, it is common to compile C++ with "-fno-rtti
> -fno-exceptions", as these features can have a lot of overhead and need
> library support, and are seldom useful on such targets.  For the AVR
> port of gcc, C++ works with these flags.  So if you are able to say "C++
> works with exceptions and rtti disabled" then that would be fantastic -
> the final parts may be nice to get completed, but I don't think they are
> a priority to users.
especially static polymorphism or meta-programming in modern C++ is such a great achievement and it is just sooooo useful for microcontroller development .... I'm raising two hands for proper C++11 support!

Michi

>
> (That's my 2 øre, anyway.)
>
> David
>
>
> > I also expect there will be plenty of "in real programs" features you
> > folks will be asking for that I'll need to add - FSF ports are not
> > fixed in stone :-)
> >
> > If you ask me for FORTAN support, though, I'm more likely to say "no" :-)
> > (or at least "you're on your own")
> >
>
> ------------------------------------------------------------------------------
> How ServiceNow helps IT people transform IT departments:
> 1. Consolidate legacy IT systems to a single system of record for IT
> 2. Standardize and globalize service processes across IT
> 3. Implement zero-touch automation to replace manual, redundant tasks
> http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
> _______________________________________________
> Mspgcc-users mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/mspgcc-users

------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Unofficial Red Hat Port

Steven Whitehouse
In reply to this post by David Brown-4
Hi,

On Fri, 2013-09-13 at 09:12 +0200, David Brown wrote:

> On 12/09/13 20:48, DJ Delorie wrote:
> >
> > Just FYI, the port is now "official" as it's been approved and checked
> > in to the FSF repository!
> >
> > http://gcc.gnu.org/ml/gcc/2013-09/msg00107.html
> >
> > I have some follow-up patches that will get commited "shortly" too,
> > though.
>
> Great news!
>
> Do you know of any timeplans for when it will be possible to get
> "official" toolchain snapshot packages with gcc, binutils and a library
> as prebuilt packages and source bundles?  As a developer, I can play
> around with a self-built gcc, but for professional work it is critical
> to be able to say "I am using TI's msp430 gcc toolchain version
> 2013-09-12" and know that the library and the code generators are
> identical (including bug-for-bug) whether I use that release on Windows
> or Linux, and whether I get it now or in ten years time.
>
> I don't mind whether it is Red Hat or TI that handle such packaging and
> releases, but that's what we need.  Getting the port working and into
> the FSF tree is the biggest step in this journey, but it would be nice
> to know the timeframe forward.
>
>
> In the meantime, I will try out your new port if I can get the time.
>
> Thanks,
>
> David
>
I'm copying in Robert who is the maintainer of the packages in Fedora.
I've been wondering when would be the best time to flip the Fedora
packages across to the new versions as currently they are still on the
older mspgcc port.

If we've got to that point then I may be able to assist in making that
happen, but there were some concerns that those using the old packages
may not be ready to move to the new ones right away - so it would be
nice to hear some thoughts on that. Should we do it now, or wait a
little while?

The gcc package obviously depends on the binutils package, so another
issue was not wanting to upgrade the binutils package until a new gcc
was ready since its very likely that the old gcc wouldn't work with the
new binutils,

Steve.



------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Unofficial Red Hat Port

Brendan Conoboy-2
On 09/13/2013 11:37 AM, Steven Whitehouse wrote:
> If we've got to that point then I may be able to assist in making that
> happen, but there were some concerns that those using the old packages
> may not be ready to move to the new ones right away - so it would be
> nice to hear some thoughts on that. Should we do it now, or wait a
> little while?

Wait a little while.  The base port is checked in, but a number of
optimizations are still pending.

> The gcc package obviously depends on the binutils package, so another
> issue was not wanting to upgrade the binutils package until a new gcc
> was ready since its very likely that the old gcc wouldn't work with the
> new binutils,

Binutils is completely upstream at this point.  If it does something
wrong we'd like to hear about it!

--
Brendan Conoboy / Red Hat, Inc. / [hidden email]

------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Unofficial Red Hat Port

Steven Whitehouse
Hi,

On Fri, 2013-09-13 at 12:27 -0700, Brendan Conoboy wrote:

> On 09/13/2013 11:37 AM, Steven Whitehouse wrote:
> > If we've got to that point then I may be able to assist in making that
> > happen, but there were some concerns that those using the old packages
> > may not be ready to move to the new ones right away - so it would be
> > nice to hear some thoughts on that. Should we do it now, or wait a
> > little while?
>
> Wait a little while.  The base port is checked in, but a number of
> optimizations are still pending.
>
Ok, sounds like a good plan. I'm not in any hurry - just want to be sure
that we do it at the right time.

> > The gcc package obviously depends on the binutils package, so another
> > issue was not wanting to upgrade the binutils package until a new gcc
> > was ready since its very likely that the old gcc wouldn't work with the
> > new binutils,
>
> Binutils is completely upstream at this point.  If it does something
> wrong we'd like to hear about it!
>

I'm sure its ok in itself - the only issue is whether a version of gcc
thats as old as the hills and heavily patched would still build over it.
So lets wait until the gcc part is ready too, and we can then upgrade
both at approximately the same time. It doesn't sound like this is too
far away now,

Steve.



------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Unofficial Red Hat Port

DJ Delorie
In reply to this post by David Brown-4

> For small targets like this, it is common to compile C++ with "-fno-rtti

True, but even the "static objects must be initialized" code adds some
runtime space/time cost.  It's not much, but the smallest MSP430's
don't have much rom/ram to spare.

------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Unofficial Red Hat Port

Carl Michal

This may be a little off this particular topic, but I was wondering if,
along with the new toolchain support, there might be some work done to
improve the experience of the MSP430 Launchpad in linux?

The CDC-ACM driver has some unpleasant issues with the Launchpad (see, eg:
http://log.or.cz/?p=265 ). I know there are patches floating around that
deal with these issues, but it would obviously be good to get this fixed
in the mainline kernel.

Carl




------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Unofficial Red Hat Port

Brendan Conoboy-2
In reply to this post by David Brown-4
On 09/13/2013 12:12 AM, David Brown wrote:

> Do you know of any timeplans for when it will be possible to get
> "official" toolchain snapshot packages with gcc, binutils and a library
> as prebuilt packages and source bundles?  As a developer, I can play
> around with a self-built gcc, but for professional work it is critical
> to be able to say "I am using TI's msp430 gcc toolchain version
> 2013-09-12" and know that the library and the code generators are
> identical (including bug-for-bug) whether I use that release on Windows
> or Linux, and whether I get it now or in ten years time.
>
> I don't mind whether it is Red Hat or TI that handle such packaging and
> releases, but that's what we need.  Getting the port working and into
> the FSF tree is the biggest step in this journey, but it would be nice
> to know the timeframe forward.

This particular detail is a work in progress.  I would hazard a guess
that TI will be able to comment in the not too distant future.

--
Brendan Conoboy / Red Hat, Inc. / [hidden email]

------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. Consolidate legacy IT systems to a single system of record for IT
2. Standardize and globalize service processes across IT
3. Implement zero-touch automation to replace manual, redundant tasks
http://pubads.g.doubleclick.net/gampad/clk?id=51271111&iu=/4140/ostg.clktrk
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Unofficial Red Hat Port

David Brown-4
In reply to this post by DJ Delorie
On 14/09/13 01:25, DJ Delorie wrote:
>
>> For small targets like this, it is common to compile C++ with "-fno-rtti
>
> True, but even the "static objects must be initialized" code adds some
> runtime space/time cost.  It's not much, but the smallest MSP430's
> don't have much rom/ram to spare.
>

Correct me if I'm wrong here, but this only applies when the
initialisation involves a constructor function rather than just
assignment of a fixed value.  In C, initialisers must always be a
compile-time constant, and the static objects are handled just like any
global objects (but with non-global names) - they go in the "initialised
data" section, and are set up before main() starts by a straight copy of
the flash data into the ram data.

C++ allows initialisers that are not constant - they can be function
calls, or object constructors.  For global and file-scope objects, these
are all run before main() is called.  These might add extra code space
because the constructor calls can't be fully inlined here, but it should
not be much.

For function-local statics, there is an overhead - as far as I
understand it, the compiler does the equivalent of this translation:

void foo(void) {
        static type local = constructor();
        rest_of_foo();
}

implemented very roughly as:

void foo(void) {
        static type local;
        static bool local_is_initialised = false;

        if (!local_is_initialised) {
                local = constructor();
                local_is_initialised = true;
        }
        rest_of_foo();
}


If I am correct here, then yes, this means extra code, extra ram, and
extra run-time to handle such static initialised objects.


However, I don't really see that as a problem.  This is an extra feature
that C++ gives you, which you do not have to use - it is therefore fine
that there is a cost associated with using the feature.  It is not like
exceptions, that can sometimes have a cost even if you don't use them -
that's why the "-fno-exceptions" flag is nice.


I wonder if it would be legal for the compiler to translate the above
"foo" into:

static type foo_local = constructor();
void foo(void) {
        #define local foo_local
        rest_of_foo();
}

That way, the static construction of "local" would be done before main()
using the table of global constructors (coming after the real global
constructors, of course), and therefore minimal overhead.  The
disadvantage is that such static objects would be constructed whether
they are needed or not - but on embedded systems, you usually aim to
avoid having functions that are never called, so all static objects
would need to be constructed sooner or later.


mvh.,

David


------------------------------------------------------------------------------
LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99!
1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint
2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes
Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/22/13.
http://pubads.g.doubleclick.net/gampad/clk?id=64545871&iu=/4140/ostg.clktrk
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Unofficial Red Hat Port

David Brown-40
In reply to this post by Brendan Conoboy-2
On 14/09/13 02:45, Brendan Conoboy wrote:

> On 09/13/2013 12:12 AM, David Brown wrote:
>> Do you know of any timeplans for when it will be possible to get
>> "official" toolchain snapshot packages with gcc, binutils and a library
>> as prebuilt packages and source bundles?  As a developer, I can play
>> around with a self-built gcc, but for professional work it is critical
>> to be able to say "I am using TI's msp430 gcc toolchain version
>> 2013-09-12" and know that the library and the code generators are
>> identical (including bug-for-bug) whether I use that release on Windows
>> or Linux, and whether I get it now or in ten years time.
>>
>> I don't mind whether it is Red Hat or TI that handle such packaging and
>> releases, but that's what we need.  Getting the port working and into
>> the FSF tree is the biggest step in this journey, but it would be nice
>> to know the timeframe forward.
>
> This particular detail is a work in progress.  I would hazard a guess
> that TI will be able to comment in the not too distant future.
>

That's fine.  I just wanted to be entirely sure that it is coming - I've
seen enough vendors get this wrong in the past.  I have no doubts that
Red Hat understands the importance of proper packaging, versioning, and
the importance for users that they can get exactly the version they
need, for whatever platform they need, whenever they need it - and that
they can install and use multiple versions at the same time.

But TI has not yet proved itself in this area (of course, I have no
reason to think they will get it wrong - I just don't know yet), and I
have seen Atmel get it wrong with the avr port of gcc.  I have told
Atmel about this, but they just do not seem to understand the issue - so
I hope that TI can learn here and do things even better.  (I don't want
to "talk down" Atmel here - they do a good job of supporting the avr gcc
port, and the avr gcc developers and maintainers are fantastic - but a
few small steps would make things very much better.)

The problem Atmel has is they believe "the latest toolchain is always
the best".  Thus the latest version of their IDE always installs the
latest compiler toolchain over old toolchains.  Even the "toolchain
only" installers insist on "upgrading" the existing versions and
overwriting the users PATH - there isn't even any options to avoid this.
  (This applies mainly to the Windows installers, of course - their
Linux toolchain packaging is better.)

In embedded development, toolchain versions can be critical - so the
common rule is that if a project is started with a particular toolchain
version, it stays with that version.  Changing versions is a major
change to the project, and will require new rounds of qualifications and
testing as well as perhaps changes to Makefiles, linker setup, etc.  So
my development machines typically have many versions of the same
toolchain for the same target - you never know when you need to make a
small change to an old project from years ago.

So my ideal is that whenever you (TI and/or Red Hat) release a new
version of the toolchain, you provide a bundle of gcc, binutils and
libraries of a particular version.  The package should be available for
Windows (as a zip file of the directory, and as a "setup.exe" installer
for the point-and-click crowd - not everyone is as fussy as me), as a
pre-build binary tarball for Linux (32-bit x86 version would be enough
for most cases), and as a source tarball (for archiving and for other
systems).  Some people might like a Mac version too.  And all these
packages should be put in an archive that is available for ever after.


I am a professional developer - if such a service costs money, then
that's okay.  The most convenient method is that my company buys chips
from TI and TI uses some of that profit to pay for the development tools
(and Red Hat's services, of course!) - i.e., the tools are "free" to the
end user.  And of course payment for service and support is fine too - I
am sure Red Hat and TI will figure something out here.


If my description here sounds patronising, or "preaching to the
converted", then I am very happy.

David


------------------------------------------------------------------------------
LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99!
1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint
2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes
Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/22/13.
http://pubads.g.doubleclick.net/gampad/clk?id=64545871&iu=/4140/ostg.clktrk
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Unofficial Red Hat Port

DJ Delorie
In reply to this post by David Brown-4

> Correct me if I'm wrong here, but this only applies when the
> initialisation involves a constructor function rather than just
> assignment of a fixed value.

Correct.

> are all run before main() is called.  These might add extra code space
> because the constructor calls can't be fully inlined here, but it should
> not be much.

There is some startup code to go through the list of such functions,
and call them all, too.  It's not much, but if every byte counts...

------------------------------------------------------------------------------
LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99!
1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint
2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes
Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/22/13.
http://pubads.g.doubleclick.net/gampad/clk?id=64545871&iu=/4140/ostg.clktrk
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Unofficial Red Hat Port

Thomas Taranowski
What's the current word on the msp430 variant header files and
corresponding linker scripts?  Is there a plan to release those soon?  If
not, has anyone testing been done of the compiler against Peter's linker
scripts and header files?

Thomas Taranowski | 425-442-9209 | skype: thomas.taranowski |
baringforge.com



On Sat, Sep 14, 2013 at 5:42 PM, DJ Delorie <[hidden email]> wrote:

>
> > Correct me if I'm wrong here, but this only applies when the
> > initialisation involves a constructor function rather than just
> > assignment of a fixed value.
>
> Correct.
>
> > are all run before main() is called.  These might add extra code space
> > because the constructor calls can't be fully inlined here, but it should
> > not be much.
>
> There is some startup code to go through the list of such functions,
> and call them all, too.  It's not much, but if every byte counts...
>

------------------------------------------------------------------------------
LIMITED TIME SALE - Full Year of Microsoft Training For Just $49.99!
1,500+ hours of tutorials including VisualStudio 2012, Windows 8, SharePoint
2013, SQL 2012, MVC 4, more. BEST VALUE: New Multi-Library Power Pack includes
Mobile, Cloud, Java, and UX Design. Lowest price ever! Ends 9/20/13.
http://pubads.g.doubleclick.net/gampad/clk?id=58041151&iu=/4140/ostg.clktrk
_______________________________________________
Mspgcc-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/mspgcc-users
12
Loading...