Changes between Version 8 and Version 9 of GCI/Coding/AddPerSectionSupportToBSPs

Sep 12, 2018, 7:51:44 PM (9 months ago)
Gedare Bloom



  • GCI/Coding/AddPerSectionSupportToBSPs

    v8 v9  
    33[[TOC(GCI/Coding/AddPerSectionSupportToBSPs, depth=2)]]
    5 You '''must''' have completed "Getting Started: Hello World" before attempting this task.
    75When a program is compiled and linked, the linker attempts to resolve all references to functions and data elements required by the program. By default, the GNU linker will place an entire object file into an application executable even if only one symbol is required by the application. This can lead to unused code in an executable. This is undesirable from both an application image size and code review perspective.
    119Although large parts of RTEMS are carefully implemented to have only one method per file, experiments with turning on this capability have shown reductions in RTEMS test programs and user applications of up to 50% in overall size.
     11== Directions for Students ==
     13**Pre-Requisite**: You '''must''' have completed "Getting Started: Hello World" or the equivalent of [wiki:GSoC/GettingStarted Getting Started for GSoC Students] before attempting this task.
    1315This task consists of turning on this capability for a specific BSP family. A BSP family is the collection of BSPs under a single directory such as c/src/lib/libbsp/CPU/BSP_FAMILY. The make/custom directory has a BSP.cfg file for each BSP which may be built. If the BSP Family supports multiple BSP variants, the BSP.cfg files may include either a shared ".inc" file or a base ".cfg" file with common settings.
    2931macro to such sections. See for example c/src/lib/libbsp/sparc/shared/startup/linkcmds.base which has already been tailored. Each BSP will have a linkcmds file which may or may not include a shared base file.
    31 == Task Requirements ==
     33=== Task Requirements ===
    3335In the description of this task, you were given a BSP Family to enable this capability for. The BSP Family will be named CPU/BSP_FAMILY which indicates its location in the source tree and implies a set of BSP variants as described above.
    132134If the BSP Family has multiple variants, the commit message will need to include the before and after information for each BSP variant in the family.
     136== Directions for Mentors ==
     137Check the commit, if it looks good and you have rights, push it. If not, ask on devel for a maintainer to push it.