Give extracted linker sections pretty names
Replace .linker.sect0, etc. with .linker, .linker.text, .linker.data and .linker.data.rel.ro by extracting the name of the first section in each program header. Test: build and run host bionic binary Change-Id: I25107547536a3a3963fdeb311c45a7ee53c0bc45
This commit is contained in:
@@ -61,8 +61,15 @@ func main() {
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
sectionName := fmt.Sprintf(".linker.sect%d", load)
|
var progName string
|
||||||
symName := fmt.Sprintf("__dlwrap_linker_sect%d", load)
|
progSection := progToFirstSection(prog, ef.Sections)
|
||||||
|
if progSection != nil {
|
||||||
|
progName = progSection.Name
|
||||||
|
} else {
|
||||||
|
progName = fmt.Sprintf(".sect%d", load)
|
||||||
|
}
|
||||||
|
sectionName := ".linker" + progName
|
||||||
|
symName := "__dlwrap_linker" + strings.ReplaceAll(progName, ".", "_")
|
||||||
|
|
||||||
flags := ""
|
flags := ""
|
||||||
if prog.Flags&elf.PF_W != 0 {
|
if prog.Flags&elf.PF_W != 0 {
|
||||||
@@ -125,3 +132,12 @@ func bytesToAsm(asm io.Writer, buf []byte) {
|
|||||||
}
|
}
|
||||||
fmt.Fprintln(asm)
|
fmt.Fprintln(asm)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func progToFirstSection(prog *elf.Prog, sections []*elf.Section) *elf.Section {
|
||||||
|
for _, section := range sections {
|
||||||
|
if section.Addr == prog.Vaddr {
|
||||||
|
return section
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
Reference in New Issue
Block a user