[PATCH] RTEMS: Use function and data sections

Sebastian Huber sebastian.huber at embedded-brains.de
Fri Oct 12 05:07:54 UTC 2018

On 11/10/2018 18:43, Joel Sherrill wrote:
> On Thu, Oct 11, 2018 at 11:09 AM Gedare Bloom <gedare at rtems.org 
> <mailto:gedare at rtems.org>> wrote:
>     hi Sebastian,
>     generally I'm ok, but what toolchains did you test this change for?
>     does this work for BSPs that have not yet been modified themselves to
>     use function/data sections and to have the KEEP() directives?
> You can check the list of BSPs  which do not have KEEP() directives here:
> https://devel.rtems.org/query?status=!closed&keywords=~KEEP
> Without LDFLAGS to use per-function/data item linking, the use of 
> extra sections
> does not matter.  We are using ELF on all targets now and there should 
> be BSPs
> on every architecture which use this.

Yes, the trouble make is the linker --gc-sections option and not the 
compiler generating more sections.

The draw back with -ffunction-sections -fdata-sections is that some 
compiler optimizations are no longer possible (shouldn't be an issue in 

> Another question is do you have information on the size impact for the 
> tests
> before and after? I would expect some decline but not a great deal.

I didn't measure it. I added this since opendir() and fdopendir() are in 
one file (just like in FreeBSD) and the extra sections should be a big 
issue in Newlib which is already quite fine grained in terms of global 
functions per compilation unit.

The libstdc++ uses the  -ffunction-sections -fdata-sections already.

Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber at embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.

More information about the devel mailing list