def set_default_values elf
@magic ||= ELF::MAGIC
@e_class ||= elf.bitsize.to_s
@data ||= (elf.endianness == :big ? 'MSB' : 'LSB')
@version ||= 'CURRENT'
@i_version ||= @version
@entry ||= 0
@phoff ||= elf.segments.empty? ? 0 : elf.new_label('phdr')
@shoff ||= elf.sections.length <= 1 ? 0 : elf.new_label('shdr')
@flags ||= []
@ehsize ||= Header.sizeof(elf)
@phentsize ||= Segment.sizeof(elf)
@phnum ||= elf.segments.length
@shentsize ||= Section.sizeof(elf)
@shnum ||= elf.sections.length
super(elf)
end