From 27690ec38e42a89595feef9471c66bd07725a62c Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 2 May 2013 13:36:03 +0200 Subject: bsps/arm: Move .vector section The .vector section contains read-write data (several mode stacks). Move it to the read-write data area. --- c/src/lib/libbsp/arm/shared/startup/linkcmds.base | 76 +++++++++++------------ 1 file changed, 38 insertions(+), 38 deletions(-) diff --git a/c/src/lib/libbsp/arm/shared/startup/linkcmds.base b/c/src/lib/libbsp/arm/shared/startup/linkcmds.base index 0efb05af4e..dac0431381 100644 --- a/c/src/lib/libbsp/arm/shared/startup/linkcmds.base +++ b/c/src/lib/libbsp/arm/shared/startup/linkcmds.base @@ -69,44 +69,6 @@ SECTIONS { } > REGION_START AT > REGION_START bsp_section_start_size = bsp_section_start_end - bsp_section_start_begin; - .vector : { - bsp_section_vector_begin = .; - - . = . + DEFINED (bsp_vector_table_in_start_section) ? 0 : bsp_vector_table_size; - - . = ALIGN (bsp_stack_align); - - bsp_stack_abt_begin = .; - . = . + bsp_stack_abt_size; - bsp_stack_abt_end = .; - - bsp_stack_fiq_begin = .; - . = . + bsp_stack_fiq_size; - bsp_stack_fiq_end = .; - - bsp_stack_irq_begin = .; - . = . + bsp_stack_irq_size; - bsp_stack_irq_end = .; - - bsp_stack_svc_begin = .; - . = . + bsp_stack_svc_size; - bsp_stack_svc_end = .; - - bsp_stack_und_begin = .; - . = . + bsp_stack_und_size; - bsp_stack_und_end = .; - - bsp_stack_main_begin = .; - . = . + bsp_stack_main_size; - bsp_stack_main_end = .; - - *(.bsp_vector) - bsp_section_vector_end = .; - } > REGION_VECTOR AT > REGION_VECTOR - bsp_section_vector_size = bsp_section_vector_end - bsp_section_vector_begin; - bsp_vector_table_begin = DEFINED (bsp_vector_table_in_start_section) ? bsp_section_start_begin : bsp_section_vector_begin; - bsp_vector_table_end = bsp_vector_table_begin + bsp_vector_table_size; - .xbarrier : { . = ALIGN (bsp_section_xbarrier_align); } > REGION_VECTOR @@ -321,6 +283,44 @@ SECTIONS { . = ALIGN (bsp_section_rwbarrier_align); } > REGION_DATA + .vector : { + bsp_section_vector_begin = .; + + . = . + DEFINED (bsp_vector_table_in_start_section) ? 0 : bsp_vector_table_size; + + . = ALIGN (bsp_stack_align); + + bsp_stack_abt_begin = .; + . = . + bsp_stack_abt_size; + bsp_stack_abt_end = .; + + bsp_stack_fiq_begin = .; + . = . + bsp_stack_fiq_size; + bsp_stack_fiq_end = .; + + bsp_stack_irq_begin = .; + . = . + bsp_stack_irq_size; + bsp_stack_irq_end = .; + + bsp_stack_svc_begin = .; + . = . + bsp_stack_svc_size; + bsp_stack_svc_end = .; + + bsp_stack_und_begin = .; + . = . + bsp_stack_und_size; + bsp_stack_und_end = .; + + bsp_stack_main_begin = .; + . = . + bsp_stack_main_size; + bsp_stack_main_end = .; + + *(.bsp_vector) + bsp_section_vector_end = .; + } > REGION_VECTOR AT > REGION_VECTOR + bsp_section_vector_size = bsp_section_vector_end - bsp_section_vector_begin; + bsp_vector_table_begin = DEFINED (bsp_vector_table_in_start_section) ? bsp_section_start_begin : bsp_section_vector_begin; + bsp_vector_table_end = bsp_vector_table_begin + bsp_vector_table_size; + .fast_data : { bsp_section_fast_data_begin = .; *(.bsp_fast_data) -- cgit v1.2.3