ACE/TAO on RTEMS
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
> 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.
> > 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