RISC-V: Force variables to .data for code_elim.

Message ID 20181026221426.21608-1-jimw@sifive.com
State New, archived
Headers

Commit Message

Jim Wilson Oct. 26, 2018, 10:14 p.m. UTC
  RISC-V puts a global variable in .sdata by default, which causes the
add-symbol-file commands with -s .data to fail as there is no .data section.
This fixes 3 testsuite failures.

Jim

	gdb/testsuite/
	* gdb.base/code_elim.exp: For riscv, set additional_flags
	to include -msmall-data-limit=0.
---
 gdb/testsuite/gdb.base/code_elim.exp | 5 +++++
 1 file changed, 5 insertions(+)
  

Comments

Simon Marchi Nov. 5, 2018, 2:33 a.m. UTC | #1
Hi Andrew,

While scanning my inbox, I saw this was unanswered.  This looks good to me,
but you (or Palmer) should probably approve.

Simon

On 2018-10-26 6:14 p.m., Jim Wilson wrote:
> RISC-V puts a global variable in .sdata by default, which causes the
> add-symbol-file commands with -s .data to fail as there is no .data section.
> This fixes 3 testsuite failures.
> 
> Jim
> 
> 	gdb/testsuite/
> 	* gdb.base/code_elim.exp: For riscv, set additional_flags
> 	to include -msmall-data-limit=0.
> ---
>  gdb/testsuite/gdb.base/code_elim.exp | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/gdb/testsuite/gdb.base/code_elim.exp b/gdb/testsuite/gdb.base/code_elim.exp
> index 962df4d773..1c76827754 100644
> --- a/gdb/testsuite/gdb.base/code_elim.exp
> +++ b/gdb/testsuite/gdb.base/code_elim.exp
> @@ -28,6 +28,11 @@ lappend opts "additional_flags=-fdata-sections"
>  lappend opts "additional_flags=-Wl,-gc-sections"
>  lappend opts "additional_flags=-Wl,-e,main"
>  
> +# Place variables in .data instead of .sdata.
> +if {[istarget "riscv*-*-*"]} {
> +   lappend opts "additional_flags=-msmall-data-limit=0"
> +}
> +
>  remote_exec build "rm -f ${binfile1}"
>  remote_exec build "rm -f ${binfile2}"
>  
>
  
Andrew Burgess Nov. 6, 2018, 9:49 a.m. UTC | #2
* Jim Wilson <jimw@sifive.com> [2018-10-26 15:14:26 -0700]:

> RISC-V puts a global variable in .sdata by default, which causes the
> add-symbol-file commands with -s .data to fail as there is no .data section.
> This fixes 3 testsuite failures.
> 
> Jim
> 
> 	gdb/testsuite/
> 	* gdb.base/code_elim.exp: For riscv, set additional_flags
> 	to include -msmall-data-limit=0.

This is fine with me.  Sorry for not reviewing this earlier.

Thanks,
Andrew



> ---
>  gdb/testsuite/gdb.base/code_elim.exp | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/gdb/testsuite/gdb.base/code_elim.exp b/gdb/testsuite/gdb.base/code_elim.exp
> index 962df4d773..1c76827754 100644
> --- a/gdb/testsuite/gdb.base/code_elim.exp
> +++ b/gdb/testsuite/gdb.base/code_elim.exp
> @@ -28,6 +28,11 @@ lappend opts "additional_flags=-fdata-sections"
>  lappend opts "additional_flags=-Wl,-gc-sections"
>  lappend opts "additional_flags=-Wl,-e,main"
>  
> +# Place variables in .data instead of .sdata.
> +if {[istarget "riscv*-*-*"]} {
> +   lappend opts "additional_flags=-msmall-data-limit=0"
> +}
> +
>  remote_exec build "rm -f ${binfile1}"
>  remote_exec build "rm -f ${binfile2}"
>  
> -- 
> 2.17.1
>
  
Jim Wilson Nov. 6, 2018, 7:10 p.m. UTC | #3
On Tue, Nov 6, 2018 at 1:49 AM Andrew Burgess
<andrew.burgess@embecosm.com> wrote:
> >       gdb/testsuite/
> >       * gdb.base/code_elim.exp: For riscv, set additional_flags
> >       to include -msmall-data-limit=0.
>
> This is fine with me.  Sorry for not reviewing this earlier.
>
> Thanks,
> Andrew

Committed and pushed.

Jim
  

Patch

diff --git a/gdb/testsuite/gdb.base/code_elim.exp b/gdb/testsuite/gdb.base/code_elim.exp
index 962df4d773..1c76827754 100644
--- a/gdb/testsuite/gdb.base/code_elim.exp
+++ b/gdb/testsuite/gdb.base/code_elim.exp
@@ -28,6 +28,11 @@  lappend opts "additional_flags=-fdata-sections"
 lappend opts "additional_flags=-Wl,-gc-sections"
 lappend opts "additional_flags=-Wl,-e,main"
 
+# Place variables in .data instead of .sdata.
+if {[istarget "riscv*-*-*"]} {
+   lappend opts "additional_flags=-msmall-data-limit=0"
+}
+
 remote_exec build "rm -f ${binfile1}"
 remote_exec build "rm -f ${binfile2}"