ACE/TAO on RTEMS

Sergei Organov osv at javad.ru
Fri Mar 16 18:05:32 UTC 2001


Joel Sherrill <joel.sherrill at OARcorp.com> writes:
> Sergei Organov wrote:
> > 
> > Joel,
> > 
> > Are gcc flag '-ffunction-sections' and ld flag '--gc-sections' available for
> 
> > your target? Do you use them?
> 
> I am test building on sparc-rtems (elf) which should support those
> options.
> Clearly that would be a nice thing to do.  Does that work with the 
> regular RTEMS Makefile's or do we have to do something special
> to account for the plethora of sections?

Usually problems arise not in Makefiles, but in linker command files. The
simplest thing to do to fix it is to replace all occurrences of "*(.text)"
with "*(.text*)" to match section names that gcc will generate for functions.
Generated section name for function 'foo' usually looks like '.text.foo'.

You can also try to use -fdata-sections gcc flag, but it seem to interfere
badly with '-meabi' option on PowerPC, so I didn't use it.

Also, I'd try to use -fno-inline-functions to prevent gcc from inlining
routines that aren't explicitly declared inline in C++ code.

BR,
Sergei Organov.

> 
> > BR,
> > Sergei Organov.
> > 
> > Joel Sherrill <joel.sherrill at oarcorp.com> writes:
> > > Hi,
> > >
> > > I am havnig some initial success building ACE/TAO.  I have
> > > managed to build ACE and link all the tests without error.
> > > I am now compiling TAO.  It appears that the ACE test executables
> > > are quite large.  Any thoughts:
> > >
> > > bash$ sparc-rtems-size *Test
> > >    text          data     bss     dec     hex filename
> > > 2156192        139232   43796 2339220  23b194 ARGV_Test
> > > 2156448        139104   43796 2339348  23b214 Aio_Platform_Test
> > > 2158960        139888   43796 2342644  23bef4 Atomic_Op_Test
> > > 2164400        140016   43796 2348212  23d4b4 Auto_IncDec_Test
> > > 2156928        139104   43796 2339828  23b3f4 Barrier_Test
> > > 2155728        139136   43796 2338660  23af64 Basic_Types_Test
> > > 2167744        140592   43796 2352132  23e404 Buffer_Stream_Test
> > > 2247104        142688   43796 2433588  252234 CDR_File_Test
> > > 2207968        141376   43796 2393140  248434 CDR_Test
> > > 2263824        144928   43796 2452548  256c44 Cache_Map_Manager_Test
> > > 2378256        157392   43796 2579444  275bf4 Cached_Accept_Conn_Test
> > > 2359312        154544   43796 2557652  2706d4 Cached_Conn_Test
> > > 2204864        141872   43796 2390532  247a04 Capabilities_Test
> > > ....
> > >
> > > I am looking at real .text, not executable file size so that
> > > mistake is out.
> > >
> > > This is a lot of C++ code so there might be some bad combination
> > > of options that is contributing to things.  The compile options
> > > are "-fno-implicit-templates -fno-rtti -DACE_LACKS_RTTI ".  Could
> > > I do better?
> > >
> > > I know ACE/TAO can be subsetted but am not looking at that since
> > > I am focuing on building everything. :)
> > >
> > > --
> > > Joel Sherrill, Ph.D.             Director of Research & Development
> > > joel at OARcorp.com                 On-Line Applications Research
> > > Ask me about RTEMS: a free RTOS  Huntsville AL 35805
> > >    Support Available             (256) 722-9985
> 
> -- 
> Joel Sherrill, Ph.D.             Director of Research & Development
> joel at OARcorp.com                 On-Line Applications Research
> Ask me about RTEMS: a free RTOS  Huntsville AL 35805
>    Support Available             (256) 722-9985




More information about the users mailing list