diff --git a/utils/dump.c b/utils/dump.c index 3a97835e18ec48b0f03b6d705a740dc51a6ba90e..37bbbba0cbec99a6de704e41678a3f733bff4416 100644 --- a/utils/dump.c +++ b/utils/dump.c @@ -708,22 +708,18 @@ dump_rel (const char *indent, const ElfW(Sym) *symbol; - switch( __ELF_NATIVE_CLASS ) - { - case 32: - sym = ELF32_R_SYM (entry->r_info); - chr = ELF32_R_TYPE(entry->r_info); - break; - case 64: - sym = ELF64_R_SYM (entry->r_info); - chr = ELF64_R_TYPE(entry->r_info); - break; - default: - fprintf( stderr, - "__ELF_NATIVE_CLASS is NOT 32 or 64:" - " What the actual hell\n" ); - exit(-1); - } +#if __ELF_NATIVE_CLASS == 32 + sym = ELF32_R_SYM (entry->r_info); + chr = ELF32_R_TYPE(entry->r_info); +#elif __ELF_NATIVE_CLASS == 64 + sym = ELF64_R_SYM (entry->r_info); + chr = ELF64_R_TYPE(entry->r_info); +#else + fprintf( stderr, + "__ELF_NATIVE_CLASS is NOT 32 or 64:" + " What the actual hell\n" ); + exit( 22 ); +#endif symbol = find_symbol( sym, symtab, strtab, &name ); if( symbol ) @@ -764,22 +760,18 @@ dump_rela (const char *indent, const ElfW(Sym) *symbol; - switch( __ELF_NATIVE_CLASS ) - { - case 32: - sym = ELF32_R_SYM (entry->r_info); - chr = ELF32_R_TYPE(entry->r_info); - break; - case 64: - sym = ELF64_R_SYM (entry->r_info); - chr = ELF64_R_TYPE(entry->r_info); - break; - default: - fprintf( stderr, - "__ELF_NATIVE_CLASS is NOT 32 or 64:" - " What the actual hell\n" ); - exit(-1); - } +#if __ELF_NATIVE_CLASS == 32 + sym = ELF32_R_SYM (entry->r_info); + chr = ELF32_R_TYPE(entry->r_info); +#elif __ELF_NATIVE_CLASS == 64 + sym = ELF64_R_SYM (entry->r_info); + chr = ELF64_R_TYPE(entry->r_info); +#else + fprintf( stderr, + "__ELF_NATIVE_CLASS is NOT 32 or 64:" + " What the actual hell\n" ); + exit( 22 ); +#endif symbol = find_symbol( sym, symtab, strtab, &name ); if( symbol ) diff --git a/utils/elf-dump.c b/utils/elf-dump.c index 5591e50a579bb34f3b731007b661c0aecaee7118..4295640aea154ff2cb9f9e6e6924f146927c4e9a 100644 --- a/utils/elf-dump.c +++ b/utils/elf-dump.c @@ -707,22 +707,18 @@ dump_rel (const char *indent, const ElfW(Sym) *symbol; - switch( __ELF_NATIVE_CLASS ) - { - case 32: - sym = ELF32_R_SYM (entry->r_info); - chr = ELF32_R_TYPE(entry->r_info); - break; - case 64: - sym = ELF64_R_SYM (entry->r_info); - chr = ELF64_R_TYPE(entry->r_info); - break; - default: - fprintf( stderr, - "__ELF_NATIVE_CLASS is NOT 32 or 64:" - " What the actual hell\n" ); - exit(-1); - } +#if __ELF_NATIVE_CLASS == 32 + sym = ELF32_R_SYM (entry->r_info); + chr = ELF32_R_TYPE(entry->r_info); +#elif __ELF_NATIVE_CLASS == 64 + sym = ELF64_R_SYM (entry->r_info); + chr = ELF64_R_TYPE(entry->r_info); +#else + fprintf( stderr, + "__ELF_NATIVE_CLASS is NOT 32 or 64:" + " What the actual hell\n" ); + exit( 22 ); +#endif symbol = find_symbol( sym, symtab, strtab, &name ); if( symbol ) @@ -763,22 +759,18 @@ dump_rela (const char *indent, const ElfW(Sym) *symbol; - switch( __ELF_NATIVE_CLASS ) - { - case 32: - sym = ELF32_R_SYM (entry->r_info); - chr = ELF32_R_TYPE(entry->r_info); - break; - case 64: - sym = ELF64_R_SYM (entry->r_info); - chr = ELF64_R_TYPE(entry->r_info); - break; - default: - fprintf( stderr, - "__ELF_NATIVE_CLASS is NOT 32 or 64:" - " What the actual hell\n" ); - exit(-1); - } +#if __ELF_NATIVE_CLASS == 32 + sym = ELF32_R_SYM (entry->r_info); + chr = ELF32_R_TYPE(entry->r_info); +#elif __ELF_NATIVE_CLASS == 64 + sym = ELF64_R_SYM (entry->r_info); + chr = ELF64_R_TYPE(entry->r_info); +#else + fprintf( stderr, + "__ELF_NATIVE_CLASS is NOT 32 or 64:" + " What the actual hell\n" ); + exit( 22 ); +#endif symbol = find_symbol( sym, symtab, strtab, &name ); if( symbol ) diff --git a/utils/process-pt-dynamic.c b/utils/process-pt-dynamic.c index 3315c18ff87503a3a2f8e5995b2d01760b206466..62131eba3c58fa31a0f01b0bbdee9b1fb87720dd 100644 --- a/utils/process-pt-dynamic.c +++ b/utils/process-pt-dynamic.c @@ -234,20 +234,16 @@ process_dt_rela (const void *start, char *name = NULL; const ElfW(Sym) *symbol; - switch( __ELF_NATIVE_CLASS ) - { - case 32: - sym = ELF32_R_SYM (entry->r_info); - chr = ELF32_R_TYPE(entry->r_info); - break; - case 64: - sym = ELF64_R_SYM (entry->r_info); - chr = ELF64_R_TYPE(entry->r_info); - break; - default: - fprintf( stderr, "__ELF_NATIVE_CLASS is neither 32 nor 64" ); - exit( 22 ); - } +#if __ELF_NATIVE_CLASS == 32 + sym = ELF32_R_SYM (entry->r_info); + chr = ELF32_R_TYPE(entry->r_info); +#elif __ELF_NATIVE_CLASS == 64 + sym = ELF64_R_SYM (entry->r_info); + chr = ELF64_R_TYPE(entry->r_info); +#else + fprintf( stderr, "__ELF_NATIVE_CLASS is neither 32 nor 64" ); + exit( 22 ); +#endif DEBUG( DEBUG_ELF, "RELA entry at %p", entry ); @@ -413,20 +409,16 @@ process_dt_rel (const void *start, const ElfW(Sym) *symbol; - switch( __ELF_NATIVE_CLASS ) - { - case 32: - sym = ELF32_R_SYM (entry->r_info); - chr = ELF32_R_TYPE(entry->r_info); - break; - case 64: - sym = ELF64_R_SYM (entry->r_info); - chr = ELF64_R_TYPE(entry->r_info); - break; - default: - fprintf( stderr, "__ELF_NATIVE_CLASS is neither 32 nor 64" ); - exit( 22 ); - } +#if __ELF_NATIVE_CLASS == 32 + sym = ELF32_R_SYM (entry->r_info); + chr = ELF32_R_TYPE(entry->r_info); +#elif __ELF_NATIVE_CLASS == 64 + sym = ELF64_R_SYM (entry->r_info); + chr = ELF64_R_TYPE(entry->r_info); +#else + fprintf( stderr, "__ELF_NATIVE_CLASS is neither 32 nor 64" ); + exit( 22 ); +#endif symbol = find_symbol( sym, symtab, strtab, &name );