1*b2441318SGreg Kroah-Hartman // SPDX-License-Identifier: GPL-2.0 21da177e4SLinus Torvalds #include <stdio.h> 31da177e4SLinus Torvalds #include <stdlib.h> 41da177e4SLinus Torvalds #include <string.h> 51da177e4SLinus Torvalds #include <elf.h> 61da177e4SLinus Torvalds 71da177e4SLinus Torvalds int main(int argc,char ** argv)81da177e4SLinus Torvaldsmain(int argc, char **argv) 91da177e4SLinus Torvalds { 101da177e4SLinus Torvalds unsigned char ei[EI_NIDENT]; 111da177e4SLinus Torvalds 121da177e4SLinus Torvalds if (fread(ei, 1, EI_NIDENT, stdin) != EI_NIDENT) { 131da177e4SLinus Torvalds fprintf(stderr, "Error: input truncated\n"); 141da177e4SLinus Torvalds return 1; 151da177e4SLinus Torvalds } 161da177e4SLinus Torvalds if (memcmp(ei, ELFMAG, SELFMAG) != 0) { 171da177e4SLinus Torvalds fprintf(stderr, "Error: not ELF\n"); 181da177e4SLinus Torvalds return 1; 191da177e4SLinus Torvalds } 201da177e4SLinus Torvalds switch (ei[EI_CLASS]) { 211da177e4SLinus Torvalds case ELFCLASS32: 221da177e4SLinus Torvalds printf("#define KERNEL_ELFCLASS ELFCLASS32\n"); 231da177e4SLinus Torvalds break; 241da177e4SLinus Torvalds case ELFCLASS64: 251da177e4SLinus Torvalds printf("#define KERNEL_ELFCLASS ELFCLASS64\n"); 261da177e4SLinus Torvalds break; 271da177e4SLinus Torvalds default: 286803dc0eSSam Ravnborg exit(1); 291da177e4SLinus Torvalds } 301da177e4SLinus Torvalds 311da177e4SLinus Torvalds return 0; 321da177e4SLinus Torvalds } 33