Changeset eec706e2 in rtems


Ignore:
Timestamp:
Feb 11, 2019, 6:34:14 AM (5 days ago)
Author:
Sebastian Huber <sebastian.huber@…>
Branches:
master
Children:
7fdcd023
Parents:
6c9f017
git-author:
Sebastian Huber <sebastian.huber@…> (02/11/19 06:34:14)
git-committer:
Sebastian Huber <sebastian.huber@…> (02/11/19 10:41:13)
Message:

bsps/powerpc: Fix small data area section

Fix small data area in case no fixed size is desired. Rename
bsp_section_set_sdata_sbss_size into bsp_section_small_data_area_size
since this symbol reflects the overall small data area size (including
space for libdl). Do not use bsp_section_sbss_size before definition in
linker command file. Add new symbols to <bsp/linker-symbols.h>.

Update #3687.

Location:
bsps/powerpc
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • bsps/powerpc/include/bsp/linker-symbols.h

    r6c9f017 reec706e2  
    7878LINKER_SYMBOL(bsp_section_bss_size)
    7979
     80LINKER_SYMBOL(bsp_section_sdata_begin)
     81LINKER_SYMBOL(bsp_section_sdata_end)
     82LINKER_SYMBOL(bsp_section_sdata_size)
     83
    8084LINKER_SYMBOL(bsp_section_sbss_begin)
    8185LINKER_SYMBOL(bsp_section_sbss_end)
    8286LINKER_SYMBOL(bsp_section_sbss_size)
     87
     88LINKER_SYMBOL(bsp_section_sdata_libdl_begin)
     89LINKER_SYMBOL(bsp_section_sdata_libdl_end)
     90LINKER_SYMBOL(bsp_section_sdata_libdl_size)
    8391
    8492LINKER_SYMBOL(bsp_section_rtemsstack_begin)
  • bsps/powerpc/psim/start/linkcmds

    r6c9f017 reec706e2  
    3838PSIM = 0x0c000000;
    3939
    40 /*
    41  * Allocate the maximum size to the small data sdata/sbss section.
    42  */
    43 bsp_section_set_sdata_sbss_size = 65536;
     40/* Allocate the maximum size to the small data area */
     41bsp_section_small_data_area_size = 65536;
    4442
    4543INCLUDE linkcmds.base
  • bsps/powerpc/qoriq/start/linkcmds.qoriq_e500

    r6c9f017 reec706e2  
    3636qoriq = 0xffe00000;
    3737
    38 /*
    39  * Allocate the maximum size to the small data sdata/sbss section.
    40  */
    41 bsp_section_set_sdata_sbss_size = 65536;
     38/* Allocate the maximum size to the small data area */
     39bsp_section_small_data_area_size = 65536;
    4240
    4341INCLUDE linkcmds.base
  • bsps/powerpc/qoriq/start/linkcmds.qoriq_e6500_32

    r6c9f017 reec706e2  
    3939qoriq_qman_portal = 0xff6000000;
    4040
    41 /*
    42  * Allocate the maximum size to the small data sdata/sbss section.
    43  */
    44 bsp_section_set_sdata_sbss_size = 65536;
     41/* Allocate the maximum size to the small data area */
     42bsp_section_small_data_area_size = 65536;
    4543
    4644INCLUDE linkcmds.base
  • bsps/powerpc/shared/start/linkcmds.base

    r6c9f017 reec706e2  
    2323ENTRY (_start)
    2424STARTUP (start.o)
     25
     26/*
     27 * The upper layer linker command file may optionally define the symbol
     28 * bsp_section_small_data_area_size.  By default, the small data area is
     29 * defined by the .sdata and .sbss input sections.  Define
     30 * bsp_section_small_data_area_size, if you want to make space available for
     31 * dynamically loaded libraries (libdl).  Small memory targets which do not use
     32 * libdl, should not define this symbol.
     33 */
    2534
    2635/*
     
    305314        bsp_section_data_load_end = bsp_section_data_load_begin + bsp_section_data_size;
    306315
    307         /*
    308          * Set bsp_section_set_sdata_bss_size to the system's sdata and bss data size, eg:
    309          *
    310          *  bsp_section_set_sdata_sbss_size = 65536;
    311          */
    312         bsp_section_sdata_sbss_size = DEFINED(bsp_section_set_sdata_sbss_size) ?
    313                                                         bsp_section_set_sdata_sbss_size : 0;
    314316        .sbss : ALIGN_WITH_INPUT {
    315317                bsp_section_sbss_begin = .;
     
    319321                bsp_section_sbss_end = .;
    320322                bsp_section_sdata_libdl_begin = .;
    321                 . += bsp_section_sdata_sbss_size - (bsp_section_sdata_size + bsp_section_sbss_size);
     323                . = DEFINED(bsp_section_small_data_area_size) ?
     324                        bsp_section_sdata_begin + bsp_section_small_data_area_size : .;
    322325                bsp_section_sdata_libdl_end = .;
    323326        } > REGION_DATA AT > REGION_DATA
    324327        bsp_section_sbss_size = bsp_section_sbss_end - bsp_section_sbss_begin;
     328        bsp_section_sdata_libdl_size = bsp_section_sdata_libdl_end - bsp_section_sdata_libdl_begin;
    325329
    326330        .bss : ALIGN_WITH_INPUT {
Note: See TracChangeset for help on using the changeset viewer.