]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
gas: Move gas_sframe_check to binutils-common.exp
authorH.J. Lu <hjl.tools@gmail.com>
Sun, 13 Jul 2025 20:45:43 +0000 (04:45 +0800)
committerH.J. Lu <hjl.tools@gmail.com>
Sun, 13 Jul 2025 22:10:52 +0000 (06:10 +0800)
Move gas_sframe_check to binutils-common.exp so that it can be used in
linker tests to check if a target assembler supports --gsframe.

binutils/

PR ld/33146
* testsuite/lib/binutils-common.exp (gas_sframe_check): Moved
from cfi-sframe.exp.  Replace gas_host_run with remote_exec.

gas/

PR ld/33146
* testsuite/gas/cfi-sframe/cfi-sframe.exp (gas_sframe_check):
Moved to binutils-common.exp.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
binutils/testsuite/lib/binutils-common.exp
gas/testsuite/gas/cfi-sframe/cfi-sframe.exp

index 41d94d256ecd2af238b0e58af02586891a128512..d024bc55150a31001e197e03cbbeb2a9f200c8d3 100644 (file)
@@ -480,6 +480,47 @@ proc supports_dt_relr {} {
     return 0
 }
 
+# Whether a target assembler supports --gsframe.
+proc gas_sframe_check {} {
+    if { ![is_elf_format] } then {
+       return 0;
+    }
+
+    global check_as_sframe_result
+    global AS
+    global ASFLAGS
+    if [info exists check_as_sframe_result] {
+       return $check_as_sframe_result
+    }
+
+    set as_file "tmpdir/check_as_sframe.s"
+    set as_fh [open $as_file w 0666]
+    puts $as_fh "# Generated file. DO NOT EDIT"
+    puts $as_fh "\t.cfi_startproc"
+    puts $as_fh "\t.cfi_endproc"
+    close $as_fh
+    remote_download host $as_file
+    verbose -log "Checking SFrame support in AS:"
+
+    set old_ASFLAGS "$ASFLAGS"
+    set ASFLAGS "$ASFLAGS --gsframe"
+
+    global comp_output
+
+    set output_file "tmpdir/check_as_sframe.out"
+    set status [remote_exec host "$AS $ASFLAGS $as_file" "2> $output_file"]
+    set comp_output [file_contents "$output_file"]
+    set ASFLAGS "$old_ASFLAGS"
+
+    if { ![string match "" $comp_output] } then {
+       verbose -log "SFrame not supported in AS"
+       return 0
+    } else {
+       verbose -log "SFrame supported in AS"
+       return 1
+    }
+}
+
 # get_relative_path FROM TO
 #
 # Return a relative path to TO starting from FROM, which is usually
index 8a424198a88e9e8b87bbe1d5e3a8f0679f29a112..00a3ecc067ce1027721a17b9fdb88fc36f4e9a13 100644 (file)
@@ -18,43 +18,6 @@ if { ![is_elf_format] } then {
     return
 }
 
-proc gas_sframe_check { } {
-    global check_as_sframe_result
-    global AS
-    global ASFLAGS
-    if [info exists check_as_sframe_result] {
-       return $check_as_sframe_result
-    }
-
-    set as_file "tmpdir/check_as_sframe.s"
-    set as_fh [open $as_file w 0666]
-    puts $as_fh "# Generated file. DO NOT EDIT"
-    puts $as_fh "\t.cfi_startproc"
-    puts $as_fh "\t.cfi_endproc"
-    close $as_fh
-    remote_download host $as_file
-    verbose -log "Checking SFrame support in AS:"
-
-    set old_ASFLAGS "$ASFLAGS"
-    set ASFLAGS "$ASFLAGS --gsframe"
-
-    global comp_output
-
-    set output_file "tmpdir/check_as_sframe.out"
-    set status [gas_host_run "$AS $ASFLAGS $as_file" "2>$output_file"]
-    set comp_output [file_contents "$output_file"]
-    set ASFLAGS "$old_ASFLAGS"
-
-    if { ![string match "" $comp_output]
-        || [string match "*sframe not supported for target*" $comp_output] } then {
-       verbose -log "SFrame not supported in AS"
-       return 0
-    } else {
-       verbose -log "SFrame supported in AS"
-       return 1
-    }
-}
-
 proc gas_x86_64_check { } {
     global NM
     global NMFLAGS