def _parseSections(self):
        # Load up all the section headers
        if self.e_shoff:
            # Load up the sections
            sbase = self.e_shoff
            # FIXME this assumes static sized section headers
            slen = self.e_shentsize
            for i in range(self.e_shnum):
                if self.bits == 32:
                    sec = Elf32Section()
                elif self.bits == 64:
                    sec = Elf64Section()
                else:
                    raise Exception((self.bits) % 'Platform not supported: %d')
                bytes = self.readAtOffset(sbase, slen)
                sec.vsParse(bytes)
                self.sections.append(sec)
                sbase += slen

            # Populate the section names
            strsec = self.sections[self.e_shstrndx]
            names = self.readAtOffset(strsec.sh_offset,strsec.sh_size)
            for sec in self.sections:
                name = names[sec.sh_name:].split("\x00")[0]
                if len(name) > 0:
                    sec.setName(name)
                    self.secnames[name] = sec
dataset/ETHPy150Open columbia/libtrack/libtrack/elfmod/Elf/__init__.py/Elf._parseSections/swapped operands of `%`