return demangled;
 }
 
+static void get_plt_sizes(GElf_Ehdr *ehdr, GElf_Shdr *shdr_plt,
+                         u64 *plt_header_size, u64 *plt_entry_size)
+{
+       switch (ehdr->e_machine) {
+       case EM_ARM:
+               *plt_header_size = 20;
+               *plt_entry_size = 12;
+               return;
+       case EM_AARCH64:
+               *plt_header_size = 32;
+               *plt_entry_size = 16;
+               return;
+       case EM_SPARC:
+               *plt_header_size = 48;
+               *plt_entry_size = 12;
+               return;
+       case EM_SPARCV9:
+               *plt_header_size = 128;
+               *plt_entry_size = 32;
+               return;
+       default: /* FIXME: s390/alpha/mips/parisc/poperpc/sh/xtensa need to be checked */
+               *plt_header_size = shdr_plt->sh_entsize;
+               *plt_entry_size = shdr_plt->sh_entsize;
+               return;
+       }
+}
+
 #define elf_section__for_each_rel(reldata, pos, pos_mem, idx, nr_entries) \
        for (idx = 0, pos = gelf_getrel(reldata, 0, &pos_mem); \
             idx < nr_entries; \
 
        nr_rel_entries = shdr_rel_plt.sh_size / shdr_rel_plt.sh_entsize;
        plt_offset = shdr_plt.sh_offset;
-       switch (ehdr.e_machine) {
-               case EM_ARM:
-                       plt_header_size = 20;
-                       plt_entry_size = 12;
-                       break;
-
-               case EM_AARCH64:
-                       plt_header_size = 32;
-                       plt_entry_size = 16;
-                       break;
-
-               case EM_SPARC:
-                       plt_header_size = 48;
-                       plt_entry_size = 12;
-                       break;
-
-               case EM_SPARCV9:
-                       plt_header_size = 128;
-                       plt_entry_size = 32;
-                       break;
-
-               default: /* FIXME: s390/alpha/mips/parisc/poperpc/sh/xtensa need to be checked */
-                       plt_header_size = shdr_plt.sh_entsize;
-                       plt_entry_size = shdr_plt.sh_entsize;
-                       break;
-       }
+       get_plt_sizes(&ehdr, &shdr_plt, &plt_header_size, &plt_entry_size);
        plt_offset += plt_header_size;
 
        if (shdr_rel_plt.sh_type == SHT_RELA) {