Changeset 1ab4f76 in rtems


Ignore:
Timestamp:
Dec 19, 2013, 12:35:22 AM (5 years ago)
Author:
Chris Johns <chrisj@…>
Branches:
4.11, master
Children:
4a9e52e
Parents:
a9619f3c
Message:

Revert "bsps/arm: Use ALIGN_WITH_INPUT"

This reverts commit 287bbb65afd24ffc6254ae5f328733213f184205.

Conflicts:

c/src/lib/libbsp/arm/shared/startup/linkcmds.base

Location:
c/src/lib/libbsp/arm/shared
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • c/src/lib/libbsp/arm/shared/include/linker-symbols.h

    ra9619f3c r1ab4f76  
    8484LINKER_SYMBOL(bsp_section_rodata_load_end)
    8585
     86LINKER_SYMBOL(bsp_section_armexidx_begin)
     87LINKER_SYMBOL(bsp_section_armexidx_end)
     88LINKER_SYMBOL(bsp_section_armexidx_size)
     89LINKER_SYMBOL(bsp_section_armexidx_load_begin)
     90LINKER_SYMBOL(bsp_section_armexidx_load_end)
     91
    8692LINKER_SYMBOL(bsp_section_data_begin)
    8793LINKER_SYMBOL(bsp_section_data_end)
  • c/src/lib/libbsp/arm/shared/include/start.h

    ra9619f3c r1ab4f76  
    100100  );
    101101
     102  /* Copy .ARM.exidx section */
     103  bsp_start_memcpy(
     104    (int *) bsp_section_armexidx_begin,
     105    (const int *) bsp_section_armexidx_load_begin,
     106    (size_t) bsp_section_armexidx_size
     107  );
     108
    102109  /* Copy .data section */
    103110  bsp_start_memcpy(
  • c/src/lib/libbsp/arm/shared/startup/linkcmds.base

    ra9619f3c r1ab4f76  
    6666
    6767SECTIONS {
    68         .start : ALIGN_WITH_INPUT {
     68        .start : {
    6969                bsp_section_start_begin = .;
    7070                KEEP (*(.bsp_start_text))
     
    7474        bsp_section_start_size = bsp_section_start_end - bsp_section_start_begin;
    7575
    76         .xbarrier : ALIGN_WITH_INPUT {
     76        .xbarrier : {
    7777                . = ALIGN (bsp_section_xbarrier_align);
    7878        } > REGION_VECTOR
    7979
    80         .text : ALIGN_WITH_INPUT {
     80        .text : ALIGN(32) {
    8181                bsp_section_text_begin = .;
     82
     83                /* .text */
    8284                *(.text.unlikely .text.*_unlikely)
    8385                *(.text .stub .text.* .gnu.linkonce.t.*)
     
    8587                *(.gnu.warning)
    8688                *(.glue_7t) *(.glue_7) *(.vfp11_veneer) *(.v4_bx)
    87         } > REGION_TEXT AT > REGION_TEXT_LOAD
    88         .init : ALIGN_WITH_INPUT {
     89
     90                /* .init */
    8991                KEEP (*(.init))
    90         } > REGION_TEXT AT > REGION_TEXT_LOAD
    91         .fini : ALIGN_WITH_INPUT {
     92
     93                /* .fini */
    9294                KEEP (*(.fini))
     95
    9396                bsp_section_text_end = .;
    9497        } > REGION_TEXT AT > REGION_TEXT_LOAD
     
    97100        bsp_section_text_load_end = bsp_section_text_load_begin + bsp_section_text_size;
    98101
    99         .robarrier : ALIGN_WITH_INPUT {
     102        .robarrier : {
    100103                . = ALIGN (bsp_section_robarrier_align);
    101104        } > REGION_RODATA
    102105
    103         .rodata : ALIGN_WITH_INPUT {
     106        .rodata : ALIGN(32) {
    104107                bsp_section_rodata_begin = .;
     108
     109                /* .rodata */
    105110                *(.rodata .rodata.* .gnu.linkonce.r.*)
    106         } > REGION_RODATA AT > REGION_RODATA_LOAD
    107         .rodata1 : ALIGN_WITH_INPUT {
     111
     112                /* .rodata1 */
    108113                *(.rodata1)
    109         } > REGION_RODATA AT > REGION_RODATA_LOAD
    110         .ARM.extab : ALIGN_WITH_INPUT {
     114
     115                /* .ARM.extab */
    111116                *(.ARM.extab* .gnu.linkonce.armextab.*)
    112         } > REGION_RODATA AT > REGION_RODATA_LOAD
    113         .ARM.exidx : ALIGN_WITH_INPUT {
    114                 __exidx_start = .;
    115                 *(.ARM.exidx* .gnu.linkonce.armexidx.*)
    116                 __exidx_end = .;
    117         } > REGION_RODATA AT > REGION_RODATA_LOAD
    118         .eh_frame : ALIGN_WITH_INPUT {
     117
     118                /* .eh_frame */
    119119                KEEP (*(.eh_frame))
    120         } > REGION_RODATA AT > REGION_RODATA_LOAD
    121         .gcc_except_table : ALIGN_WITH_INPUT {
     120
     121                /* .gcc_except_table */
    122122                *(.gcc_except_table .gcc_except_table.*)
    123         } > REGION_RODATA AT > REGION_RODATA_LOAD
    124         .tdata : ALIGN_WITH_INPUT {
     123
     124                /* .tdata */
    125125                *(.tdata .tdata.* .gnu.linkonce.td.*)
    126         } > REGION_RODATA AT > REGION_RODATA_LOAD
    127         .tbss : ALIGN_WITH_INPUT {
     126
     127                /* .tbss */
    128128                *(.tbss .tbss.* .gnu.linkonce.tb.*) *(.tcommon)
    129         } > REGION_RODATA AT > REGION_RODATA_LOAD
    130         .preinit_array : ALIGN_WITH_INPUT {
     129
     130                /* .preinit_array */
    131131                PROVIDE_HIDDEN (__preinit_array_start = .);
    132132                KEEP (*(.preinit_array))
    133133                PROVIDE_HIDDEN (__preinit_array_end = .);
    134         } > REGION_RODATA AT > REGION_RODATA_LOAD
    135         .init_array : ALIGN_WITH_INPUT {
     134
     135                /* .init_array */
    136136                PROVIDE_HIDDEN (__init_array_start = .);
    137137                KEEP (*(SORT(.init_array.*)))
    138138                KEEP (*(.init_array))
    139139                PROVIDE_HIDDEN (__init_array_end = .);
    140         } > REGION_RODATA AT > REGION_RODATA_LOAD
    141         .fini_array : ALIGN_WITH_INPUT {
     140
     141                /* .fini_array */
    142142                PROVIDE_HIDDEN (__fini_array_start = .);
    143143                KEEP (*(.fini_array))
    144144                KEEP (*(SORT(.fini_array.*)))
    145145                PROVIDE_HIDDEN (__fini_array_end = .);
    146         } > REGION_RODATA AT > REGION_RODATA_LOAD
    147         .ctors : ALIGN_WITH_INPUT {
     146
     147                /* .ctors */
    148148                /* gcc uses crtbegin.o to find the start of
    149149                   the constructors, so we make sure it is
     
    164164                KEEP (*(SORT(.ctors.*)))
    165165                KEEP (*(.ctors))
    166         } > REGION_RODATA AT > REGION_RODATA_LOAD
    167         .dtors : ALIGN_WITH_INPUT {
     166
     167                /* .dtors */
    168168                KEEP (*crtbegin.o(.dtors))
    169169                KEEP (*crtbegin?.o(.dtors))
     
    171171                KEEP (*(SORT(.dtors.*)))
    172172                KEEP (*(.dtors))
    173         } > REGION_RODATA AT > REGION_RODATA_LOAD
    174         .data.rel.ro : ALIGN_WITH_INPUT {
     173
     174                /* .data.rel.ro */
    175175                *(.data.rel.ro.local* .gnu.linkonce.d.rel.ro.local.*)
    176176                *(.data.rel.ro* .gnu.linkonce.d.rel.ro.*)
    177         } > REGION_RODATA AT > REGION_RODATA_LOAD
    178         .jcr : ALIGN_WITH_INPUT {
     177
     178                /* .jcr */
    179179                KEEP (*(.jcr))
    180         } > REGION_RODATA AT > REGION_RODATA_LOAD
    181         .interp : ALIGN_WITH_INPUT {
     180
     181                /* .interp */
    182182                *(.interp)
    183         } > REGION_RODATA AT > REGION_RODATA_LOAD
    184         .note.gnu.build-id : ALIGN_WITH_INPUT {
     183
     184                /* .note.gnu.build-id */
    185185                *(.note.gnu.build-id)
    186         } > REGION_RODATA AT > REGION_RODATA_LOAD
    187         .hash : ALIGN_WITH_INPUT {
     186
     187                /* .hash */
    188188                *(.hash)
    189         } > REGION_RODATA AT > REGION_RODATA_LOAD
    190         .gnu.hash : ALIGN_WITH_INPUT {
     189
     190                /* .gnu.hash */
    191191                *(.gnu.hash)
    192         } > REGION_RODATA AT > REGION_RODATA_LOAD
    193         .dynsym : ALIGN_WITH_INPUT {
     192
     193                /* .dynsym */
    194194                *(.dynsym)
    195         } > REGION_RODATA AT > REGION_RODATA_LOAD
    196         .dynstr : ALIGN_WITH_INPUT {
     195
     196                /* .dynstr */
    197197                *(.dynstr)
    198         } > REGION_RODATA AT > REGION_RODATA_LOAD
    199         .gnu.version : ALIGN_WITH_INPUT {
     198
     199                /* .gnu.version */
    200200                *(.gnu.version)
    201         } > REGION_RODATA AT > REGION_RODATA_LOAD
    202         .gnu.version_d : ALIGN_WITH_INPUT {
     201
     202                /* .gnu.version_d */
    203203                *(.gnu.version_d)
    204         } > REGION_RODATA AT > REGION_RODATA_LOAD
    205         .gnu.version_r : ALIGN_WITH_INPUT {
     204
     205                /* .gnu.version_r */
    206206                *(.gnu.version_r)
    207         } > REGION_RODATA AT > REGION_RODATA_LOAD
    208         .rel.dyn : ALIGN_WITH_INPUT {
     207
     208                /* .rel.dyn */
    209209                *(.rel.init)
    210210                *(.rel.text .rel.text.* .rel.gnu.linkonce.t.*)
     
    224224                PROVIDE_HIDDEN (__rela_iplt_start = .);
    225225                PROVIDE_HIDDEN (__rela_iplt_end = .);
    226         } > REGION_RODATA AT > REGION_RODATA_LOAD
    227         .rela.dyn : ALIGN_WITH_INPUT {
     226
     227                /* .rela.dyn */
    228228                *(.rela.init)
    229229                *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
     
    242242                *(.rela.iplt)
    243243                PROVIDE_HIDDEN (__rela_iplt_end = .);
    244         } > REGION_RODATA AT > REGION_RODATA_LOAD
    245         .rel.plt : ALIGN_WITH_INPUT {
     244
     245                /* .rel.plt */
    246246                *(.rel.plt)
    247         } > REGION_RODATA AT > REGION_RODATA_LOAD
    248         .rela.plt : ALIGN_WITH_INPUT {
     247
     248                /* .rela.plt */
    249249                *(.rela.plt)
    250         } > REGION_RODATA AT > REGION_RODATA_LOAD
    251         .plt : ALIGN_WITH_INPUT {
     250
     251                /* .plt */
    252252                *(.plt)
    253         } > REGION_RODATA AT > REGION_RODATA_LOAD
    254         .iplt : ALIGN_WITH_INPUT {
     253
     254                /* .iplt */
    255255                *(.iplt)
    256         } > REGION_RODATA AT > REGION_RODATA_LOAD
    257         .dynamic : ALIGN_WITH_INPUT {
     256
     257                /* .dynamic */
    258258                *(.dynamic)
    259         } > REGION_RODATA AT > REGION_RODATA_LOAD
    260         .got : ALIGN_WITH_INPUT {
     259
     260                /* .got */
    261261                *(.got.plt) *(.igot.plt) *(.got) *(.igot)
     262<<<<<<< HEAD
    262263        } > REGION_RODATA AT > REGION_RODATA_LOAD
    263264        .rtemsroset : ALIGN_WITH_INPUT {
     265=======
     266
     267>>>>>>> parent of 287bbb6... bsps/arm: Use ALIGN_WITH_INPUT
    264268                /* Special FreeBSD linker set sections */
    265269                __start_set_sysctl_set = .;
     
    276280        bsp_section_rodata_load_end = bsp_section_rodata_load_begin + bsp_section_rodata_size;
    277281
    278         .rwbarrier : ALIGN_WITH_INPUT {
     282        .ARM.exidx : ALIGN(32) {
     283                bsp_section_armexidx_begin = .;
     284
     285                /* .ARM.exidx */
     286                __exidx_start = .;
     287                *(.ARM.exidx* .gnu.linkonce.armexidx.*)
     288                __exidx_end = .;
     289
     290                bsp_section_armexidx_end = .;
     291        } > REGION_RODATA AT > REGION_RODATA_LOAD
     292        bsp_section_armexidx_size = bsp_section_armexidx_end - bsp_section_armexidx_begin;
     293        bsp_section_armexidx_load_begin = LOADADDR (.ARM.exidx);
     294        bsp_section_armexidx_load_end = bsp_section_armexidx_load_begin + bsp_section_armexidx_size;
     295
     296        .rwbarrier : {
    279297                . = ALIGN (bsp_section_rwbarrier_align);
    280298        } > REGION_DATA
    281299
    282         .vector : ALIGN_WITH_INPUT {
     300        .vector : {
    283301                bsp_section_vector_begin = .;
    284302
     
    316334
    317335                *(.bsp_vector)
     336
    318337                bsp_section_vector_end = .;
    319338        } > REGION_VECTOR AT > REGION_VECTOR
     
    322341        bsp_vector_table_end = bsp_vector_table_begin + bsp_vector_table_size;
    323342
    324         .fast_text : ALIGN_WITH_INPUT {
     343        .fast_text : {
    325344                bsp_section_fast_text_begin = .;
    326345                *(.bsp_fast_text)
     
    331350        bsp_section_fast_text_load_end = bsp_section_fast_text_load_begin + bsp_section_fast_text_size;
    332351
    333         .fast_data : ALIGN_WITH_INPUT {
     352        .fast_data : ALIGN(32) {
    334353                bsp_section_fast_data_begin = .;
    335354                *(.bsp_fast_data)
     
    340359        bsp_section_fast_data_load_end = bsp_section_fast_data_load_begin + bsp_section_fast_data_size;
    341360
    342         .data : ALIGN_WITH_INPUT {
     361        .data : ALIGN(32) {
    343362                bsp_section_data_begin = .;
     363
     364                /* .data */
    344365                *(.data .data.* .gnu.linkonce.d.*)
    345366                SORT(CONSTRUCTORS)
    346         } > REGION_DATA AT > REGION_DATA_LOAD
    347         .data1 : ALIGN_WITH_INPUT {
     367
     368                /* .data1 */
    348369                *(.data1)
     370<<<<<<< HEAD
    349371        } > REGION_DATA AT > REGION_DATA_LOAD
    350372        .rtemsrwset : ALIGN_WITH_INPUT {
    351373                KEEP (*(SORT(.rtemsrwset.*)))
     374=======
     375
     376                /* Special FreeBSD linker set sections */
     377                _bsd__start_set_sysinit_set = .;
     378                *(_bsd_set_sysinit_set);
     379                _bsd__stop_set_sysinit_set = .;
     380
     381>>>>>>> parent of 287bbb6... bsps/arm: Use ALIGN_WITH_INPUT
    352382                bsp_section_data_end = .;
    353383        } > REGION_DATA AT > REGION_DATA_LOAD
     
    356386        bsp_section_data_load_end = bsp_section_data_load_begin + bsp_section_data_size;
    357387
    358         .bss : ALIGN_WITH_INPUT {
     388        .bss : {
    359389                bsp_section_bss_begin = .;
     390
     391                /* .bss */
    360392                *(.dynbss)
    361393                *(.bss .bss.* .gnu.linkonce.b.*)
    362394                *(COMMON)
     395
    363396                bsp_section_bss_end = .;
    364397        } > REGION_BSS AT > REGION_BSS
    365398        bsp_section_bss_size = bsp_section_bss_end - bsp_section_bss_begin;
    366399
    367         .work : ALIGN_WITH_INPUT {
     400        .work : {
    368401                /*
    369402                 * The work section will occupy the remaining REGION_WORK region and
     
    376409        bsp_section_work_size = bsp_section_work_end - bsp_section_work_begin;
    377410
    378         .stack : ALIGN_WITH_INPUT {
     411        .stack : {
    379412                /*
    380413                 * The stack section will occupy the remaining REGION_STACK region and may
Note: See TracChangeset for help on using the changeset viewer.