PMUFW: lscript: Force generation of single loadable section
Bootgen currently has no support for multiple loadable sections in elfs. So a workaround is being implemented in PMUFW linker script. All sections are forced to be loadable and dummy bytes are added to fill the gaps. This change causes linker to throw a warning about bss section being made PROGBITS. Signed-off-by: Jyotheeswar Reddy <jyothee@xilinx.com> Acked-by: Sören Brinkmann <soren.brinkmann@xilinx.com>
This commit is contained in:
parent
b7424e35f0
commit
73154541df
1 changed files with 18 additions and 3 deletions
|
@ -93,6 +93,7 @@ SECTIONS
|
||||||
*(.gnu.linkonce.s2.*)
|
*(.gnu.linkonce.s2.*)
|
||||||
. = ALIGN(8);
|
. = ALIGN(8);
|
||||||
__sdata2_end = .;
|
__sdata2_end = .;
|
||||||
|
BYTE(0);
|
||||||
} > PMU_RAM
|
} > PMU_RAM
|
||||||
|
|
||||||
.sbss2 : {
|
.sbss2 : {
|
||||||
|
@ -101,6 +102,7 @@ SECTIONS
|
||||||
*(.sbss2.*)
|
*(.sbss2.*)
|
||||||
*(.gnu.linkonce.sb2.*)
|
*(.gnu.linkonce.sb2.*)
|
||||||
__sbss2_end = .;
|
__sbss2_end = .;
|
||||||
|
BYTE(0);
|
||||||
} > PMU_RAM
|
} > PMU_RAM
|
||||||
|
|
||||||
.sdata : {
|
.sdata : {
|
||||||
|
@ -110,9 +112,10 @@ SECTIONS
|
||||||
*(.sdata.*)
|
*(.sdata.*)
|
||||||
*(.gnu.linkonce.s.*)
|
*(.gnu.linkonce.s.*)
|
||||||
__sdata_end = .;
|
__sdata_end = .;
|
||||||
|
BYTE(0);
|
||||||
} > PMU_RAM
|
} > PMU_RAM
|
||||||
|
|
||||||
.sbss (NOLOAD) : {
|
.sbss : {
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
__sbss_start = .;
|
__sbss_start = .;
|
||||||
*(.sbss)
|
*(.sbss)
|
||||||
|
@ -120,6 +123,7 @@ SECTIONS
|
||||||
*(.gnu.linkonce.sb.*)
|
*(.gnu.linkonce.sb.*)
|
||||||
. = ALIGN(8);
|
. = ALIGN(8);
|
||||||
__sbss_end = .;
|
__sbss_end = .;
|
||||||
|
BYTE(0);
|
||||||
} > PMU_RAM
|
} > PMU_RAM
|
||||||
|
|
||||||
.tdata : {
|
.tdata : {
|
||||||
|
@ -138,7 +142,7 @@ SECTIONS
|
||||||
__tbss_end = .;
|
__tbss_end = .;
|
||||||
} > PMU_RAM
|
} > PMU_RAM
|
||||||
|
|
||||||
.bss (NOLOAD) : {
|
.bss : {
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
__bss_start = .;
|
__bss_start = .;
|
||||||
*(.bss)
|
*(.bss)
|
||||||
|
@ -147,6 +151,7 @@ SECTIONS
|
||||||
*(COMMON)
|
*(COMMON)
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
__bss_end = .;
|
__bss_end = .;
|
||||||
|
BYTE(0);
|
||||||
} > PMU_RAM
|
} > PMU_RAM
|
||||||
|
|
||||||
_SDA_BASE_ = __sdata_start + ((__sbss_end - __sdata_start) / 2 );
|
_SDA_BASE_ = __sdata_start + ((__sbss_end - __sdata_start) / 2 );
|
||||||
|
@ -154,15 +159,25 @@ _SDA_BASE_ = __sdata_start + ((__sbss_end - __sdata_start) / 2 );
|
||||||
_SDA2_BASE_ = __sdata2_start + ((__sbss2_end - __sdata2_start) / 2 );
|
_SDA2_BASE_ = __sdata2_start + ((__sbss2_end - __sdata2_start) / 2 );
|
||||||
|
|
||||||
/* Generate Stack definitions */
|
/* Generate Stack definitions */
|
||||||
.stack (NOLOAD) : {
|
.stack : {
|
||||||
_stack_end = .;
|
_stack_end = .;
|
||||||
. += _STACK_SIZE;
|
. += _STACK_SIZE;
|
||||||
. = ALIGN(8);
|
. = ALIGN(8);
|
||||||
_stack = .;
|
_stack = .;
|
||||||
__stack = _stack;
|
__stack = _stack;
|
||||||
|
BYTE(0);
|
||||||
|
} > PMU_RAM
|
||||||
|
|
||||||
|
.filler : {
|
||||||
|
FILL(0);
|
||||||
|
_fill_start = .;
|
||||||
|
BYTE(0);
|
||||||
|
. += (_srv_tbl_start - _fill_start -1 );
|
||||||
|
_fill_end = .;
|
||||||
} > PMU_RAM
|
} > PMU_RAM
|
||||||
|
|
||||||
.xpbr_serv_ext_tbl 0xffddf6e0: {
|
.xpbr_serv_ext_tbl 0xffddf6e0: {
|
||||||
|
_srv_tbl_start = .;
|
||||||
KEEP (*(.xpbr_serv_ext_tbl))
|
KEEP (*(.xpbr_serv_ext_tbl))
|
||||||
} > PMU_RAM
|
} > PMU_RAM
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue