--- /dev/null
+# Test for archive handling, CRIS format switching.
+# Copyright (C) 2025 Free Software Foundation, Inc.
+#
+# This file is part of the GNU Binutils.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; see the file COPYING3. If not,
+# see <http://www.gnu.org/licenses/>.
+#
+
+if [istarget cris-*-*aout*] {
+ set asemul "--emulation=criself"
+ set aremul "--target=elf32-us-cris"
+ set ldemul "-m criself"
+} elseif { [istarget cris-*-linux*] || [istarget crisv32-*-linux*] } {
+ return
+} elseif { [istarget cris-*-*] || [istarget crisv32-*-*] } {
+ set asemul "--emulation=crisaout"
+ set aremul "--target=a.out-cris"
+ set ldemul "-m crisaout"
+} else {
+ return
+}
+
+remote_file host delete \
+ "tmpdir/ab.a" "tmpdir/abt.a" "tmpdir/abn.a" "tmpdir/abnt.a"
+
+run_ld_link_tests [list \
+ [list "CRIS regular archive create (explicit emulation)" \
+ "$aremul" "" \
+ "$asemul" {../ld-archive/a.s ../ld-archive/b.s ../ld-archive/x.s} \
+ {} \
+ "ab.a"] \
+ [list "CRIS thin archive create (explicit emulation)" \
+ "$aremul T" "" \
+ "$asemul" {../ld-archive/a.s ../ld-archive/b.s ../ld-archive/x.s} \
+ {} \
+ "abt.a"] \
+ [list "CRIS regular archive w/o index create (explicit emulation)" \
+ "$aremul S" "" \
+ "$asemul" {../ld-archive/a.s ../ld-archive/b.s ../ld-archive/x.s} \
+ {} \
+ "abn.a"] \
+ [list "CRIS thin archive w/o index create (explicit emulation)" \
+ "$aremul ST" "" \
+ "$asemul" {../ld-archive/a.s ../ld-archive/b.s ../ld-archive/x.s} \
+ {} \
+ "abnt.a"] \
+]
+
+# Single archive tests.
+run_ld_link_tests [list \
+ [list "CRIS regular archive link (explicit emulation)" \
+ "$ldemul -e ff" "tmpdir/ab.a --verbose --print-map" \
+ "$asemul" {../ld-archive/abc.s} \
+ {{ld ../ld-archive/abc.vd} \
+ {nm "" ../ld-archive/abc.nd} \
+ {nm "" ../ld-archive/nx.nd}} \
+ "abcx" \
+ ] \
+]
+if { ![istarget cris-*-*aout*] } {
+ setup_xfail "binutils/33485" "*-*-*"
+}
+run_ld_link_tests [list \
+ [list "CRIS thin archive link (explicit emulation)" \
+ "$ldemul -e ff" "tmpdir/abt.a --verbose --print-map" \
+ "$asemul" {../ld-archive/abc.s} \
+ {{ld ../ld-archive/abtc.vd} \
+ {nm "" ../ld-archive/abc.nd} \
+ {nm "" ../ld-archive/nx.nd}} \
+ "abtcx" \
+ ] \
+]