Changeset ec1dd51a in rtems for bsps/powerpc/ss555


Ignore:
Timestamp:
Mar 6, 2019, 10:15:56 AM (15 months ago)
Author:
Chris Johns <chrisj@…>
Branches:
master
Children:
3b68442
Parents:
96e4b22
git-author:
Chris Johns <chrisj@…> (03/06/19 10:15:56)
git-committer:
Chris Johns <chrisj@…> (03/06/19 19:33:47)
Message:

libdl: Add small data support to the remaining PowerPC BSPs.

Updates #3687

File:
1 edited

Legend:

Unmodified
Added
Removed
  • bsps/powerpc/ss555/start/linkcmds

    r96e4b22 rec1dd51a  
    1616
    1717OUTPUT_FORMAT("elf32-powerpc", "elf32-powerpc", "elf32-powerpc")
    18 OUTPUT_ARCH(powerpc) 
     18OUTPUT_ARCH(powerpc)
    1919STARTUP(start.o)
    2020ENTRY(start)
     
    3636     * For the MPC555, we use the compressed vector table format which puts
    3737     * all of the exception vectors before 0x100.
    38      */ 
     38     */
    3939    *(.vectors)
    4040  }
     
    4343  {
    4444    /* Read-only sections, merged into text segment: */
    45    
     45
    4646    text.start = .;
    4747
     
    5555    /* C++ constructors/destructors */
    5656    *(.gnu.linkonce.t*)
    57              
     57
    5858    /*  Initialization and finalization code.
    5959     *
     
    6666     *  ecrtn.o; the linker won't look for a file to match a wildcard.  The
    6767     *  wildcard also means that it doesn't matter which directory ecrti.o
    68      *  and ecrtn.o are in. 
     68     *  and ecrtn.o are in.
    6969     */
    7070    PROVIDE (_init = .);
     
    7272    *(.init)
    7373    *ecrtn.o(.init)
    74    
     74
    7575    PROVIDE (_fini = .);
    7676    *ecrti.o(.fini)
     
    7878    *ecrtn.o(.init)
    7979
    80     /* 
     80    /*
    8181     *  C++ constructors and destructors for static objects.
    8282     *  PowerPC EABI does not use crtstuff yet, so we build "old-style"
     
    8484     *  end terminate with a NULL entry.
    8585     */
    86     PROVIDE (__CTOR_LIST__ = .);             
     86    PROVIDE (__CTOR_LIST__ = .);
    8787    /* LONG((__CTOR_END__ - __CTOR_LIST__) / 4 - 2) */
    8888    *crtbegin.o(.ctors)
     
    9191    LONG(0)
    9292    PROVIDE (__CTOR_END__ = .);
    93        
     93
    9494    PROVIDE (__DTOR_LIST__ = .);
    9595    /* LONG((__DTOR_END__ - __DTOR_LIST__) / 4 - 2) */
     
    9999    LONG(0)
    100100    PROVIDE (__DTOR_END__ = .);
    101        
     101
    102102    /*
    103103     * Special FreeBSD sysctl sections.
     
    140140    _TLS_Data_end = .;
    141141
    142     /* 
    143      * .data section contents, copied to RAM at system startup. 
     142    /*
     143     * .data section contents, copied to RAM at system startup.
    144144     */
    145145    . = ALIGN(0x20);
     
    164164   */
    165165  . = DEFINED(RTEMS_DEBUG) ? . : int_ram_org;
    166  
     166
    167167  .data : AT (data.contents.start)
    168168  {
    169169    data.start = .;
    170    
     170
    171171    *(.data)
    172172    *(.data.*)
    173173    KEEP (*(SORT(.rtemsrwset.*)))
    174174    *(.data1)
    175    
     175
    176176    PROVIDE (__SDATA_START__ = .);
    177177    *(.sdata .sdata.* .gnu.linkonce.s.*)
    178178    PROVIDE (__SDATA_END__ = .);
    179    
     179
    180180    PROVIDE (__EXCEPT_START__ = .);
    181181    *(.gcc_except_table*)
    182182    PROVIDE (__EXCEPT_END__ = .);
    183    
     183
    184184    PROVIDE(__GOT_START__ = .);
    185     *(.got.plt) 
     185    *(.got.plt)
    186186    *(.got)
    187187    PROVIDE(__GOT_END__ = .);
    188        
     188
    189189    *(.got1)
    190    
     190
    191191    PROVIDE (__GOT2_START__ = .);
    192192    PROVIDE (_GOT2_START_ = .);
     
    194194    PROVIDE (__GOT2_END__ = .);
    195195    PROVIDE (_GOT2_END_ = .);
    196        
     196
    197197    PROVIDE (__FIXUP_START__ = .);
    198198    PROVIDE (_FIXUP_START_ = .);
     
    205205     */
    206206    PROVIDE (__SDATA2_START__ = .);
     207    bsp_section_sdata_begin = .;
    207208    *(.sdata2 .sdata2.* .gnu.linkonce.s2.*)
    208209    *(.sbss2 .sbss2.* .gnu.linkonce.sb2.*)
    209210    PROVIDE (__SDATA2_END__ = .);
     211    bsp_section_sdata_end = .;
    210212
    211213    data.end = .;
     
    217219  {
    218220    PROVIDE (__sbss_start = .); PROVIDE (___sbss_start = .);
     221    bsp_section_sbss_begin = .;
    219222    *(.dynsbss)
    220223    *(.sbss .sbss.* .gnu.linkonce.sb.*)
    221224    *(.scommon)
    222225    PROVIDE (__sbss_end = .); PROVIDE (___sbss_end = .);
     226    bsp_section_sbss_end = .;
     227    bsp_section_sdata_libdl_begin = .;
     228    . = DEFINED(bsp_section_small_data_area_size) ?
     229          bsp_section_sdata_begin + bsp_section_small_data_area_size : .;
     230    bsp_section_sdata_libdl_end = .;
    223231  }
    224232  .bss :
    225233  {
    226     *(.dynbss) 
     234    *(.dynbss)
    227235    *(.bss .bss* .gnu.linkonce.b*)
    228236    *(COMMON)
     
    248256  WorkAreaBase = .;
    249257
    250  
    251   /* 
    252    * Internal I/O devices 
     258
     259  /*
     260   * Internal I/O devices
    253261   */
    254262  .usiu 0x002FC000:             /* unified system interface unit */
     
    284292  .stab.indexstr 0 : { *(.stab.indexstr) }
    285293  .comment 0 : { *(.comment) }
    286  
     294
    287295  /* DWARF debug sections.
    288296     Symbols in the DWARF debugging sections are relative to the beginning
     
    291299  .debug          0 : { *(.debug) }
    292300  .line           0 : { *(.line) }
    293  
     301
    294302  /* GNU DWARF 1 extensions */
    295303  .debug_srcinfo  0 : { *(.debug_srcinfo) }
    296304  .debug_sfnames  0 : { *(.debug_sfnames) }
    297  
     305
    298306  /* DWARF 1.1 and DWARF 2 */
    299307  .debug_aranges  0 : { *(.debug_aranges) }
    300308  .debug_pubnames 0 : { *(.debug_pubnames) }
    301  
     309
    302310  /* DWARF 2 */
    303311  .debug_info     0 : { *(.debug_info) }
     
    308316  .debug_loc      0 : { *(.debug_loc) }
    309317  .debug_macinfo  0 : { *(.debug_macinfo) }
    310  
     318
    311319  /* SGI/MIPS DWARF 2 extensions */
    312320  .debug_weaknames 0 : { *(.debug_weaknames) }
Note: See TracChangeset for help on using the changeset viewer.