diff --git a/ld/config/.Sanitize b/ld/config/.Sanitize
index 47ae500998..f9b7e8959f 100644
--- a/ld/config/.Sanitize
+++ b/ld/config/.Sanitize
@@ -15,6 +15,14 @@
 
 Do-first:
 
+arc_files="arc-elf.mt"
+
+if ( echo $* | grep keep\-arc > /dev/null ) ; then
+	keep_these_too="${arc_files} ${keep_these_too}"
+else
+	lose_these_too="${arc_files} ${lose_these_too}"
+fi
+
 rce_files="rce-aout.mt"
 
 if ( echo $* | grep keep\-rce > /dev/null ) ; then
diff --git a/ld/config/arc-elf.mt b/ld/config/arc-elf.mt
new file mode 100644
index 0000000000..474217de70
--- /dev/null
+++ b/ld/config/arc-elf.mt
@@ -0,0 +1 @@
+EMUL=arcelf
diff --git a/ld/emulparams/.Sanitize b/ld/emulparams/.Sanitize
index fb1c82a598..388c8befb7 100644
--- a/ld/emulparams/.Sanitize
+++ b/ld/emulparams/.Sanitize
@@ -15,6 +15,14 @@
 
 Do-first:
 
+arc_files="arcelf.sh"
+
+if ( echo $* | grep keep\-arc > /dev/null ) ; then
+	keep_these_too="${arc_files} ${keep_these_too}"
+else
+	lose_these_too="${arc_files} ${lose_these_too}"
+fi
+
 rce_files="rce.sh"
 
 if ( echo $* | grep keep\-rce > /dev/null ) ; then