Taken from devel/gas, to be safe.

arm-*-openbsd* was removed in 2.31 (because it is mistakenly using a.out)
so add it back correctly.

Index: bfd/config.bfd
--- bfd/config.bfd.orig
+++ bfd/config.bfd
@@ -92,7 +92,6 @@ case $targ in
  arm*-*-aout | \
  arm-*-coff | \
  arm*-*-netbsdaout* | \
- arm-*-openbsd* | \
  arm-*-oabi | \
  arm-*-riscix* | \
  arm*-*-symbianelf* | \
@@ -262,6 +261,11 @@ case "${targ}" in
     targ_selvecs="aarch64_elf64_be_vec arm_elf32_le_vec arm_elf32_be_vec"
     want64=true
     ;;
+  aarch64-*-openbsd*)
+    targ_defvec=aarch64_elf64_le_vec
+    targ_selvecs="aarch64_elf64_be_vec arm_elf32_le_vec arm_elf32_be_vec"
+    want64=true
+    ;;
   aarch64-*-fuchsia*)
     targ_defvec=aarch64_elf64_le_vec
     targ_selvecs="aarch64_elf64_be_vec arm_elf32_le_vec arm_elf32_be_vec"
@@ -381,6 +385,10 @@ case "${targ}" in
     targ_defvec=arm_elf32_le_vec
     targ_selvecs="arm_elf32_be_vec"
     ;;
+  arm-*-openbsd*)
+    targ_defvec=arm_elf32_le_vec
+    targ_selvecs="arm_elf32_be_vec"
+    ;;
   arm-*-nto* | nto*arm*)
     targ_defvec=arm_elf32_le_vec
     targ_selvecs=arm_elf32_be_vec
@@ -696,7 +704,7 @@ case "${targ}" in
     targ_selvecs="i386_elf32_vec"
     want64=true
     ;;
-  x86_64-*-netbsd* | x86_64-*-openbsd*)
+  x86_64-*-netbsd* | x86_64-*-openbsd* | amd64-*-openbsd*)
     targ_defvec=x86_64_elf64_vec
     targ_selvecs="i386_elf32_vec iamcu_elf32_vec i386_coff_vec i386_pei_vec x86_64_pe_vec x86_64_pei_vec l1om_elf64_vec k1om_elf64_vec"
     want64=true
