[PATCH 2/2] bsps: Support RTEMS_NOINIT in linkcmds

Gedare Bloom gedare at rtems.org
Sun May 2 13:21:47 UTC 2021


these 2 look good

On Fri, Apr 30, 2021 at 7:55 AM Sebastian Huber
<sebastian.huber at embedded-brains.de> wrote:
>
> Close #3866.
> ---
>  bsps/arm/include/bsp/arm-cp15-start.h            | 6 +-----
>  bsps/arm/include/bsp/linker-symbols.h            | 4 ++++
>  bsps/arm/shared/start/linkcmds.base              | 7 +++++++
>  bsps/bfin/TLL6527M/start/linkcmds                | 4 ++++
>  bsps/bfin/bf537Stamp/start/linkcmds              | 4 ++++
>  bsps/bfin/eZKit533/start/linkcmds                | 4 ++++
>  bsps/i386/pc386/start/linkcmds                   | 3 +++
>  bsps/lm32/lm32_evr/start/linkcmds                | 4 ++++
>  bsps/lm32/milkymist/start/linkcmds               | 4 ++++
>  bsps/m68k/av5282/start/linkcmds                  | 4 ++++
>  bsps/m68k/av5282/start/linkcmdsflash             | 4 ++++
>  bsps/m68k/av5282/start/linkcmdsram               | 4 ++++
>  bsps/m68k/csb360/start/linkcmds                  | 4 ++++
>  bsps/m68k/gen68340/start/linkcmds                | 4 ++++
>  bsps/m68k/gen68360/start/linkcmds                | 4 ++++
>  bsps/m68k/gen68360/start/linkcmds.bootp          | 4 ++++
>  bsps/m68k/gen68360/start/linkcmds.prom           | 4 ++++
>  bsps/m68k/mcf5206elite/start/linkcmds            | 4 ++++
>  bsps/m68k/mcf5206elite/start/linkcmds.flash      | 4 ++++
>  bsps/m68k/mcf52235/start/linkcmds                | 4 ++++
>  bsps/m68k/mcf5225x/start/linkcmds                | 4 ++++
>  bsps/m68k/mcf5235/start/linkcmds                 | 4 ++++
>  bsps/m68k/mcf5235/start/linkcmdsflash            | 4 ++++
>  bsps/m68k/mcf5235/start/linkcmdsram              | 4 ++++
>  bsps/m68k/mcf5329/start/linkcmds                 | 4 ++++
>  bsps/m68k/mcf5329/start/linkcmdsflash            | 4 ++++
>  bsps/m68k/mrm332/start/linkcmds                  | 3 +++
>  bsps/m68k/shared/start/linkcmds.base             | 7 +++++++
>  bsps/m68k/uC5282/start/linkcmds                  | 4 ++++
>  bsps/mips/csb350/start/linkcmds                  | 4 ++++
>  bsps/mips/hurricane/start/linkcmds               | 4 ++++
>  bsps/mips/jmr3904/start/linkcmds                 | 4 ++++
>  bsps/mips/malta/start/linkcmds                   | 4 ++++
>  bsps/mips/rbtx4925/start/linkcmds                | 4 ++++
>  bsps/mips/rbtx4938/start/linkcmds                | 4 ++++
>  bsps/moxie/moxiesim/start/linkcmds               | 3 +++
>  bsps/nios2/nios2_iss/start/linkcmds              | 4 ++++
>  bsps/or1k/shared/start/linkcmds.base             | 7 +++++++
>  bsps/powerpc/gen5200/start/linkcmds.gen5200_base | 4 ++++
>  bsps/powerpc/haleakala/start/linkcmds            | 4 ++++
>  bsps/powerpc/include/bsp/linker-symbols.h        | 4 ++++
>  bsps/powerpc/mpc8260ads/start/linkcmds           | 4 ++++
>  bsps/powerpc/qoriq/start/mmu-config.c            | 1 +
>  bsps/powerpc/shared/start/linkcmds.base          | 7 +++++++
>  bsps/powerpc/shared/start/linkcmds.share         | 3 +++
>  bsps/powerpc/ss555/start/linkcmds                | 4 ++++
>  bsps/powerpc/virtex4/start/linkcmds              | 4 ++++
>  bsps/powerpc/virtex5/start/linkcmds              | 4 ++++
>  bsps/riscv/include/bsp/linker-symbols.h          | 4 ++++
>  bsps/riscv/shared/start/linkcmds.base.in         | 7 +++++++
>  bsps/sh/gensh1/start/linkcmds                    | 4 ++++
>  bsps/sh/gensh2/start/linkcmds                    | 4 ++++
>  bsps/sh/gensh2/start/linkcmds.ram                | 4 ++++
>  bsps/sh/gensh2/start/linkcmds.rom                | 4 ++++
>  bsps/sh/gensh4/start/linkcmds                    | 4 ++++
>  bsps/sh/gensh4/start/linkcmds.rom                | 4 ++++
>  bsps/sh/gensh4/start/linkcmds.rom2ram            | 4 ++++
>  bsps/sh/shsim/start/linkcmds                     | 4 ++++
>  bsps/sparc/shared/start/linkcmds.base            | 3 +++
>  bsps/sparc64/shared/start/linkcmds               | 4 ++++
>  bsps/v850/gdbv850sim/start/linkcmds              | 3 +++
>  bsps/x86_64/amd64/start/linkcmds                 | 5 +++++
>  62 files changed, 252 insertions(+), 5 deletions(-)
>
> diff --git a/bsps/arm/include/bsp/arm-cp15-start.h b/bsps/arm/include/bsp/arm-cp15-start.h
> index 75cbdac848..e46ea39a0e 100644
> --- a/bsps/arm/include/bsp/arm-cp15-start.h
> +++ b/bsps/arm/include/bsp/arm-cp15-start.h
> @@ -75,10 +75,6 @@ typedef struct {
>      .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED \
>    }, { \
>      .begin = (uint32_t) bsp_section_rtemsstack_begin, \
> -    .end = (uint32_t) bsp_section_rtemsstack_end, \
> -    .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED \
> -  }, { \
> -    .begin = (uint32_t) bsp_section_work_begin, \
>      .end = (uint32_t) bsp_section_work_end, \
>      .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED \
>    }, { \
> @@ -99,7 +95,7 @@ typedef struct {
>      .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED \
>    }
>
> -#define ARMV7_CP15_START_WORKSPACE_ENTRY_INDEX 9
> +#define ARMV7_CP15_START_WORKSPACE_ENTRY_INDEX 8
>
>  BSP_START_DATA_SECTION extern const arm_cp15_start_section_config
>    arm_cp15_start_mmu_config_table[];
> diff --git a/bsps/arm/include/bsp/linker-symbols.h b/bsps/arm/include/bsp/linker-symbols.h
> index 635ba5e5c4..38a849a95a 100644
> --- a/bsps/arm/include/bsp/linker-symbols.h
> +++ b/bsps/arm/include/bsp/linker-symbols.h
> @@ -96,6 +96,10 @@ LINKER_SYMBOL(bsp_section_rtemsstack_begin)
>  LINKER_SYMBOL(bsp_section_rtemsstack_end)
>  LINKER_SYMBOL(bsp_section_rtemsstack_size)
>
> +LINKER_SYMBOL(bsp_section_noinit_begin)
> +LINKER_SYMBOL(bsp_section_noinit_end)
> +LINKER_SYMBOL(bsp_section_noinit_size)
> +
>  LINKER_SYMBOL(bsp_section_work_begin)
>  LINKER_SYMBOL(bsp_section_work_end)
>  LINKER_SYMBOL(bsp_section_work_size)
> diff --git a/bsps/arm/shared/start/linkcmds.base b/bsps/arm/shared/start/linkcmds.base
> index a56e23fe93..1b88255e44 100644
> --- a/bsps/arm/shared/start/linkcmds.base
> +++ b/bsps/arm/shared/start/linkcmds.base
> @@ -338,6 +338,13 @@ SECTIONS {
>         } > REGION_WORK AT > REGION_WORK
>         bsp_section_rtemsstack_size = bsp_section_rtemsstack_end - bsp_section_rtemsstack_begin;
>
> +       .noinit (NOLOAD) : ALIGN_WITH_INPUT {
> +               bsp_section_noinit_begin = .;
> +               *(.noinit*)
> +               bsp_section_noinit_end = .;
> +       } > REGION_WORK AT > REGION_WORK
> +       bsp_section_noinit_size = bsp_section_noinit_end - bsp_section_noinit_begin;
> +
>         .work : ALIGN_WITH_INPUT {
>                 /*
>                  * The work section will occupy the remaining REGION_WORK region and
> diff --git a/bsps/bfin/TLL6527M/start/linkcmds b/bsps/bfin/TLL6527M/start/linkcmds
> index 0afd7fc47a..315f1b7149 100644
> --- a/bsps/bfin/TLL6527M/start/linkcmds
> +++ b/bsps/bfin/TLL6527M/start/linkcmds
> @@ -128,6 +128,10 @@ SECTIONS
>           __end = .;
>      } > sdram
>
> +    .noinit (NOLOAD) : {
> +        *(.noinit*)
> +    } > sdram
> +
>      .rtemsstack (NOLOAD) : {
>          *(SORT(.rtemsstack.*))
>          _WorkAreaBase = .;
> diff --git a/bsps/bfin/bf537Stamp/start/linkcmds b/bsps/bfin/bf537Stamp/start/linkcmds
> index 5d2635d1f6..c6bbcf4e68 100644
> --- a/bsps/bfin/bf537Stamp/start/linkcmds
> +++ b/bsps/bfin/bf537Stamp/start/linkcmds
> @@ -136,6 +136,10 @@ SECTIONS
>           __end = .;
>      } > sdram
>
> +    .noinit (NOLOAD) : {
> +        *(.noinit*)
> +    } > sdram
> +
>      .rtemsstack (NOLOAD) : {
>          *(SORT(.rtemsstack.*))
>          _WorkAreaBase = .;
> diff --git a/bsps/bfin/eZKit533/start/linkcmds b/bsps/bfin/eZKit533/start/linkcmds
> index bd2f4d79de..6f338b0b3a 100644
> --- a/bsps/bfin/eZKit533/start/linkcmds
> +++ b/bsps/bfin/eZKit533/start/linkcmds
> @@ -125,6 +125,10 @@ SECTIONS
>           __end = .;
>      } > sdram
>
> +    .noinit (NOLOAD) : {
> +        *(.noinit*)
> +    } > sdram
> +
>      .rtemsstack (NOLOAD) : {
>          *(SORT(.rtemsstack.*))
>          _WorkAreaBase = .;
> diff --git a/bsps/i386/pc386/start/linkcmds b/bsps/i386/pc386/start/linkcmds
> index 01ec1e9371..46a7af4cb9 100644
> --- a/bsps/i386/pc386/start/linkcmds
> +++ b/bsps/i386/pc386/start/linkcmds
> @@ -205,6 +205,9 @@ SECTIONS
>    }
>    . = ALIGN(32 / 8);
>    _end = .; PROVIDE (end = .);
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  }
>    .rtemsstack (NOLOAD) : {
>      *(SORT(.rtemsstack.*))
>    }
> diff --git a/bsps/lm32/lm32_evr/start/linkcmds b/bsps/lm32/lm32_evr/start/linkcmds
> index a4b204d5eb..dd429a7af1 100644
> --- a/bsps/lm32/lm32_evr/start/linkcmds
> +++ b/bsps/lm32/lm32_evr/start/linkcmds
> @@ -253,6 +253,10 @@ SECTIONS
>
>    } > sdram
>
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  } > sdram
> +
>    .rtemsstack (NOLOAD) : {
>      *(SORT(.rtemsstack.*))
>      WorkAreaBase = .;
> diff --git a/bsps/lm32/milkymist/start/linkcmds b/bsps/lm32/milkymist/start/linkcmds
> index c5ca1751cf..021814a7b5 100644
> --- a/bsps/lm32/milkymist/start/linkcmds
> +++ b/bsps/lm32/milkymist/start/linkcmds
> @@ -251,6 +251,10 @@ SECTIONS
>      _clear_end = .;
>    } > sdram
>
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  } > sdram
> +
>    .rtemsstack (NOLOAD) : {
>      *(SORT(.rtemsstack.*))
>      WorkAreaBase = .;
> diff --git a/bsps/m68k/av5282/start/linkcmds b/bsps/m68k/av5282/start/linkcmds
> index 4ffee0fa91..0c0b3df561 100644
> --- a/bsps/m68k/av5282/start/linkcmds
> +++ b/bsps/m68k/av5282/start/linkcmds
> @@ -183,6 +183,10 @@ SECTIONS
>                  _clear_end = .;
>          } >ram
>
> +        .noinit (NOLOAD) : {
> +                *(.noinit*)
> +        } >ram
> +
>          .rtemsstack (NOLOAD) : {
>                  *(SORT(.rtemsstack.*))
>                  WorkAreaBase = .;
> diff --git a/bsps/m68k/av5282/start/linkcmdsflash b/bsps/m68k/av5282/start/linkcmdsflash
> index 1307d844c9..83d761bc56 100644
> --- a/bsps/m68k/av5282/start/linkcmdsflash
> +++ b/bsps/m68k/av5282/start/linkcmdsflash
> @@ -183,6 +183,10 @@ SECTIONS
>                  _clear_end = .;
>          }
>
> +        .noinit (NOLOAD) : {
> +                *(.noinit*)
> +        }
> +
>          .rtemsstack (NOLOAD) : {
>                  *(SORT(.rtemsstack.*))
>                  WorkAreaBase = .;
> diff --git a/bsps/m68k/av5282/start/linkcmdsram b/bsps/m68k/av5282/start/linkcmdsram
> index 7ec8edb6e9..354a26c383 100644
> --- a/bsps/m68k/av5282/start/linkcmdsram
> +++ b/bsps/m68k/av5282/start/linkcmdsram
> @@ -182,6 +182,10 @@ SECTIONS
>                  _clear_end = .;
>          } >ram
>
> +        .noinit (NOLOAD) : {
> +                *(.noinit*)
> +        } >ram
> +
>          .rtemsstack (NOLOAD) : {
>                  *(SORT(.rtemsstack.*))
>                  WorkAreaBase = .;
> diff --git a/bsps/m68k/csb360/start/linkcmds b/bsps/m68k/csb360/start/linkcmds
> index f7b2a98698..430f122e3d 100644
> --- a/bsps/m68k/csb360/start/linkcmds
> +++ b/bsps/m68k/csb360/start/linkcmds
> @@ -158,6 +158,10 @@ SECTIONS
>         clear_end = .;
>    } > ram
>
> +  .noinit (NOLOAD) : {
> +       *(.noinit*)
> +  } >ram
> +
>    .rtemsstack (NOLOAD) : {
>          *(SORT(.rtemsstack.*))
>          WorkAreaBase = .;
> diff --git a/bsps/m68k/gen68340/start/linkcmds b/bsps/m68k/gen68340/start/linkcmds
> index 83a033a96f..a480084b83 100644
> --- a/bsps/m68k/gen68340/start/linkcmds
> +++ b/bsps/m68k/gen68340/start/linkcmds
> @@ -189,6 +189,10 @@ SECTIONS {
>                  _clear_end = .;
>          } >ram
>
> +        .noinit (NOLOAD) : {
> +                *(.noinit*)
> +        } >ram
> +
>          .rtemsstack (NOLOAD) : {
>                  *(SORT(.rtemsstack.*))
>                  WorkAreaBase = .;
> diff --git a/bsps/m68k/gen68360/start/linkcmds b/bsps/m68k/gen68360/start/linkcmds
> index 0bbb3940e3..0bf9efa9ea 100644
> --- a/bsps/m68k/gen68360/start/linkcmds
> +++ b/bsps/m68k/gen68360/start/linkcmds
> @@ -153,6 +153,10 @@ SECTIONS {
>                  _clear_end = .;
>          } >ram
>
> +        .noinit (NOLOAD) : {
> +                *(.noinit*)
> +        } > ram
> +
>          .rtemsstack (NOLOAD) : {
>                  *(SORT(.rtemsstack.*))
>                  WorkAreaBase = .;
> diff --git a/bsps/m68k/gen68360/start/linkcmds.bootp b/bsps/m68k/gen68360/start/linkcmds.bootp
> index 2c1814aa5d..422396f766 100644
> --- a/bsps/m68k/gen68360/start/linkcmds.bootp
> +++ b/bsps/m68k/gen68360/start/linkcmds.bootp
> @@ -155,6 +155,10 @@ SECTIONS {
>                  _clear_end = .;
>          } >myram
>
> +        .noinit (NOLOAD) : {
> +                *(.noinit*)
> +        } >mvram
> +
>          .rtemsstack (NOLOAD) : {
>                  *(SORT(.rtemsstack.*))
>                  WorkAreaBase = .;
> diff --git a/bsps/m68k/gen68360/start/linkcmds.prom b/bsps/m68k/gen68360/start/linkcmds.prom
> index 64aad46cc7..da8acdf376 100644
> --- a/bsps/m68k/gen68360/start/linkcmds.prom
> +++ b/bsps/m68k/gen68360/start/linkcmds.prom
> @@ -153,6 +153,10 @@ SECTIONS {
>                  _clear_end = .;
>          } >ram
>
> +        .noinit (NOLOAD) : {
> +                *(.noinit*)
> +        } > ram
> +
>          .rtemsstack (NOLOAD) : {
>                  *(SORT(.rtemsstack.*))
>                  WorkAreaBase = .;
> diff --git a/bsps/m68k/mcf5206elite/start/linkcmds b/bsps/m68k/mcf5206elite/start/linkcmds
> index ebabe5f5f7..89325cda8b 100644
> --- a/bsps/m68k/mcf5206elite/start/linkcmds
> +++ b/bsps/m68k/mcf5206elite/start/linkcmds
> @@ -191,6 +191,10 @@ SECTIONS
>      clear_end = .;
>    } > ram
>
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  } >ram
> +
>    .rtemsstack (NOLOAD) : {
>      *(SORT(.rtemsstack.*))
>      WorkAreaBase = .;
> diff --git a/bsps/m68k/mcf5206elite/start/linkcmds.flash b/bsps/m68k/mcf5206elite/start/linkcmds.flash
> index e467ecb3b4..cf1e5ed720 100644
> --- a/bsps/m68k/mcf5206elite/start/linkcmds.flash
> +++ b/bsps/m68k/mcf5206elite/start/linkcmds.flash
> @@ -190,6 +190,10 @@ SECTIONS
>      clear_end = .;
>    } > ram
>
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  } >ram
> +
>    .rtemsstack (NOLOAD) : {
>      *(SORT(.rtemsstack.*))
>      WorkAreaBase = .;
> diff --git a/bsps/m68k/mcf52235/start/linkcmds b/bsps/m68k/mcf52235/start/linkcmds
> index a5c69b2074..e20d3031d7 100644
> --- a/bsps/m68k/mcf52235/start/linkcmds
> +++ b/bsps/m68k/mcf52235/start/linkcmds
> @@ -171,6 +171,10 @@ SECTIONS
>          PROVIDE (_clear_end = .);
>      } >sram
>
> +    .noinit (NOLOAD) : {
> +        *(.noinit*)
> +    } >sram
> +
>      .rtemsstack (NOLOAD) : {
>          *(SORT(.rtemsstack.*))
>          PROVIDE(WorkAreaBase = .);
> diff --git a/bsps/m68k/mcf5225x/start/linkcmds b/bsps/m68k/mcf5225x/start/linkcmds
> index 0cd45553ba..ae9800dcc4 100644
> --- a/bsps/m68k/mcf5225x/start/linkcmds
> +++ b/bsps/m68k/mcf5225x/start/linkcmds
> @@ -171,6 +171,10 @@ SECTIONS
>          PROVIDE (_clear_end = .);
>      } >sram
>
> +    .noinit (NOLOAD) : {
> +        *(.noinit*)
> +    } >sram
> +
>      .rtemsstack (NOLOAD) : {
>          *(SORT(.rtemsstack.*))
>          PROVIDE(WorkAreaBase = .);
> diff --git a/bsps/m68k/mcf5235/start/linkcmds b/bsps/m68k/mcf5235/start/linkcmds
> index a1ecc35387..fe2ebd26d2 100644
> --- a/bsps/m68k/mcf5235/start/linkcmds
> +++ b/bsps/m68k/mcf5235/start/linkcmds
> @@ -190,6 +190,10 @@ SECTIONS
>                  _clear_end = .;
>          } > dram
>
> +        .noinit (NOLOAD) : {
> +                *(.noinit*)
> +        } > dram
> +
>          .rtemsstack (NOLOAD) : {
>                  *(SORT(.rtemsstack.*))
>                  WorkAreaBase = .;
> diff --git a/bsps/m68k/mcf5235/start/linkcmdsflash b/bsps/m68k/mcf5235/start/linkcmdsflash
> index c644b34fde..2c25105134 100644
> --- a/bsps/m68k/mcf5235/start/linkcmdsflash
> +++ b/bsps/m68k/mcf5235/start/linkcmdsflash
> @@ -195,6 +195,10 @@ SECTIONS
>                  _clear_end = .;
>          } >ram
>
> +        .noinit (NOLOAD) : {
> +                *(.noinit*)
> +        } > ram
> +
>          .rtemsstack (NOLOAD) : {
>                  *(SORT(.rtemsstack.*))
>                  WorkAreaBase = .;
> diff --git a/bsps/m68k/mcf5235/start/linkcmdsram b/bsps/m68k/mcf5235/start/linkcmdsram
> index ae15b92067..25e0f9b093 100644
> --- a/bsps/m68k/mcf5235/start/linkcmdsram
> +++ b/bsps/m68k/mcf5235/start/linkcmdsram
> @@ -190,6 +190,10 @@ SECTIONS
>                  _clear_end = .;
>          } >ram
>
> +        .noinit (NOLOAD) : {
> +                *(.noinit*)
> +        } > ram
> +
>          .rtemsstack (NOLOAD) : {
>                  *(SORT(.rtemsstack.*))
>                  WorkAreaBase = .;
> diff --git a/bsps/m68k/mcf5329/start/linkcmds b/bsps/m68k/mcf5329/start/linkcmds
> index 54fa5b34bb..8b017c06a8 100644
> --- a/bsps/m68k/mcf5329/start/linkcmds
> +++ b/bsps/m68k/mcf5329/start/linkcmds
> @@ -179,6 +179,10 @@ SECTIONS
>          . = ALIGN (16);
>          PROVIDE (_end = .);
>          _clear_end = .;
> +    } > dram
> +
> +    .noinit (NOLOAD) : {
> +        *(.noinit*)
>          WorkAreaBase = .;
>      } > dram
>
> diff --git a/bsps/m68k/mcf5329/start/linkcmdsflash b/bsps/m68k/mcf5329/start/linkcmdsflash
> index 99e04d3310..aacaca7b47 100644
> --- a/bsps/m68k/mcf5329/start/linkcmdsflash
> +++ b/bsps/m68k/mcf5329/start/linkcmdsflash
> @@ -175,6 +175,10 @@ SECTIONS
>          . = ALIGN (16);
>          PROVIDE (_end = .);
>          _clear_end = .;
> +    } > dram
> +
> +    .noinit (NOLOAD) : {
> +        *(.noinit*)
>          WorkAreaBase = .;
>      } > dram
>
> diff --git a/bsps/m68k/mrm332/start/linkcmds b/bsps/m68k/mrm332/start/linkcmds
> index 1ce441652a..7c31b92dd1 100644
> --- a/bsps/m68k/mrm332/start/linkcmds
> +++ b/bsps/m68k/mrm332/start/linkcmds
> @@ -194,6 +194,9 @@ SECTIONS
>      PROVIDE (end = .);
>      _clear_end = .;
>    } > ram
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  } > ram
>    .rtemsstack (NOLOAD) : {
>      *(SORT(.rtemsstack.*))
>      WorkAreaBase = .;
> diff --git a/bsps/m68k/shared/start/linkcmds.base b/bsps/m68k/shared/start/linkcmds.base
> index 1daf2e1bc7..92c4a5d5c3 100644
> --- a/bsps/m68k/shared/start/linkcmds.base
> +++ b/bsps/m68k/shared/start/linkcmds.base
> @@ -249,6 +249,13 @@ SECTIONS {
>         } > REGION_DATA AT > REGION_DATA
>         bsp_section_bss_size = bsp_section_bss_end - bsp_section_bss_begin;
>
> +       .noinit (NOLOAD) : ALIGN_WITH_INPUT {
> +               bsp_section_noinit_begin = .;
> +               *(.noinit*)
> +               bsp_section_noinit_end = .;
> +       } > REGION_DATA AT > REGION_DATA
> +       bsp_section_noinit_size = bsp_section_noinit_end - bsp_section_noinit_begin;
> +
>         .rtemsstack (NOLOAD) : ALIGN_WITH_INPUT {
>                 *(SORT(.rtemsstack.*))
>         } > REGION_DATA AT > REGION_DATA
> diff --git a/bsps/m68k/uC5282/start/linkcmds b/bsps/m68k/uC5282/start/linkcmds
> index da97472f1b..6ac9de96ae 100644
> --- a/bsps/m68k/uC5282/start/linkcmds
> +++ b/bsps/m68k/uC5282/start/linkcmds
> @@ -199,6 +199,10 @@ SECTIONS
>          _clear_end = .;
>      } >ram
>
> +    .noinit (NOLOAD) : {
> +       *(.noinit*)
> +    } >ram
> +
>      .rtemsstack (NOLOAD) : {
>          *(SORT(.rtemsstack.*))
>          WorkAreaBase = .;
> diff --git a/bsps/mips/csb350/start/linkcmds b/bsps/mips/csb350/start/linkcmds
> index 874cc52d8e..56748b48fa 100644
> --- a/bsps/mips/csb350/start/linkcmds
> +++ b/bsps/mips/csb350/start/linkcmds
> @@ -192,6 +192,10 @@ SECTIONS
>      _end = .;
>    } >ram
>
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  } >ram
> +
>    .rtemsstack (NOLOAD) : {
>      *(SORT(.rtemsstack.*))
>      WorkAreaBase = .;
> diff --git a/bsps/mips/hurricane/start/linkcmds b/bsps/mips/hurricane/start/linkcmds
> index 0a7d9ded29..383c3f2cb3 100644
> --- a/bsps/mips/hurricane/start/linkcmds
> +++ b/bsps/mips/hurricane/start/linkcmds
> @@ -170,6 +170,10 @@ SECTIONS
>      _end = .;
>    }
>
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  }
> +
>    .rtemsstack (NOLOAD) : {
>      *(SORT(.rtemsstack.*))
>      WorkAreaBase = .;
> diff --git a/bsps/mips/jmr3904/start/linkcmds b/bsps/mips/jmr3904/start/linkcmds
> index f81dd1be04..2ded55b786 100644
> --- a/bsps/mips/jmr3904/start/linkcmds
> +++ b/bsps/mips/jmr3904/start/linkcmds
> @@ -167,6 +167,10 @@ SECTIONS
>      _clear_end = .;
>    }
>
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  }
> +
>    .rtemsstack (NOLOAD) : {
>      *(SORT(.rtemsstack.*))
>      WorkAreaBase = .;
> diff --git a/bsps/mips/malta/start/linkcmds b/bsps/mips/malta/start/linkcmds
> index 8002c17234..233082e691 100644
> --- a/bsps/mips/malta/start/linkcmds
> +++ b/bsps/mips/malta/start/linkcmds
> @@ -168,6 +168,10 @@ SECTIONS
>      _clear_end = .;
>    }
>
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  }
> +
>    .rtemsstack (NOLOAD) : {
>      *(SORT(.rtemsstack.*))
>      WorkAreaBase = .;
> diff --git a/bsps/mips/rbtx4925/start/linkcmds b/bsps/mips/rbtx4925/start/linkcmds
> index e78fcb57a0..2fa62a4b0c 100644
> --- a/bsps/mips/rbtx4925/start/linkcmds
> +++ b/bsps/mips/rbtx4925/start/linkcmds
> @@ -170,6 +170,10 @@ SECTIONS
>      _end = .;
>    }
>
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  }
> +
>    .rtemsstack (NOLOAD) : {
>      *(SORT(.rtemsstack.*))
>      WorkAreaBase = .;
> diff --git a/bsps/mips/rbtx4938/start/linkcmds b/bsps/mips/rbtx4938/start/linkcmds
> index fae3885dc5..f298db0513 100644
> --- a/bsps/mips/rbtx4938/start/linkcmds
> +++ b/bsps/mips/rbtx4938/start/linkcmds
> @@ -170,6 +170,10 @@ SECTIONS
>      _end = .;
>    }
>
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  }
> +
>    .rtemsstack (NOLOAD) : {
>      *(SORT(.rtemsstack.*))
>      WorkAreaBase = .;
> diff --git a/bsps/moxie/moxiesim/start/linkcmds b/bsps/moxie/moxiesim/start/linkcmds
> index eaf9d8d3a0..e49aece385 100644
> --- a/bsps/moxie/moxiesim/start/linkcmds
> +++ b/bsps/moxie/moxiesim/start/linkcmds
> @@ -230,6 +230,9 @@ SECTIONS
>    _end = .;
>    _bss_end__ = . ; __bss_end__ = . ; __end__ = . ;
>    PROVIDE (end = .);
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  }
>    .rtemsstack (NOLOAD) : {
>      *(SORT(.rtemsstack.*))
>    }
> diff --git a/bsps/nios2/nios2_iss/start/linkcmds b/bsps/nios2/nios2_iss/start/linkcmds
> index ea037ffeb9..0aed732ee2 100644
> --- a/bsps/nios2/nios2_iss/start/linkcmds
> +++ b/bsps/nios2/nios2_iss/start/linkcmds
> @@ -267,6 +267,10 @@ SECTIONS
>          __bss_end = ABSOLUTE(.);
>      } > onchip_memory_0
>
> +    .noinit (NOLOAD) : {
> +        *(.noinit*)
> +    } > onchip_memory_0
> +
>      .rtemsstack (NOLOAD) : {
>          _stack_low = ABSOLUTE(.);
>          *(SORT(.rtemsstack.*))
> diff --git a/bsps/or1k/shared/start/linkcmds.base b/bsps/or1k/shared/start/linkcmds.base
> index 0d92f6467f..c276e13cb2 100644
> --- a/bsps/or1k/shared/start/linkcmds.base
> +++ b/bsps/or1k/shared/start/linkcmds.base
> @@ -285,6 +285,13 @@ SECTIONS {
>    } > REGION_BSS AT > REGION_BSS
>    bsp_section_bss_size = bsp_section_bss_end - bsp_section_bss_begin;
>
> +  .noinit (NOLOAD) : ALIGN_WITH_INPUT {
> +    bsp_section_noinit_begin = .;
> +    *(.noinit*)
> +    bsp_section_noinit_end = .;
> +  } > REGION_BSS AT > REGION_BSS
> +  bsp_section_noinit_size = bsp_section_noinit_end - bsp_section_noinit_begin;
> +
>    .rtemsstack (NOLOAD) : ALIGN_WITH_INPUT{
>      *(SORT(.rtemsstack.*))
>    } > REGION_WORK AT > REGION_WORK
> diff --git a/bsps/powerpc/gen5200/start/linkcmds.gen5200_base b/bsps/powerpc/gen5200/start/linkcmds.gen5200_base
> index b52943bb39..bfa38939b8 100644
> --- a/bsps/powerpc/gen5200/start/linkcmds.gen5200_base
> +++ b/bsps/powerpc/gen5200/start/linkcmds.gen5200_base
> @@ -295,6 +295,10 @@ SECTIONS {
>         bsp_section_data_size = bsp_section_data_end - bsp_section_data_start;
>         bsp_section_bss_size = bsp_section_bss_end - bsp_section_bss_start;
>
> +       .noinit (NOLOAD) : {
> +               *(.noinit*)
> +       } > RAM
> +
>         .rtemsstack (NOLOAD) : {
>                 *(SORT(.rtemsstack.*))
>         } > RAM
> diff --git a/bsps/powerpc/haleakala/start/linkcmds b/bsps/powerpc/haleakala/start/linkcmds
> index 7a5236d961..dc5a198b00 100644
> --- a/bsps/powerpc/haleakala/start/linkcmds
> +++ b/bsps/powerpc/haleakala/start/linkcmds
> @@ -250,6 +250,10 @@ SECTIONS
>      bss.size = bss.end - bss.start;
>      sbss.size = sbss.end - sbss.start;
>
> +    .noinit (NOLOAD) : {
> +        *(.noinit*)
> +    } >RAM
> +
>      .rtemsstack (NOLOAD) : {
>          *(SORT(.rtemsstack.*))
>      } >RAM
> diff --git a/bsps/powerpc/include/bsp/linker-symbols.h b/bsps/powerpc/include/bsp/linker-symbols.h
> index bd605664ad..75783dc080 100644
> --- a/bsps/powerpc/include/bsp/linker-symbols.h
> +++ b/bsps/powerpc/include/bsp/linker-symbols.h
> @@ -93,6 +93,10 @@ LINKER_SYMBOL(bsp_section_rtemsstack_begin)
>  LINKER_SYMBOL(bsp_section_rtemsstack_end)
>  LINKER_SYMBOL(bsp_section_rtemsstack_size)
>
> +LINKER_SYMBOL(bsp_section_noinit_begin)
> +LINKER_SYMBOL(bsp_section_noinit_end)
> +LINKER_SYMBOL(bsp_section_noinit_size)
> +
>  LINKER_SYMBOL(bsp_section_work_begin)
>  LINKER_SYMBOL(bsp_section_work_end)
>  LINKER_SYMBOL(bsp_section_work_size)
> diff --git a/bsps/powerpc/mpc8260ads/start/linkcmds b/bsps/powerpc/mpc8260ads/start/linkcmds
> index a6b455cb8b..024fc34edc 100644
> --- a/bsps/powerpc/mpc8260ads/start/linkcmds
> +++ b/bsps/powerpc/mpc8260ads/start/linkcmds
> @@ -289,6 +289,10 @@ SECTIONS
>
>      clear_end = .;
>
> +    .noinit (NOLOAD) : {
> +        *(.noinit*)
> +    } >ram
> +
>      .rtemsstack (NOLOAD) : {
>          *(SORT(.rtemsstack.*))
>      } >ram
> diff --git a/bsps/powerpc/qoriq/start/mmu-config.c b/bsps/powerpc/qoriq/start/mmu-config.c
> index 296b071929..0f9eb0c677 100644
> --- a/bsps/powerpc/qoriq/start/mmu-config.c
> +++ b/bsps/powerpc/qoriq/start/mmu-config.c
> @@ -133,6 +133,7 @@ static entry DATA config[] = {
>         ENTRY_RW(bsp_section_sbss_begin, bsp_section_sbss_size),
>         ENTRY_RW(bsp_section_bss_begin, bsp_section_bss_size),
>         ENTRY_RW(bsp_section_rtemsstack_begin, bsp_section_rtemsstack_size),
> +       ENTRY_RW(bsp_section_noinit_begin, bsp_section_noinit_size),
>         ENTRY_RW(bsp_section_stack_begin, bsp_section_stack_size),
>         ENTRY_IO(bsp_section_nocache_begin, bsp_section_nocache_size),
>         ENTRY_IO(bsp_section_nocachenoload_begin, bsp_section_nocachenoload_size),
> diff --git a/bsps/powerpc/shared/start/linkcmds.base b/bsps/powerpc/shared/start/linkcmds.base
> index de8087497c..521d69af92 100644
> --- a/bsps/powerpc/shared/start/linkcmds.base
> +++ b/bsps/powerpc/shared/start/linkcmds.base
> @@ -343,6 +343,13 @@ SECTIONS {
>         } > REGION_RTEMSSTACK AT > REGION_RTEMSSTACK
>         bsp_section_rtemsstack_size = bsp_section_rtemsstack_end - bsp_section_rtemsstack_begin;
>
> +       .noinit (NOLOAD) : ALIGN_WITH_INPUT {
> +               bsp_section_noinit_begin = .;
> +               *(.noinit*)
> +               bsp_section_noinit_end = .;
> +       } > REGION_WORK AT > REGION_WORK
> +       bsp_section_noinit_size = bsp_section_noinit_end - bsp_section_noinit_begin;
> +
>         .work : ALIGN_WITH_INPUT {
>                 /*
>                  * The work section will occupy the remaining REGION_WORK region and
> diff --git a/bsps/powerpc/shared/start/linkcmds.share b/bsps/powerpc/shared/start/linkcmds.share
> index deefbe2186..86b02cb18e 100644
> --- a/bsps/powerpc/shared/start/linkcmds.share
> +++ b/bsps/powerpc/shared/start/linkcmds.share
> @@ -253,6 +253,9 @@ SECTIONS
>    . = ALIGN(16);
>     PROVIDE (__bss_end = .);
>    } > CODE
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  } > CODE
>    .rtemsstack (NOLOAD) : {
>      *(SORT(.rtemsstack.*))
>    } >CODE
> diff --git a/bsps/powerpc/ss555/start/linkcmds b/bsps/powerpc/ss555/start/linkcmds
> index 3cf9f91e84..18e8d34dd1 100644
> --- a/bsps/powerpc/ss555/start/linkcmds
> +++ b/bsps/powerpc/ss555/start/linkcmds
> @@ -233,6 +233,10 @@ SECTIONS
>
>    PROVIDE(_end = bss.end);
>
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  }
> +
>    .rtemsstack (NOLOAD) : {
>      *(SORT(.rtemsstack.*))
>    }
> diff --git a/bsps/powerpc/virtex4/start/linkcmds b/bsps/powerpc/virtex4/start/linkcmds
> index cb867da2e6..ff61396710 100644
> --- a/bsps/powerpc/virtex4/start/linkcmds
> +++ b/bsps/powerpc/virtex4/start/linkcmds
> @@ -252,6 +252,10 @@ SECTIONS
>    .               = ALIGN(0x10);        /* Align to a cache-line boundary */
>    PROVIDE(__bsp_ram_start = .);
>
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  } >RAM
> +
>    .rtemsstack (NOLOAD) : {
>      *(SORT(.rtemsstack.*))
>    } >RAM
> diff --git a/bsps/powerpc/virtex5/start/linkcmds b/bsps/powerpc/virtex5/start/linkcmds
> index 7443de459b..ca81d57fde 100644
> --- a/bsps/powerpc/virtex5/start/linkcmds
> +++ b/bsps/powerpc/virtex5/start/linkcmds
> @@ -252,6 +252,10 @@ SECTIONS
>    .               = ALIGN(0x20);        /* Align to a cache-line boundary */
>    PROVIDE(__bsp_ram_start = .);
>
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  } >RAM
> +
>    .rtemsstack (NOLOAD) : {
>      *(SORT(.rtemsstack.*))
>    } >RAM
> diff --git a/bsps/riscv/include/bsp/linker-symbols.h b/bsps/riscv/include/bsp/linker-symbols.h
> index f9deda00f2..87a3a9cd85 100644
> --- a/bsps/riscv/include/bsp/linker-symbols.h
> +++ b/bsps/riscv/include/bsp/linker-symbols.h
> @@ -63,6 +63,10 @@ LINKER_SYMBOL(bsp_section_rtemsstack_begin)
>  LINKER_SYMBOL(bsp_section_rtemsstack_end)
>  LINKER_SYMBOL(bsp_section_rtemsstack_size)
>
> +LINKER_SYMBOL(bsp_section_noinit_begin)
> +LINKER_SYMBOL(bsp_section_noinit_end)
> +LINKER_SYMBOL(bsp_section_noinit_size)
> +
>  LINKER_SYMBOL(bsp_section_work_begin)
>  LINKER_SYMBOL(bsp_section_work_end)
>  LINKER_SYMBOL(bsp_section_work_size)
> diff --git a/bsps/riscv/shared/start/linkcmds.base.in b/bsps/riscv/shared/start/linkcmds.base.in
> index f114bb885a..5f4294dd9a 100644
> --- a/bsps/riscv/shared/start/linkcmds.base.in
> +++ b/bsps/riscv/shared/start/linkcmds.base.in
> @@ -314,6 +314,13 @@ SECTIONS {
>         } > REGION_RTEMSSTACK AT > REGION_RTEMSSTACK
>         bsp_section_rtemsstack_size = bsp_section_rtemsstack_end - bsp_section_rtemsstack_begin;
>
> +       .noinit (NOLOAD) : @RISCV_LINKER_ALIGN_DIRECTIVE@ {
> +               bsp_section_noinit_begin = .;
> +               *(.noinit*)
> +               bsp_section_noinit_end = .;
> +       } > REGION_WORK AT > REGION_WORK
> +       bsp_section_noinit_size = bsp_section_noinit_end - bsp_section_noinit_begin;
> +
>         .work (NOLOAD) : @RISCV_LINKER_ALIGN_DIRECTIVE@ {
>                 /*
>                  * The work section will occupy the remaining REGION_WORK region and
> diff --git a/bsps/sh/gensh1/start/linkcmds b/bsps/sh/gensh1/start/linkcmds
> index dc734de8e5..fc06126941 100644
> --- a/bsps/sh/gensh1/start/linkcmds
> +++ b/bsps/sh/gensh1/start/linkcmds
> @@ -187,6 +187,10 @@ SECTIONS
>    _end = . ;
>    PROVIDE (end = .);
>
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  } > ram
> +
>    .rtemsstackidle (NOLOAD) : {
>      *(SORT(.rtemsstack.idle*))
>    } > ram
> diff --git a/bsps/sh/gensh2/start/linkcmds b/bsps/sh/gensh2/start/linkcmds
> index 5fd04dba41..bdc71bb984 100644
> --- a/bsps/sh/gensh2/start/linkcmds
> +++ b/bsps/sh/gensh2/start/linkcmds
> @@ -198,6 +198,10 @@ SECTIONS
>    _end = . ;
>    PROVIDE (end = .);
>
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  } > ram
> +
>    .rtemsstackidle (NOLOAD) : {
>      *(SORT(.rtemsstack.idle*))
>    } > ram
> diff --git a/bsps/sh/gensh2/start/linkcmds.ram b/bsps/sh/gensh2/start/linkcmds.ram
> index 4db55f03a8..ccf752a26b 100644
> --- a/bsps/sh/gensh2/start/linkcmds.ram
> +++ b/bsps/sh/gensh2/start/linkcmds.ram
> @@ -200,6 +200,10 @@ SECTIONS
>    _end = . ;
>    PROVIDE (end = .);
>
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  } > ram
> +
>    .rtemsstackidle (NOLOAD) : {
>      *(SORT(.rtemsstack.idle*))
>    } > ram
> diff --git a/bsps/sh/gensh2/start/linkcmds.rom b/bsps/sh/gensh2/start/linkcmds.rom
> index eb713244f4..6b2a760cfa 100644
> --- a/bsps/sh/gensh2/start/linkcmds.rom
> +++ b/bsps/sh/gensh2/start/linkcmds.rom
> @@ -201,6 +201,10 @@ SECTIONS
>    _end = . ;
>    PROVIDE (end = .);
>
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  } > ram
> +
>    .rtemsstackidle (NOLOAD) : {
>      *(SORT(.rtemsstack.idle*))
>    } > ram
> diff --git a/bsps/sh/gensh4/start/linkcmds b/bsps/sh/gensh4/start/linkcmds
> index 1fb69c92a5..b940aadb2b 100644
> --- a/bsps/sh/gensh4/start/linkcmds
> +++ b/bsps/sh/gensh4/start/linkcmds
> @@ -145,6 +145,10 @@ SECTIONS
>     __bss_end = .;
>    } > ram
>
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  } > ram
> +
>    .rtemsstack (NOLOAD) : {
>      *(SORT(.rtemsstack.*))
>    } > ram
> diff --git a/bsps/sh/gensh4/start/linkcmds.rom b/bsps/sh/gensh4/start/linkcmds.rom
> index 3c70e4c263..704b624f01 100644
> --- a/bsps/sh/gensh4/start/linkcmds.rom
> +++ b/bsps/sh/gensh4/start/linkcmds.rom
> @@ -188,6 +188,10 @@ SECTIONS
>     __bss_end = .;
>    } > ram
>
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  } > ram
> +
>    .rtemsstack (NOLOAD) : {
>      *(SORT(.rtemsstack.*))
>    } > ram
> diff --git a/bsps/sh/gensh4/start/linkcmds.rom2ram b/bsps/sh/gensh4/start/linkcmds.rom2ram
> index 8d7b0e2380..6785556416 100644
> --- a/bsps/sh/gensh4/start/linkcmds.rom2ram
> +++ b/bsps/sh/gensh4/start/linkcmds.rom2ram
> @@ -192,6 +192,10 @@ SECTIONS
>        *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
>      } >ram
>
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  } > ram
> +
>    .rtemsstack (NOLOAD) : {
>      *(SORT(.rtemsstack.*))
>    } > ram
> diff --git a/bsps/sh/shsim/start/linkcmds b/bsps/sh/shsim/start/linkcmds
> index 90f5d6039e..3a8d0d9d5b 100644
> --- a/bsps/sh/shsim/start/linkcmds
> +++ b/bsps/sh/shsim/start/linkcmds
> @@ -203,6 +203,10 @@ SECTIONS
>    _end = . ;
>    PROVIDE (end = .);
>
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  } > ram
> +
>    .rtemsstack (NOLOAD) : {
>      *(SORT(.rtemsstack.*))
>    } > ram
> diff --git a/bsps/sparc/shared/start/linkcmds.base b/bsps/sparc/shared/start/linkcmds.base
> index 7d5f86b23c..ed7ab38b37 100644
> --- a/bsps/sparc/shared/start/linkcmds.base
> +++ b/bsps/sparc/shared/start/linkcmds.base
> @@ -154,6 +154,9 @@ SECTIONS
>        *(.rela.rtemsroset*)
>        *(.rela.rtemsrwset*)
>      } >ram
> +  .noinit (NOLOAD) : {
> +      *(.noinit*)
> +  } > ram
>    .rtemsstack (NOLOAD) : {
>      *(SORT(.rtemsstack.*))
>    } > ram
> diff --git a/bsps/sparc64/shared/start/linkcmds b/bsps/sparc64/shared/start/linkcmds
> index aaf48b5d83..eb744b45ab 100644
> --- a/bsps/sparc64/shared/start/linkcmds
> +++ b/bsps/sparc64/shared/start/linkcmds
> @@ -179,6 +179,10 @@ SECTIONS
>      __end = .;
>    } > ram
>
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  } > ram
> +
>    .rtemsstack (NOLOAD) : {
>      *(SORT(.rtemsstack.*))
>      PROVIDE (WorkAreaBase = .);
> diff --git a/bsps/v850/gdbv850sim/start/linkcmds b/bsps/v850/gdbv850sim/start/linkcmds
> index a5339ef24d..84f5dc6690 100644
> --- a/bsps/v850/gdbv850sim/start/linkcmds
> +++ b/bsps/v850/gdbv850sim/start/linkcmds
> @@ -192,6 +192,9 @@ SECTIONS
>         *(.bss)
>         *(COMMON)
>    }
> +  .noinit (NOLOAD) : {
> +    *(.noinit*)
> +  }
>    .rtemsstack (NOLOAD) : {
>      *(SORT(.rtemsstack.*))
>    }
> diff --git a/bsps/x86_64/amd64/start/linkcmds b/bsps/x86_64/amd64/start/linkcmds
> index c60d07d6ec..ab6981e872 100644
> --- a/bsps/x86_64/amd64/start/linkcmds
> +++ b/bsps/x86_64/amd64/start/linkcmds
> @@ -10,6 +10,7 @@
>   * Changes:
>   *   - Added HeapSize, RamBase, RamSize, WorkBase
>   *   - rtemssroset section
> + *   - noinit section
>   *   - rtemsstack section
>   */
>
> @@ -231,6 +232,10 @@ SECTIONS
>    }
>    . = ALIGN(64 / 8);
>    _end = .; PROVIDE (end = .);
> +  .noinit (NOLOAD) :
> +  {
> +    *(.noinit*)
> +  }
>    .rtemsstack (NOLOAD) :
>    {
>      *(SORT(.rtemsstack.*))
> --
> 2.26.2
>
> _______________________________________________
> devel mailing list
> devel at rtems.org
> http://lists.rtems.org/mailman/listinfo/devel


More information about the devel mailing list