[PATCH] sparc64: update linkcmds with missing sections for TLS

Gedare Bloom gedare at rtems.org
Mon Apr 6 17:19:14 UTC 2020


I checked this in. It fixes the testsuite build error reported. I
built niagara and usiii all tests.

On Mon, Apr 6, 2020 at 11:16 AM Gedare Bloom <gedare at rtems.org> wrote:
>
> Closes #3936.
> ---
>  bsps/sparc64/shared/start/linkcmds | 74 +++++++++---------------------
>  1 file changed, 22 insertions(+), 52 deletions(-)
>
> diff --git a/bsps/sparc64/shared/start/linkcmds b/bsps/sparc64/shared/start/linkcmds
> index 86a3bdcde1..aaf48b5d83 100644
> --- a/bsps/sparc64/shared/start/linkcmds
> +++ b/bsps/sparc64/shared/start/linkcmds
> @@ -36,56 +36,6 @@ SECTIONS
>    .gnu.version   : { *(.gnu.version)   }
>    .gnu.version_d   : { *(.gnu.version_d)       }
>    .gnu.version_r   : { *(.gnu.version_r)       }
> -  .rel.init      : { *(.rel.init)              }
> -  .rela.init     : { *(.rela.init)     }
> -  .rel.text      :
> -    {
> -      *(.rel.text)
> -      *(.rel.text.*)
> -      *(.rel.gnu.linkonce.t*)
> -    }
> -  .rela.text     :
> -    {
> -      *(.rela.text)
> -      *(.rela.text.*)
> -      *(.rela.gnu.linkonce.t*)
> -    }
> -  .rel.fini      : { *(.rel.fini)              }
> -  .rela.fini     : { *(.rela.fini)     }
> -  .rel.rodata    :
> -    {
> -      *(.rel.rodata)
> -      *(.rel.rodata.*)
> -      *(.rel.gnu.linkonce.r*)
> -    }
> -  .rela.rodata   :
> -    {
> -      *(.rela.rodata)
> -      *(.rela.rodata.*)
> -      *(.rela.gnu.linkonce.r*)
> -    }
> -  .rel.data      :
> -    {
> -      *(.rel.data)
> -      *(.rel.data.*)
> -      *(.rel.gnu.linkonce.d*)
> -    }
> -  .rela.data     :
> -    {
> -      *(.rela.data)
> -      *(.rela.data.*)
> -      *(.rela.gnu.linkonce.d*)
> -    }
> -  .rel.ctors     : { *(.rel.ctors)     }
> -  .rela.ctors    : { *(.rela.ctors)    }
> -  .rel.dtors     : { *(.rel.dtors)     }
> -  .rela.dtors    : { *(.rela.dtors)    }
> -  .rel.got       : { *(.rel.got)               }
> -  .rela.got      : { *(.rela.got)              }
> -  .rel.bss       : { *(.rel.bss)               }
> -  .rela.bss      : { *(.rela.bss)              }
> -  .rel.plt       : { *(.rel.plt)               }
> -  .rela.plt      : { *(.rela.plt)              }
>    /* Internal text space or external memory */
>    .text 0x4000 : AT (0x4000)
>    {
> @@ -168,8 +118,25 @@ SECTIONS
>    _TLS_BSS_size = _TLS_BSS_end - _TLS_BSS_begin;
>    _TLS_Size = _TLS_BSS_end - _TLS_Data_begin;
>    _TLS_Alignment = MAX (ALIGNOF (.tdata), ALIGNOF (.tbss));
> -
> -  .data          : AT (ADDR (.tbss) + SIZEOF (.tbss))
> +
> +  .rela.dyn : AT (ADDR (.tbss) + SIZEOF (.tbss))
> +  {
> +    *(.rela.init)
> +    *(.rela.text .rela.text.* .rela.gnu.linkonce.t.*)
> +    *(.rela.fini)
> +    *(.rela.rodata .rela.rodata.* .rela.gnu.linkonce.r.*)
> +    *(.rela.data .rela.data.* .rela.gnu.linkonce.d.*)
> +    *(.rela.tdata .rela.tdata.* .rela.gnu.linkonce.td.*)
> +    *(.rela.tbss .rela.tbss.* .rela.gnu.linkonce.tb.*)
> +    *(.rela.ctors)
> +    *(.rela.dtors)
> +    *(.rela.got)
> +    *(.rela.bss .rela.bss.* .rela.gnu.linkonce.b.*)
> +    *(.rela.rtemsroset*)
> +    *(.rela.rtemsrwset*)
> +  } > ram
> +
> +  .data          : AT (ADDR (.rela.dyn) + SIZEOF (.rela.dyn))
>    {
>       PROVIDE (__data_start = .) ;
>      data_start = . ;
> @@ -193,6 +160,9 @@ SECTIONS
>     . = ALIGN (16);
>    .dynamic       : { *(.dynamic)       } >ram
>    .jcr        : { *(.jcr)     } > ram
> +  .got           : { *(.got)           } >ram
> +  .plt           : { *(.plt)           } >ram
> +  .dynrel        : { *(.dynrel)        } >ram
>    .shbss      : { *(.shbss)  } > ram
>    .bss        :
>    {
> --
> 2.17.1
>


More information about the devel mailing list