LCOV - code coverage report
Current view: top level - libdwelf - dwelf_elf_e_machine_string.c (source / functions) Hit Total Coverage
Test: elfutils-0.191 Lines: 356 358 99.4 %
Date: 2024-04-17 19:42:11 Functions: 1 1 100.0 %
Legend: Lines: hit not hit | Branches: + taken - not taken # not executed Branches: 180 181 99.4 %

           Branch data     Line data    Source code
       1                 :            : /* Returns a human readable description of an ELF header e_machine value.
       2                 :            :    Copyright (C) 2019 Red Hat, Inc.
       3                 :            :    This file is part of elfutils.
       4                 :            : 
       5                 :            :    This file is free software; you can redistribute it and/or modify
       6                 :            :    it under the terms of either
       7                 :            : 
       8                 :            :      * the GNU Lesser General Public License as published by the Free
       9                 :            :        Software Foundation; either version 3 of the License, or (at
      10                 :            :        your option) any later version
      11                 :            : 
      12                 :            :    or
      13                 :            : 
      14                 :            :      * the GNU General Public License as published by the Free
      15                 :            :        Software Foundation; either version 2 of the License, or (at
      16                 :            :        your option) any later version
      17                 :            : 
      18                 :            :    or both in parallel, as here.
      19                 :            : 
      20                 :            :    elfutils is distributed in the hope that it will be useful, but
      21                 :            :    WITHOUT ANY WARRANTY; without even the implied warranty of
      22                 :            :    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      23                 :            :    General Public License for more details.
      24                 :            : 
      25                 :            :    You should have received copies of the GNU General Public License and
      26                 :            :    the GNU Lesser General Public License along with this program.  If
      27                 :            :    not, see <http://www.gnu.org/licenses/>.  */
      28                 :            : 
      29                 :            : #ifdef HAVE_CONFIG_H
      30                 :            : # include <config.h>
      31                 :            : #endif
      32                 :            : 
      33                 :            : #include "libdwelf.h"
      34                 :            : 
      35                 :            : 
      36                 :            : const char *
      37                 :        592 : dwelf_elf_e_machine_string (int machine)
      38                 :            : {
      39   [ +  +  +  +  :        592 :   switch (machine)
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
          +  +  +  +  +  
                   -  + ]
      40                 :            :     {
      41                 :            :     case EM_NONE:
      42                 :            :       return "None";
      43                 :          2 :     case EM_M32:
      44                 :          2 :       return "WE32100";
      45                 :          2 :     case EM_SPARC:
      46                 :          2 :       return "SPARC";
      47                 :         40 :     case EM_386:
      48                 :         40 :       return "Intel 80386";
      49                 :          2 :     case EM_68K:
      50                 :          2 :       return "M68K";
      51                 :          2 :     case EM_88K:
      52                 :          2 :       return "M88K";
      53                 :          2 :     case EM_IAMCU:
      54                 :          2 :       return "Intel MCU";
      55                 :          2 :     case EM_860:
      56                 :          2 :       return "Intel 80860";
      57                 :            :     case EM_MIPS:
      58                 :            :       return "MIPS R3000";
      59                 :          2 :     case EM_S370:
      60                 :          2 :       return "IBM System/370";
      61                 :            :     case EM_MIPS_RS3_LE:
      62                 :            :       return "MIPS R3000";
      63                 :          2 :     case EM_PARISC:
      64                 :          2 :       return "HPPA";
      65                 :          2 :     case EM_VPP500:
      66                 :          2 :       return "Fujitsu VPP500";
      67                 :          2 :     case EM_SPARC32PLUS:
      68                 :          2 :       return "SPARC v8+";
      69                 :          2 :     case EM_960:
      70                 :          2 :       return "Intel 80960";
      71                 :          2 :     case EM_PPC:
      72                 :          2 :       return "PowerPC";
      73                 :          2 :     case EM_PPC64:
      74                 :          2 :       return "PowerPC64";
      75                 :          2 :     case EM_S390:
      76                 :          2 :       return "IBM S/390";
      77                 :          2 :     case EM_SPU:
      78                 :          2 :       return "IBM SPU/SPC";
      79                 :          2 :     case EM_V800:
      80                 :          2 :       return "NEC V800";
      81                 :          2 :     case EM_FR20:
      82                 :          2 :       return "Fujitsu FR20";
      83                 :          2 :     case EM_RH32:
      84                 :          2 :       return "TRW RH-32";
      85                 :          2 :     case EM_RCE:
      86                 :          2 :       return "Motorola RCE";
      87                 :          4 :     case EM_ARM:
      88                 :          4 :       return "ARM";
      89                 :          2 :     case EM_FAKE_ALPHA:
      90                 :          2 :       return "Digital Alpha";
      91                 :          2 :     case EM_SH:
      92                 :          2 :       return "SH";
      93                 :          2 :     case EM_SPARCV9:
      94                 :          2 :       return "SPARC v9";
      95                 :          2 :     case EM_TRICORE:
      96                 :          2 :       return "Siemens Tricore";
      97                 :          2 :     case EM_ARC:
      98                 :          2 :       return "ARC";
      99                 :          2 :     case EM_H8_300:
     100                 :          2 :       return "H8/300";
     101                 :          2 :     case EM_H8_300H:
     102                 :          2 :       return "H8/300H";
     103                 :          2 :     case EM_H8S:
     104                 :          2 :       return "H8S";
     105                 :          2 :     case EM_H8_500:
     106                 :          2 :       return "H8/500";
     107                 :          2 :     case EM_IA_64:
     108                 :          2 :       return "Intel IA-64";
     109                 :          2 :     case EM_MIPS_X:
     110                 :          2 :       return "Stanford MIPS-X";
     111                 :          2 :     case EM_COLDFIRE:
     112                 :          2 :       return "Motorola Coldfire";
     113                 :          2 :     case EM_68HC12:
     114                 :          2 :       return "Motorola M68HC12";
     115                 :          2 :     case EM_MMA:
     116                 :          2 :       return "Fujitsu MMA Multimedia Accelerator";
     117                 :          2 :     case EM_PCP:
     118                 :          2 :       return "Siemens PCP";
     119                 :          2 :     case EM_NCPU:
     120                 :          2 :       return "Sony nCPU embedded RISC";
     121                 :          2 :     case EM_NDR1:
     122                 :          2 :       return "Denso NDR1 microprocessor";
     123                 :          2 :     case EM_STARCORE:
     124                 :          2 :       return "Motorola Star*Core processor";
     125                 :          2 :     case EM_ME16:
     126                 :          2 :       return "Toyota ME16 processor";
     127                 :          2 :     case EM_ST100:
     128                 :          2 :       return "STMicroelectronic ST100";
     129                 :          2 :     case EM_TINYJ:
     130                 :          2 :       return "Advanced Logic Corporation Tinyj";
     131                 :        188 :     case EM_X86_64:
     132                 :        188 :       return "AMD x86-64";
     133                 :          2 :     case EM_PDSP:
     134                 :          2 :       return "Sony DSP Processor";
     135                 :          2 :     case EM_PDP10:
     136                 :          2 :       return "Digital PDP-10";
     137                 :          2 :     case EM_PDP11:
     138                 :          2 :       return "Digital PDP-11";
     139                 :          2 :     case EM_FX66:
     140                 :          2 :       return "Siemens FX66 microcontroller";
     141                 :          2 :     case EM_ST9PLUS:
     142                 :          2 :       return "STMicroelectronics ST9+";
     143                 :          2 :     case EM_ST7:
     144                 :          2 :       return "STMicroelectronics ST7";
     145                 :          2 :     case EM_68HC16:
     146                 :          2 :       return "Motorola MC68HC16 microcontroller";
     147                 :          2 :     case EM_68HC11:
     148                 :          2 :       return "Motorola MC68HC11 microcontroller";
     149                 :          2 :     case EM_68HC08:
     150                 :          2 :       return "Motorola MC68HC08 microcontroller";
     151                 :          2 :     case EM_68HC05:
     152                 :          2 :       return "Motorola MC68HC05 microcontroller";
     153                 :          2 :     case EM_SVX:
     154                 :          2 :       return "Silicon Graphics SVx";
     155                 :          2 :     case EM_ST19:
     156                 :          2 :       return "STMicroelectronics ST19";
     157                 :          2 :     case EM_VAX:
     158                 :          2 :       return "Digital VAX";
     159                 :          2 :     case EM_CRIS:
     160                 :          2 :       return "Axis Communications 32-bit embedded processor";
     161                 :          2 :     case EM_JAVELIN:
     162                 :          2 :       return "Infineon Technologies 32-bit embedded processor";
     163                 :          2 :     case EM_FIREPATH:
     164                 :          2 :       return "Element 14 64-bit DSP Processor";
     165                 :          2 :     case EM_ZSP:
     166                 :          2 :       return "LSI Logic 16-bit DSP Processor";
     167                 :          2 :     case EM_MMIX:
     168                 :          2 :       return "Donald Knuth's educational 64-bit processor";
     169                 :          2 :     case EM_HUANY:
     170                 :          2 :       return "Harvard University machine-independent object";
     171                 :          2 :     case EM_PRISM:
     172                 :          2 :       return "SiTera Prism";
     173                 :          2 :     case EM_AVR:
     174                 :          2 :       return "Atmel AVR 8-bit microcontroller";
     175                 :          2 :     case EM_FR30:
     176                 :          2 :       return "Fujitsu FR30";
     177                 :          2 :     case EM_D10V:
     178                 :          2 :       return "Mitsubishi D10V";
     179                 :          2 :     case EM_D30V:
     180                 :          2 :       return "Mitsubishi D30V";
     181                 :          2 :     case EM_V850:
     182                 :          2 :       return "NEC v850";
     183                 :          2 :     case EM_M32R:
     184                 :          2 :       return "Mitsubishi M32R";
     185                 :          2 :     case EM_MN10300:
     186                 :          2 :       return "Matsushita MN10300";
     187                 :          2 :     case EM_MN10200:
     188                 :          2 :       return "Matsushita MN10200";
     189                 :          2 :     case EM_PJ:
     190                 :          2 :       return "picoJava";
     191                 :          2 :     case EM_OPENRISC:
     192                 :          2 :       return "OpenRISC";
     193                 :          4 :     case EM_ARC_COMPACT:
     194                 :          4 :       return "ARC International ARCompact";
     195                 :          2 :     case EM_XTENSA:
     196                 :          2 :       return "Tensilica Xtensa Architecture";
     197                 :          2 :     case EM_VIDEOCORE:
     198                 :          2 :       return "Alphamosaic VideoCore";
     199                 :          2 :     case EM_TMM_GPP:
     200                 :          2 :       return "Thompson Multimedia General Purpose Processor";
     201                 :          2 :     case EM_NS32K:
     202                 :          2 :       return "National Semiconductor 32000";
     203                 :          2 :     case EM_TPC:
     204                 :          2 :       return "Tenor Network TPC";
     205                 :          2 :     case EM_SNP1K:
     206                 :          2 :       return "Trebia SNP 1000";
     207                 :          2 :     case EM_ST200:
     208                 :          2 :       return "STMicroelectronics ST200";
     209                 :          2 :     case EM_IP2K:
     210                 :          2 :       return "Ubicom IP2xxx";
     211                 :          2 :     case EM_MAX:
     212                 :          2 :       return "MAX processor";
     213                 :            :     case EM_CR:
     214                 :            :       return "National Semiconductor CompactRISC";
     215                 :          2 :     case EM_F2MC16:
     216                 :          2 :       return "Fujitsu F2MC16";
     217                 :          2 :     case EM_MSP430:
     218                 :          2 :       return "Texas Instruments msp430";
     219                 :          2 :     case EM_BLACKFIN:
     220                 :          2 :       return "Analog Devices Blackfin DSP";
     221                 :          2 :     case EM_SE_C33:
     222                 :          2 :       return "Seiko Epson S1C33";
     223                 :          2 :     case EM_SEP:
     224                 :          2 :       return "Sharp embedded microprocessor";
     225                 :          2 :     case EM_ARCA:
     226                 :          2 :       return "Arca RISC";
     227                 :          2 :     case EM_UNICORE:
     228                 :          2 :       return "Unicore";
     229                 :          2 :     case EM_EXCESS:
     230                 :          2 :       return "eXcess configurable CPU";
     231                 :          2 :     case EM_DXP:
     232                 :          2 :       return "Icera Semiconductor Deep Execution Processor";
     233                 :          2 :     case EM_ALTERA_NIOS2:
     234                 :          2 :       return "Altera Nios II";
     235                 :          2 :     case EM_CRX:
     236                 :          2 :       return "National Semiconductor CompactRISC CRX";
     237                 :          2 :     case EM_XGATE:
     238                 :          2 :       return "Motorola XGATE";
     239                 :          2 :     case EM_C166:
     240                 :          2 :       return "Infineon C16x/XC16x";
     241                 :          2 :     case EM_M16C:
     242                 :          2 :       return "Renesas M16C";
     243                 :          2 :     case EM_DSPIC30F:
     244                 :          2 :       return "Microchip Technology dsPIC30F";
     245                 :          2 :     case EM_CE:
     246                 :          2 :       return "Freescale Communication Engine RISC";
     247                 :          2 :     case EM_M32C:
     248                 :          2 :       return "Renesas M32C";
     249                 :          2 :     case EM_TSK3000:
     250                 :          2 :       return "Altium TSK3000";
     251                 :          2 :     case EM_RS08:
     252                 :          2 :       return "Freescale RS08";
     253                 :          2 :     case EM_SHARC:
     254                 :          2 :       return "Analog Devices SHARC";
     255                 :          2 :     case EM_ECOG2:
     256                 :          2 :       return "Cyan Technology eCOG2";
     257                 :          2 :     case EM_SCORE7:
     258                 :          2 :       return "Sunplus S+core7 RISC";
     259                 :          2 :     case EM_DSP24:
     260                 :          2 :       return "New Japan Radio (NJR) 24-bit DSP";
     261                 :          2 :     case EM_VIDEOCORE3:
     262                 :          2 :       return "Broadcom VideoCore III";
     263                 :          2 :     case EM_LATTICEMICO32:
     264                 :          2 :       return "RISC for Lattice FPGA";
     265                 :          2 :     case EM_SE_C17:
     266                 :          2 :       return "Seiko Epson C17";
     267                 :          2 :     case EM_TI_C6000:
     268                 :          2 :       return "Texas Instruments TMS320C6000 DSP";
     269                 :          2 :     case EM_TI_C2000:
     270                 :          2 :       return "Texas Instruments TMS320C2000 DSP";
     271                 :          2 :     case EM_TI_C5500:
     272                 :          2 :       return "Texas Instruments TMS320C55x DSP";
     273                 :          2 :     case EM_TI_ARP32:
     274                 :          2 :       return "Texas Instruments Application Specific RISC";
     275                 :          2 :     case EM_TI_PRU:
     276                 :          2 :       return "Texas Instruments Programmable Realtime Unit";
     277                 :          2 :     case EM_MMDSP_PLUS:
     278                 :          2 :       return "STMicroelectronics 64bit VLIW DSP";
     279                 :          2 :     case EM_CYPRESS_M8C:
     280                 :          2 :       return "Cypress M8C";
     281                 :          2 :     case EM_R32C:
     282                 :          2 :       return "Renesas R32C";
     283                 :          2 :     case EM_TRIMEDIA:
     284                 :          2 :       return "NXP Semiconductors TriMedia";
     285                 :          2 :     case EM_QDSP6:
     286                 :          2 :       return "QUALCOMM DSP6";
     287                 :          2 :     case EM_8051:
     288                 :          2 :       return "Intel 8051 and variants";
     289                 :          2 :     case EM_STXP7X:
     290                 :          2 :       return "STMicroelectronics STxP7x";
     291                 :          2 :     case EM_NDS32:
     292                 :          2 :       return "Andes Technology compact code size embedded RISC";
     293                 :          2 :     case EM_ECOG1X:
     294                 :          2 :       return "Cyan Technology eCOG1X";
     295                 :          2 :     case EM_MAXQ30:
     296                 :          2 :       return "Dallas Semiconductor MAXQ30";
     297                 :          2 :     case EM_XIMO16:
     298                 :          2 :       return "New Japan Radio (NJR) 16-bit DSP";
     299                 :          2 :     case EM_MANIK:
     300                 :          2 :       return "M2000 Reconfigurable RISC";
     301                 :          2 :     case EM_CRAYNV2:
     302                 :          2 :       return "Cray NV2 vector architecture";
     303                 :          2 :     case EM_RX:
     304                 :          2 :       return "Renesas RX";
     305                 :          2 :     case EM_METAG:
     306                 :          2 :       return "Imagination Technologies META";
     307                 :          2 :     case EM_MCST_ELBRUS:
     308                 :          2 :       return "MCST Elbrus";
     309                 :          2 :     case EM_ECOG16:
     310                 :          2 :       return "Cyan Technology eCOG16";
     311                 :            :     case EM_CR16:
     312                 :            :       return "National Semiconductor CompactRISC";
     313                 :          2 :     case EM_ETPU:
     314                 :          2 :       return "Freescale Extended Time Processing Unit";
     315                 :          2 :     case EM_SLE9X:
     316                 :          2 :       return "Infineon Technologies SLE9X";
     317                 :          2 :     case EM_L10M:
     318                 :          2 :       return "Intel L10M";
     319                 :          2 :     case EM_K10M:
     320                 :          2 :       return "Intel K10M";
     321                 :          2 :     case EM_AARCH64:
     322                 :          2 :       return "AARCH64";
     323                 :          2 :     case EM_AVR32:
     324                 :          2 :       return "Amtel AVR32";
     325                 :          2 :     case EM_STM8:
     326                 :          2 :       return "STMicroelectronics STM8";
     327                 :          2 :     case EM_TILE64:
     328                 :          2 :       return "Tilera TILE64";
     329                 :          2 :     case EM_TILEPRO:
     330                 :          2 :       return "Tilera TILEPro";
     331                 :          2 :     case EM_MICROBLAZE:
     332                 :          2 :       return "Xilinx MicroBlaze";
     333                 :          2 :     case EM_CUDA:
     334                 :          2 :       return "NVIDIA CUDA";
     335                 :          2 :     case EM_TILEGX:
     336                 :          2 :       return "Tilera TILE-Gx";
     337                 :          2 :     case EM_CLOUDSHIELD:
     338                 :          2 :       return "CloudShield";
     339                 :          2 :     case EM_COREA_1ST:
     340                 :          2 :       return "KIPO-KAIST Core-A 1st gen";
     341                 :          2 :     case EM_COREA_2ND:
     342                 :          2 :       return "KIPO-KAIST Core-A 2nd gen";
     343                 :          2 :     case EM_ARCV2:
     344                 :          2 :       return "Synopsys ARCv2 ISA";
     345                 :          2 :     case EM_OPEN8:
     346                 :          2 :       return "Open8 RISC";
     347                 :          2 :     case EM_RL78:
     348                 :          2 :       return "Renesas RL78";
     349                 :          2 :     case EM_VIDEOCORE5:
     350                 :          2 :       return "Broadcom VideoCore V";
     351                 :          2 :     case EM_78KOR:
     352                 :          2 :       return "Renesas 78KOR";
     353                 :          2 :     case EM_56800EX:
     354                 :          2 :       return "Freescale 56800EX DSC";
     355                 :          2 :     case EM_BA1:
     356                 :          2 :       return "Beyond BA1";
     357                 :          2 :     case EM_BA2:
     358                 :          2 :       return "Beyond BA2";
     359                 :          2 :     case EM_XCORE:
     360                 :          2 :       return "XMOS xCORE";
     361                 :          2 :     case EM_MCHP_PIC:
     362                 :          2 :       return "Microchip 8-bit PIC";
     363                 :          2 :     case EM_INTELGT:
     364                 :          2 :       return "Intel Graphics Technology";
     365                 :          2 :     case EM_KM32:
     366                 :          2 :       return "KM211 KM32";
     367                 :          2 :     case EM_KMX32:
     368                 :          2 :       return "KM211 KMX32";
     369                 :          2 :     case EM_EMX16:
     370                 :          2 :       return "KM211 KMX16";
     371                 :          2 :     case EM_EMX8:
     372                 :          2 :       return "KM211 KMX8";
     373                 :          2 :     case EM_KVARC:
     374                 :          2 :       return "KM211 KVARC";
     375                 :          2 :     case EM_CDP:
     376                 :          2 :       return "Paneve CDP";
     377                 :          2 :     case EM_COGE:
     378                 :          2 :       return "Cognitive Smart Memory Processor";
     379                 :          2 :     case EM_COOL:
     380                 :          2 :       return "Bluechip CoolEngine";
     381                 :          2 :     case EM_NORC:
     382                 :          2 :       return "Nanoradio Optimized RISC";
     383                 :          2 :     case EM_CSR_KALIMBA:
     384                 :          2 :       return "CSR Kalimba";
     385                 :          2 :     case EM_Z80:
     386                 :          2 :       return "Zilog Z80";
     387                 :          2 :     case EM_VISIUM:
     388                 :          2 :       return "CDS VISIUMcore";
     389                 :          2 :     case EM_FT32:
     390                 :          2 :       return "FTDI Chip FT32";
     391                 :          2 :     case EM_MOXIE:
     392                 :          2 :       return "Moxie";
     393                 :          2 :     case EM_AMDGPU:
     394                 :          2 :       return "AMD GPU";
     395                 :          2 :     case EM_RISCV:
     396                 :          2 :       return "RISC-V";
     397                 :          2 :     case EM_BPF:
     398                 :          2 :       return "BPF";
     399                 :          2 :     case EM_CSKY:
     400                 :          2 :       return "C-SKY";
     401                 :          2 :     case EM_LOONGARCH:
     402                 :          2 :       return "LoongArch";
     403                 :            : 
     404                 :          2 :     case EM_ALPHA:
     405                 :          2 :       return "Alpha";
     406                 :            : 
     407                 :          0 :     default:
     408                 :          0 :       return NULL;
     409                 :            :     }
     410                 :            : }

Generated by: LCOV version 1.16