def _create_shdr(self, e_machine=None):
        """Section header parsing.

        Depends on e_machine because of machine-specific values in sh_type.
        """
        sh_type_dict = ENUM_SH_TYPE_BASE
        if e_machine == 'EM_ARM':
            sh_type_dict = ENUM_SH_TYPE_ARM
        elif e_machine == 'EM_X86_64':
            sh_type_dict = ENUM_SH_TYPE_AMD64
        elif e_machine == 'EM_MIPS':
            sh_type_dict = ENUM_SH_TYPE_MIPS

        self.Elf_Shdr = Struct('Elf_Shdr',
            self.Elf_word('sh_name'),
            Enum(self.Elf_word('sh_type'), **sh_type_dict),
            self.Elf_xword('sh_flags'),
            self.Elf_addr('sh_addr'),
            self.Elf_offset('sh_offset'),
            self.Elf_xword('sh_size'),
            self.Elf_word('sh_link'),
            self.Elf_word('sh_info'),
            self.Elf_xword('sh_addralign'),
            self.Elf_xword('sh_entsize'),
        )
Section header parsing.

        Depends on e_machine because of machine-specific values in sh_type.
        
product/runtime/src/main/python/java/_vendor/elftools/elf/structs.py