1a85fe12eSEd Maste /*- 2a85fe12eSEd Maste * Copyright (c) 2008,2009 Kai Wang 3a85fe12eSEd Maste * All rights reserved. 4a85fe12eSEd Maste * 5a85fe12eSEd Maste * Redistribution and use in source and binary forms, with or without 6a85fe12eSEd Maste * modification, are permitted provided that the following conditions 7a85fe12eSEd Maste * are met: 8a85fe12eSEd Maste * 1. Redistributions of source code must retain the above copyright 9a85fe12eSEd Maste * notice, this list of conditions and the following disclaimer 10a85fe12eSEd Maste * in this position and unchanged. 11a85fe12eSEd Maste * 2. Redistributions in binary form must reproduce the above copyright 12a85fe12eSEd Maste * notice, this list of conditions and the following disclaimer in the 13a85fe12eSEd Maste * documentation and/or other materials provided with the distribution. 14a85fe12eSEd Maste * 15a85fe12eSEd Maste * THIS SOFTWARE IS PROVIDED BY THE AUTHOR(S) ``AS IS'' AND ANY EXPRESS OR 16a85fe12eSEd Maste * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES 17a85fe12eSEd Maste * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 18a85fe12eSEd Maste * IN NO EVENT SHALL THE AUTHOR(S) BE LIABLE FOR ANY DIRECT, INDIRECT, 19a85fe12eSEd Maste * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 20a85fe12eSEd Maste * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 21a85fe12eSEd Maste * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 22a85fe12eSEd Maste * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 23a85fe12eSEd Maste * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 24a85fe12eSEd Maste * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 25a85fe12eSEd Maste */ 26a85fe12eSEd Maste 27a85fe12eSEd Maste #include <sys/param.h> 28a85fe12eSEd Maste #include <libelf.h> 29a85fe12eSEd Maste #include <libelftc.h> 30a85fe12eSEd Maste 31a85fe12eSEd Maste #include "_libelftc.h" 32a85fe12eSEd Maste 33d003e0d7SEd Maste ELFTC_VCSID("$Id: libelftc_bfdtarget.c 3752 2019-06-28 01:12:53Z emaste $"); 34a85fe12eSEd Maste 35a85fe12eSEd Maste struct _Elftc_Bfd_Target _libelftc_targets[] = { 36a85fe12eSEd Maste 37a85fe12eSEd Maste { 38a85fe12eSEd Maste .bt_name = "binary", 39a85fe12eSEd Maste .bt_type = ETF_BINARY, 40a85fe12eSEd Maste }, 41a85fe12eSEd Maste 42a85fe12eSEd Maste { 43a85fe12eSEd Maste .bt_name = "elf32-avr", 44a85fe12eSEd Maste .bt_type = ETF_ELF, 45a85fe12eSEd Maste .bt_byteorder = ELFDATA2LSB, 46a85fe12eSEd Maste .bt_elfclass = ELFCLASS32, 47a85fe12eSEd Maste .bt_machine = EM_AVR, 48a85fe12eSEd Maste }, 49a85fe12eSEd Maste 50a85fe12eSEd Maste { 51a85fe12eSEd Maste .bt_name = "elf32-big", 52a85fe12eSEd Maste .bt_type = ETF_ELF, 53a85fe12eSEd Maste .bt_byteorder = ELFDATA2MSB, 54a85fe12eSEd Maste .bt_elfclass = ELFCLASS32, 55a85fe12eSEd Maste }, 56a85fe12eSEd Maste 57a85fe12eSEd Maste { 58a85fe12eSEd Maste .bt_name = "elf32-bigarm", 59a85fe12eSEd Maste .bt_type = ETF_ELF, 60a85fe12eSEd Maste .bt_byteorder = ELFDATA2MSB, 61a85fe12eSEd Maste .bt_elfclass = ELFCLASS32, 62a85fe12eSEd Maste .bt_machine = EM_ARM, 63a85fe12eSEd Maste }, 64a85fe12eSEd Maste 65a85fe12eSEd Maste { 66a85fe12eSEd Maste .bt_name = "elf32-bigmips", 67a85fe12eSEd Maste .bt_type = ETF_ELF, 68a85fe12eSEd Maste .bt_byteorder = ELFDATA2MSB, 69a85fe12eSEd Maste .bt_elfclass = ELFCLASS32, 70a85fe12eSEd Maste .bt_machine = EM_MIPS, 71a85fe12eSEd Maste }, 72a85fe12eSEd Maste 73a85fe12eSEd Maste { 74a85fe12eSEd Maste .bt_name = "elf32-i386", 75a85fe12eSEd Maste .bt_type = ETF_ELF, 76a85fe12eSEd Maste .bt_byteorder = ELFDATA2LSB, 77a85fe12eSEd Maste .bt_elfclass = ELFCLASS32, 78a85fe12eSEd Maste .bt_machine = EM_386, 79a85fe12eSEd Maste }, 80a85fe12eSEd Maste 81a85fe12eSEd Maste { 82a85fe12eSEd Maste .bt_name = "elf32-i386-freebsd", 83a85fe12eSEd Maste .bt_type = ETF_ELF, 84a85fe12eSEd Maste .bt_byteorder = ELFDATA2LSB, 85a85fe12eSEd Maste .bt_elfclass = ELFCLASS32, 86a85fe12eSEd Maste .bt_machine = EM_386, 87a85fe12eSEd Maste .bt_osabi = ELFOSABI_FREEBSD, 88a85fe12eSEd Maste }, 89a85fe12eSEd Maste 90a85fe12eSEd Maste { 91a85fe12eSEd Maste .bt_name = "elf32-ia64-big", 92a85fe12eSEd Maste .bt_type = ETF_ELF, 93a85fe12eSEd Maste .bt_byteorder = ELFDATA2MSB, 94a85fe12eSEd Maste .bt_elfclass = ELFCLASS32, 95a85fe12eSEd Maste .bt_machine = EM_IA_64, 96a85fe12eSEd Maste }, 97a85fe12eSEd Maste 98a85fe12eSEd Maste { 99a85fe12eSEd Maste .bt_name = "elf32-little", 100a85fe12eSEd Maste .bt_type = ETF_ELF, 101a85fe12eSEd Maste .bt_byteorder = ELFDATA2LSB, 102a85fe12eSEd Maste .bt_elfclass = ELFCLASS32, 103a85fe12eSEd Maste }, 104a85fe12eSEd Maste 105a85fe12eSEd Maste { 106a85fe12eSEd Maste .bt_name = "elf32-littlearm", 107a85fe12eSEd Maste .bt_type = ETF_ELF, 108a85fe12eSEd Maste .bt_byteorder = ELFDATA2LSB, 109a85fe12eSEd Maste .bt_elfclass = ELFCLASS32, 110a85fe12eSEd Maste .bt_machine = EM_ARM, 111a85fe12eSEd Maste }, 112a85fe12eSEd Maste 113a85fe12eSEd Maste { 114a85fe12eSEd Maste .bt_name = "elf32-littlemips", 115a85fe12eSEd Maste .bt_type = ETF_ELF, 116a85fe12eSEd Maste .bt_byteorder = ELFDATA2LSB, 117a85fe12eSEd Maste .bt_elfclass = ELFCLASS32, 118a85fe12eSEd Maste .bt_machine = EM_MIPS, 119a85fe12eSEd Maste }, 120a85fe12eSEd Maste 121a85fe12eSEd Maste { 122a85fe12eSEd Maste .bt_name = "elf32-powerpc", 123a85fe12eSEd Maste .bt_type = ETF_ELF, 124a85fe12eSEd Maste .bt_byteorder = ELFDATA2MSB, 125a85fe12eSEd Maste .bt_elfclass = ELFCLASS32, 126a85fe12eSEd Maste .bt_machine = EM_PPC, 127a85fe12eSEd Maste }, 128a85fe12eSEd Maste 129a85fe12eSEd Maste { 1309569e13dSJustin Hibbits .bt_name = "elf32-powerpc-freebsd", 1319569e13dSJustin Hibbits .bt_type = ETF_ELF, 1329569e13dSJustin Hibbits .bt_byteorder = ELFDATA2MSB, 1339569e13dSJustin Hibbits .bt_elfclass = ELFCLASS32, 1349569e13dSJustin Hibbits .bt_machine = EM_PPC, 1359569e13dSJustin Hibbits .bt_osabi = ELFOSABI_FREEBSD, 1369569e13dSJustin Hibbits }, 1379569e13dSJustin Hibbits 1389569e13dSJustin Hibbits { 139a85fe12eSEd Maste .bt_name = "elf32-powerpcle", 140a85fe12eSEd Maste .bt_type = ETF_ELF, 141a85fe12eSEd Maste .bt_byteorder = ELFDATA2LSB, 142a85fe12eSEd Maste .bt_elfclass = ELFCLASS32, 143a85fe12eSEd Maste .bt_machine = EM_PPC, 144a85fe12eSEd Maste }, 145a85fe12eSEd Maste 146a85fe12eSEd Maste { 147a85fe12eSEd Maste .bt_name = "elf32-sh", 148a85fe12eSEd Maste .bt_type = ETF_ELF, 149a85fe12eSEd Maste .bt_byteorder = ELFDATA2MSB, 150a85fe12eSEd Maste .bt_elfclass = ELFCLASS32, 151a85fe12eSEd Maste .bt_machine = EM_SH, 152a85fe12eSEd Maste }, 153a85fe12eSEd Maste 154a85fe12eSEd Maste { 155a85fe12eSEd Maste .bt_name = "elf32-shl", 156a85fe12eSEd Maste .bt_type = ETF_ELF, 157a85fe12eSEd Maste .bt_byteorder = ELFDATA2LSB, 158a85fe12eSEd Maste .bt_elfclass = ELFCLASS32, 159a85fe12eSEd Maste .bt_machine = EM_SH, 160a85fe12eSEd Maste }, 161a85fe12eSEd Maste 162a85fe12eSEd Maste { 163a85fe12eSEd Maste .bt_name = "elf32-sh-nbsd", 164a85fe12eSEd Maste .bt_type = ETF_ELF, 165a85fe12eSEd Maste .bt_byteorder = ELFDATA2MSB, 166a85fe12eSEd Maste .bt_elfclass = ELFCLASS32, 167a85fe12eSEd Maste .bt_machine = EM_SH, 168a85fe12eSEd Maste .bt_osabi = ELFOSABI_NETBSD, 169a85fe12eSEd Maste }, 170a85fe12eSEd Maste 171a85fe12eSEd Maste { 172a85fe12eSEd Maste .bt_name = "elf32-shl-nbsd", 173a85fe12eSEd Maste .bt_type = ETF_ELF, 174a85fe12eSEd Maste .bt_byteorder = ELFDATA2LSB, 175a85fe12eSEd Maste .bt_elfclass = ELFCLASS32, 176a85fe12eSEd Maste .bt_machine = EM_SH, 177a85fe12eSEd Maste .bt_osabi = ELFOSABI_NETBSD, 178a85fe12eSEd Maste }, 179a85fe12eSEd Maste 180a85fe12eSEd Maste { 181a85fe12eSEd Maste .bt_name = "elf32-shbig-linux", 182a85fe12eSEd Maste .bt_type = ETF_ELF, 183a85fe12eSEd Maste .bt_byteorder = ELFDATA2MSB, 184a85fe12eSEd Maste .bt_elfclass = ELFCLASS32, 185a85fe12eSEd Maste .bt_machine = EM_SH, 186a85fe12eSEd Maste .bt_osabi = ELFOSABI_LINUX, 187a85fe12eSEd Maste }, 188a85fe12eSEd Maste 189a85fe12eSEd Maste { 190a85fe12eSEd Maste .bt_name = "elf32-sh-linux", 191a85fe12eSEd Maste .bt_type = ETF_ELF, 192a85fe12eSEd Maste .bt_byteorder = ELFDATA2LSB, 193a85fe12eSEd Maste .bt_elfclass = ELFCLASS32, 194a85fe12eSEd Maste .bt_machine = EM_SH, 195a85fe12eSEd Maste .bt_osabi = ELFOSABI_LINUX, 196a85fe12eSEd Maste }, 197a85fe12eSEd Maste 198a85fe12eSEd Maste { 199a85fe12eSEd Maste .bt_name = "elf32-sparc", 200a85fe12eSEd Maste .bt_type = ETF_ELF, 201a85fe12eSEd Maste .bt_byteorder = ELFDATA2MSB, 202a85fe12eSEd Maste .bt_elfclass = ELFCLASS32, 203a85fe12eSEd Maste .bt_machine = EM_SPARC, 204a85fe12eSEd Maste }, 205a85fe12eSEd Maste 206a85fe12eSEd Maste { 207adb25d1eSEd Maste .bt_name = "elf32-tradbigmips", 208adb25d1eSEd Maste .bt_type = ETF_ELF, 209adb25d1eSEd Maste .bt_byteorder = ELFDATA2MSB, 210adb25d1eSEd Maste .bt_elfclass = ELFCLASS32, 211adb25d1eSEd Maste .bt_machine = EM_MIPS, 212adb25d1eSEd Maste }, 213adb25d1eSEd Maste 214adb25d1eSEd Maste { 2153ca2845dSEd Maste .bt_name = "elf32-tradlittlemips", 2163ca2845dSEd Maste .bt_type = ETF_ELF, 2173ca2845dSEd Maste .bt_byteorder = ELFDATA2LSB, 2183ca2845dSEd Maste .bt_elfclass = ELFCLASS32, 2193ca2845dSEd Maste .bt_machine = EM_MIPS, 2203ca2845dSEd Maste }, 2213ca2845dSEd Maste 2223ca2845dSEd Maste { 223a85fe12eSEd Maste .bt_name = "elf64-alpha", 224a85fe12eSEd Maste .bt_type = ETF_ELF, 225a85fe12eSEd Maste .bt_byteorder = ELFDATA2LSB, 226a85fe12eSEd Maste .bt_elfclass = ELFCLASS64, 227a85fe12eSEd Maste .bt_machine = EM_ALPHA, 228a85fe12eSEd Maste }, 229a85fe12eSEd Maste 230a85fe12eSEd Maste { 231a85fe12eSEd Maste .bt_name = "elf64-alpha-freebsd", 232a85fe12eSEd Maste .bt_type = ETF_ELF, 233a85fe12eSEd Maste .bt_byteorder = ELFDATA2LSB, 234a85fe12eSEd Maste .bt_elfclass = ELFCLASS64, 235a85fe12eSEd Maste .bt_machine = EM_ALPHA, 236a85fe12eSEd Maste .bt_osabi = ELFOSABI_FREEBSD 237a85fe12eSEd Maste }, 238a85fe12eSEd Maste 239a85fe12eSEd Maste { 240a85fe12eSEd Maste .bt_name = "elf64-big", 241a85fe12eSEd Maste .bt_type = ETF_ELF, 242a85fe12eSEd Maste .bt_byteorder = ELFDATA2MSB, 243a85fe12eSEd Maste .bt_elfclass = ELFCLASS64, 244a85fe12eSEd Maste }, 245a85fe12eSEd Maste 246a85fe12eSEd Maste { 247a85fe12eSEd Maste .bt_name = "elf64-bigmips", 248a85fe12eSEd Maste .bt_type = ETF_ELF, 249a85fe12eSEd Maste .bt_byteorder = ELFDATA2MSB, 250a85fe12eSEd Maste .bt_elfclass = ELFCLASS64, 251a85fe12eSEd Maste .bt_machine = EM_MIPS, 252a85fe12eSEd Maste }, 253a85fe12eSEd Maste 254a85fe12eSEd Maste { 255a85fe12eSEd Maste .bt_name = "elf64-ia64-big", 256a85fe12eSEd Maste .bt_type = ETF_ELF, 257a85fe12eSEd Maste .bt_byteorder = ELFDATA2MSB, 258a85fe12eSEd Maste .bt_elfclass = ELFCLASS64, 259a85fe12eSEd Maste .bt_machine = EM_IA_64, 260a85fe12eSEd Maste }, 261a85fe12eSEd Maste 262a85fe12eSEd Maste { 263a85fe12eSEd Maste .bt_name = "elf64-ia64-little", 264a85fe12eSEd Maste .bt_type = ETF_ELF, 265a85fe12eSEd Maste .bt_byteorder = ELFDATA2LSB, 266a85fe12eSEd Maste .bt_elfclass = ELFCLASS64, 267a85fe12eSEd Maste .bt_machine = EM_IA_64, 268a85fe12eSEd Maste }, 269a85fe12eSEd Maste 270a85fe12eSEd Maste { 271a85fe12eSEd Maste .bt_name = "elf64-little", 272a85fe12eSEd Maste .bt_type = ETF_ELF, 273a85fe12eSEd Maste .bt_byteorder = ELFDATA2LSB, 274a85fe12eSEd Maste .bt_elfclass = ELFCLASS64, 275a85fe12eSEd Maste }, 276a85fe12eSEd Maste 277a85fe12eSEd Maste { 278e85c2b0bSEd Maste .bt_name = "elf64-littleaarch64", 279e85c2b0bSEd Maste .bt_type = ETF_ELF, 280e85c2b0bSEd Maste .bt_byteorder = ELFDATA2LSB, 281e85c2b0bSEd Maste .bt_elfclass = ELFCLASS64, 282e85c2b0bSEd Maste .bt_machine = EM_AARCH64, 283e85c2b0bSEd Maste }, 284e85c2b0bSEd Maste 285e85c2b0bSEd Maste { 286a85fe12eSEd Maste .bt_name = "elf64-littlemips", 287a85fe12eSEd Maste .bt_type = ETF_ELF, 288a85fe12eSEd Maste .bt_byteorder = ELFDATA2LSB, 289a85fe12eSEd Maste .bt_elfclass = ELFCLASS64, 290a85fe12eSEd Maste .bt_machine = EM_MIPS, 291a85fe12eSEd Maste }, 292a85fe12eSEd Maste 293a85fe12eSEd Maste { 294a85fe12eSEd Maste .bt_name = "elf64-powerpc", 295a85fe12eSEd Maste .bt_type = ETF_ELF, 296a85fe12eSEd Maste .bt_byteorder = ELFDATA2MSB, 297a85fe12eSEd Maste .bt_elfclass = ELFCLASS64, 298a85fe12eSEd Maste .bt_machine = EM_PPC64, 299a85fe12eSEd Maste }, 300a85fe12eSEd Maste 301a85fe12eSEd Maste { 3029569e13dSJustin Hibbits .bt_name = "elf64-powerpc-freebsd", 3039569e13dSJustin Hibbits .bt_type = ETF_ELF, 3049569e13dSJustin Hibbits .bt_byteorder = ELFDATA2MSB, 3059569e13dSJustin Hibbits .bt_elfclass = ELFCLASS64, 3069569e13dSJustin Hibbits .bt_machine = EM_PPC64, 3079569e13dSJustin Hibbits .bt_osabi = ELFOSABI_FREEBSD, 3089569e13dSJustin Hibbits }, 3099569e13dSJustin Hibbits 3109569e13dSJustin Hibbits { 311a85fe12eSEd Maste .bt_name = "elf64-powerpcle", 312a85fe12eSEd Maste .bt_type = ETF_ELF, 313a85fe12eSEd Maste .bt_byteorder = ELFDATA2LSB, 314a85fe12eSEd Maste .bt_elfclass = ELFCLASS64, 315a85fe12eSEd Maste .bt_machine = EM_PPC64, 316a85fe12eSEd Maste }, 317a85fe12eSEd Maste 318a85fe12eSEd Maste { 319e16ea340SMitchell Horne .bt_name = "elf32-riscv", 320e16ea340SMitchell Horne .bt_type = ETF_ELF, 321e16ea340SMitchell Horne .bt_byteorder = ELFDATA2LSB, 322e16ea340SMitchell Horne .bt_elfclass = ELFCLASS32, 323e16ea340SMitchell Horne .bt_machine = EM_RISCV, 324e16ea340SMitchell Horne }, 325e16ea340SMitchell Horne 326e16ea340SMitchell Horne { 327e16ea340SMitchell Horne .bt_name = "elf64-riscv", 328e16ea340SMitchell Horne .bt_type = ETF_ELF, 329e16ea340SMitchell Horne .bt_byteorder = ELFDATA2LSB, 330e16ea340SMitchell Horne .bt_elfclass = ELFCLASS64, 331e16ea340SMitchell Horne .bt_machine = EM_RISCV, 332e16ea340SMitchell Horne }, 333e16ea340SMitchell Horne 334e16ea340SMitchell Horne { 335e16ea340SMitchell Horne .bt_name = "elf64-riscv-freebsd", 336e16ea340SMitchell Horne .bt_type = ETF_ELF, 337aac74b70SJoseph Koshy .bt_byteorder = ELFDATA2LSB, 338e16ea340SMitchell Horne .bt_elfclass = ELFCLASS64, 339e16ea340SMitchell Horne .bt_machine = EM_RISCV, 340e16ea340SMitchell Horne .bt_osabi = ELFOSABI_FREEBSD, 341e16ea340SMitchell Horne }, 342e16ea340SMitchell Horne 343e16ea340SMitchell Horne { 344*1ae6faf1Syu shan wei .bt_name = "elf32-loongarch", 345*1ae6faf1Syu shan wei .bt_type = ETF_ELF, 346*1ae6faf1Syu shan wei .bt_byteorder = ELFDATA2LSB, 347*1ae6faf1Syu shan wei .bt_elfclass = ELFCLASS32, 348*1ae6faf1Syu shan wei .bt_machine = EM_LOONGARCH, 349*1ae6faf1Syu shan wei }, 350*1ae6faf1Syu shan wei 351*1ae6faf1Syu shan wei { 352*1ae6faf1Syu shan wei .bt_name = "elf64-loongarch", 353*1ae6faf1Syu shan wei .bt_type = ETF_ELF, 354*1ae6faf1Syu shan wei .bt_byteorder = ELFDATA2LSB, 355*1ae6faf1Syu shan wei .bt_elfclass = ELFCLASS64, 356*1ae6faf1Syu shan wei .bt_machine = EM_LOONGARCH, 357*1ae6faf1Syu shan wei }, 358*1ae6faf1Syu shan wei 359*1ae6faf1Syu shan wei { 360*1ae6faf1Syu shan wei .bt_name = "elf64-loongarch-freebsd", 361*1ae6faf1Syu shan wei .bt_type = ETF_ELF, 362*1ae6faf1Syu shan wei .bt_byteorder = ELFDATA2LSB, 363*1ae6faf1Syu shan wei .bt_elfclass = ELFCLASS64, 364*1ae6faf1Syu shan wei .bt_machine = EM_LOONGARCH, 365*1ae6faf1Syu shan wei .bt_osabi = ELFOSABI_FREEBSD, 366*1ae6faf1Syu shan wei }, 367*1ae6faf1Syu shan wei 368*1ae6faf1Syu shan wei { 369a85fe12eSEd Maste .bt_name = "elf64-sh64", 370a85fe12eSEd Maste .bt_type = ETF_ELF, 371a85fe12eSEd Maste .bt_byteorder = ELFDATA2MSB, 372a85fe12eSEd Maste .bt_elfclass = ELFCLASS64, 373a85fe12eSEd Maste .bt_machine = EM_SH, 374a85fe12eSEd Maste }, 375a85fe12eSEd Maste 376a85fe12eSEd Maste { 377a85fe12eSEd Maste .bt_name = "elf64-sh64l", 378a85fe12eSEd Maste .bt_type = ETF_ELF, 379a85fe12eSEd Maste .bt_byteorder = ELFDATA2LSB, 380a85fe12eSEd Maste .bt_elfclass = ELFCLASS64, 381a85fe12eSEd Maste .bt_machine = EM_SH, 382a85fe12eSEd Maste }, 383a85fe12eSEd Maste 384a85fe12eSEd Maste { 385a85fe12eSEd Maste .bt_name = "elf64-sh64-nbsd", 386a85fe12eSEd Maste .bt_type = ETF_ELF, 387a85fe12eSEd Maste .bt_byteorder = ELFDATA2MSB, 388a85fe12eSEd Maste .bt_elfclass = ELFCLASS64, 389a85fe12eSEd Maste .bt_machine = EM_SH, 390a85fe12eSEd Maste .bt_osabi = ELFOSABI_NETBSD, 391a85fe12eSEd Maste }, 392a85fe12eSEd Maste 393a85fe12eSEd Maste { 394a85fe12eSEd Maste .bt_name = "elf64-sh64l-nbsd", 395a85fe12eSEd Maste .bt_type = ETF_ELF, 396a85fe12eSEd Maste .bt_byteorder = ELFDATA2LSB, 397a85fe12eSEd Maste .bt_elfclass = ELFCLASS64, 398a85fe12eSEd Maste .bt_machine = EM_SH, 399a85fe12eSEd Maste .bt_osabi = ELFOSABI_NETBSD, 400a85fe12eSEd Maste }, 401a85fe12eSEd Maste 402a85fe12eSEd Maste { 403a85fe12eSEd Maste .bt_name = "elf64-sh64big-linux", 404a85fe12eSEd Maste .bt_type = ETF_ELF, 405a85fe12eSEd Maste .bt_byteorder = ELFDATA2MSB, 406a85fe12eSEd Maste .bt_elfclass = ELFCLASS64, 407a85fe12eSEd Maste .bt_machine = EM_SH, 408a85fe12eSEd Maste .bt_osabi = ELFOSABI_LINUX, 409a85fe12eSEd Maste }, 410a85fe12eSEd Maste 411a85fe12eSEd Maste { 412a85fe12eSEd Maste .bt_name = "elf64-sh64-linux", 413a85fe12eSEd Maste .bt_type = ETF_ELF, 414a85fe12eSEd Maste .bt_byteorder = ELFDATA2LSB, 415a85fe12eSEd Maste .bt_elfclass = ELFCLASS64, 416a85fe12eSEd Maste .bt_machine = EM_SH, 417a85fe12eSEd Maste .bt_osabi = ELFOSABI_LINUX, 418a85fe12eSEd Maste }, 419a85fe12eSEd Maste 420a85fe12eSEd Maste { 421a85fe12eSEd Maste .bt_name = "elf64-sparc", 422a85fe12eSEd Maste .bt_type = ETF_ELF, 423a85fe12eSEd Maste .bt_byteorder = ELFDATA2MSB, 424a85fe12eSEd Maste .bt_elfclass = ELFCLASS64, 425a85fe12eSEd Maste .bt_machine = EM_SPARCV9, 426a85fe12eSEd Maste }, 427a85fe12eSEd Maste 428a85fe12eSEd Maste { 429a85fe12eSEd Maste .bt_name = "elf64-sparc-freebsd", 430a85fe12eSEd Maste .bt_type = ETF_ELF, 431a85fe12eSEd Maste .bt_byteorder = ELFDATA2MSB, 432a85fe12eSEd Maste .bt_elfclass = ELFCLASS64, 433a85fe12eSEd Maste .bt_machine = EM_SPARCV9, 434a85fe12eSEd Maste .bt_osabi = ELFOSABI_FREEBSD 435a85fe12eSEd Maste }, 436a85fe12eSEd Maste 437a85fe12eSEd Maste { 438adb25d1eSEd Maste .bt_name = "elf64-tradbigmips", 439adb25d1eSEd Maste .bt_type = ETF_ELF, 440adb25d1eSEd Maste .bt_byteorder = ELFDATA2MSB, 441adb25d1eSEd Maste .bt_elfclass = ELFCLASS64, 442adb25d1eSEd Maste .bt_machine = EM_MIPS, 443adb25d1eSEd Maste }, 444adb25d1eSEd Maste 445adb25d1eSEd Maste { 4463ca2845dSEd Maste .bt_name = "elf64-tradlittlemips", 4473ca2845dSEd Maste .bt_type = ETF_ELF, 4483ca2845dSEd Maste .bt_byteorder = ELFDATA2LSB, 4493ca2845dSEd Maste .bt_elfclass = ELFCLASS64, 4503ca2845dSEd Maste .bt_machine = EM_MIPS, 4513ca2845dSEd Maste }, 4523ca2845dSEd Maste 4533ca2845dSEd Maste { 454a85fe12eSEd Maste .bt_name = "elf64-x86-64", 455a85fe12eSEd Maste .bt_type = ETF_ELF, 456a85fe12eSEd Maste .bt_byteorder = ELFDATA2LSB, 457a85fe12eSEd Maste .bt_elfclass = ELFCLASS64, 458a85fe12eSEd Maste .bt_machine = EM_X86_64, 459a85fe12eSEd Maste }, 460a85fe12eSEd Maste 461a85fe12eSEd Maste { 462a85fe12eSEd Maste .bt_name = "elf64-x86-64-freebsd", 463a85fe12eSEd Maste .bt_type = ETF_ELF, 464a85fe12eSEd Maste .bt_byteorder = ELFDATA2LSB, 465a85fe12eSEd Maste .bt_elfclass = ELFCLASS64, 466a85fe12eSEd Maste .bt_machine = EM_X86_64, 467a85fe12eSEd Maste .bt_osabi = ELFOSABI_FREEBSD 468a85fe12eSEd Maste }, 469a85fe12eSEd Maste 470a85fe12eSEd Maste { 471a85fe12eSEd Maste .bt_name = "ihex", 472a85fe12eSEd Maste .bt_type = ETF_IHEX, 473a85fe12eSEd Maste }, 474a85fe12eSEd Maste 475a85fe12eSEd Maste { 476a85fe12eSEd Maste .bt_name = "srec", 477a85fe12eSEd Maste .bt_type = ETF_SREC, 478a85fe12eSEd Maste }, 479a85fe12eSEd Maste 480a85fe12eSEd Maste { 481a85fe12eSEd Maste .bt_name = "symbolsrec", 482a85fe12eSEd Maste .bt_type = ETF_SREC, 483a85fe12eSEd Maste }, 484a85fe12eSEd Maste 485a85fe12eSEd Maste { 486839529caSEd Maste .bt_name = "efi-app-ia32", 487839529caSEd Maste .bt_type = ETF_EFI, 488839529caSEd Maste .bt_machine = EM_386, 489839529caSEd Maste }, 490839529caSEd Maste 491839529caSEd Maste { 492839529caSEd Maste .bt_name = "efi-app-x86_64", 493839529caSEd Maste .bt_type = ETF_EFI, 494839529caSEd Maste .bt_machine = EM_X86_64, 495839529caSEd Maste }, 496839529caSEd Maste 497839529caSEd Maste { 498*1ae6faf1Syu shan wei .bt_name = "efi-app-loongarch64", 499*1ae6faf1Syu shan wei .bt_type = ETF_EFI, 500*1ae6faf1Syu shan wei .bt_machine = EM_LOONGARCH, 501*1ae6faf1Syu shan wei }, 502*1ae6faf1Syu shan wei 503*1ae6faf1Syu shan wei { 504839529caSEd Maste .bt_name = "pei-i386", 505839529caSEd Maste .bt_type = ETF_PE, 506839529caSEd Maste .bt_machine = EM_386, 507839529caSEd Maste }, 508839529caSEd Maste 509839529caSEd Maste { 510839529caSEd Maste .bt_name = "pei-x86-64", 511839529caSEd Maste .bt_type = ETF_PE, 512839529caSEd Maste .bt_machine = EM_X86_64, 513839529caSEd Maste }, 514839529caSEd Maste 515839529caSEd Maste { 516a85fe12eSEd Maste .bt_name = NULL, 517a85fe12eSEd Maste .bt_type = ETF_NONE, 518a85fe12eSEd Maste }, 519a85fe12eSEd Maste }; 520