ld testsuite: Sanitize output from ld
authorDimitar Dimitrov <dimitar@dinux.eu>
Fri, 30 Dec 2016 10:39:59 +0000 (12:39 +0200)
committerAlan Modra <amodra@gmail.com>
Sat, 31 Dec 2016 01:30:42 +0000 (12:00 +1030)
Leading dashes from an LD error message confuse send_log, because the
string is taken to be an option.

This patch fixes the following DejaGnu error:

  --defsym:1: undefined symbol `foo2' referenced in expression
  failed with: <--defsym:1: undefined symbol `foo2' referenced in expression>, no expected output
  ERROR: tcl error sourcing .../ld/testsuite/ld-gc/gc.exp.
  ERROR: usage: send [args] string
      while executing
  "send_log "$comp_output\n""
      (procedure "run_dump_test" line 376)

* testsuite/lib/ld-lib.exp (run_dump_test): Pass -- to send_log.

Signed-off-by: Dimitar Dimitrov <dimitar@dinux.eu>
ld/ChangeLog
ld/testsuite/lib/ld-lib.exp

index be179ed..144672e 100644 (file)
@@ -1,3 +1,7 @@
+2016-12-31  Dimitar Dimitrov  <dimitar@dinux.eu>
+
+       * testsuite/lib/ld-lib.exp (run_dump_test): Pass -- to send_log.
+
 2016-12-28  Alan Modra  <amodra@gmail.com>
 
        PR ld/20995
index a2be49b..de0848a 100644 (file)
@@ -857,7 +857,7 @@ proc run_dump_test { name {extra_options {}} } {
        remote_file build delete "ld.tmp"
 
        if { [lindex $cmdret 0] != 0 || ![string match "" $comp_output] } then {
-           send_log "$comp_output\n"
+           send_log -- "$comp_output\n"
            verbose "$comp_output" 3
 
            set exitstat "succeeded"
@@ -880,7 +880,7 @@ proc run_dump_test { name {extra_options {}} } {
 
            if { [lindex $cmdret 0] != 0 \
                  || ![string match "" $comp_output] } {
-               send_log "$comp_output\n"
+               send_log -- "$comp_output\n"
                verbose "$comp_output" 3
 
                set exitstat "succeeded"
@@ -996,7 +996,7 @@ proc run_dump_test { name {extra_options {}} } {
             } else {
                 verbose -log "$exitstat with: <$comp_output>, no expected output"
             }
-           send_log "$comp_output\n"
+           send_log -- "$comp_output\n"
            verbose "$comp_output" 3
 
            if { (($check_ld(source) == "") == ($comp_output == "")) \