Skip to content

Commit

Permalink
Refactor
Browse files Browse the repository at this point in the history
  • Loading branch information
DQNEO committed Jul 9, 2023
1 parent bda72f7 commit 923a141
Showing 1 changed file with 8 additions and 10 deletions.
18 changes: 8 additions & 10 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -708,7 +708,7 @@ func main() {
resolveShNames(s_shstrtab.contents, sectionHeaders[1:])

s_rela_text.contents = buildRelaTextBody(symbolIndex)
s_rela_data.contents = buildRelaDataBody(symbolIndex, relaDataUsers)
s_rela_data.contents = buildRelaDataBody(symbolIndex)

sectionInBodyOrder := sortSectionsForBody(hasRelaText, hasRelaData, hasSymbols)
assert(len(sectionInBodyOrder) == len(sectionHeaders)-1, "sections len unmatch")
Expand Down Expand Up @@ -764,10 +764,10 @@ func buildRelaTextBody(symbolIndex map[string]int) []byte {
return contents
}

func buildRelaDataBody(symbolIndex map[string]int, relaDataUsers []*relaDataUser) []byte {
func buildRelaDataBody(symbolIndex map[string]int) []byte {
var contents []byte
for _, ru := range relaDataUsers {
debugf("checking relaDataUsers %s\n", ru.uses)
//debugf("checking relaDataUsers %s\n", ru.uses)
sym, defined := definedSymbols[ru.uses]
if !defined {
panic("label not found")
Expand All @@ -780,20 +780,18 @@ func buildRelaDataBody(symbolIndex map[string]int, relaDataUsers []*relaDataUser
addend = sym.address
}
var symIdx int = 1
if defined {
if globalSymbols[sym.name] {
symIdx = symbolIndex[ru.uses]
addend = 0
}
if defined && globalSymbols[sym.name] {
symIdx = symbolIndex[ru.uses]
addend = 0
}
var typ uint64 = 1
rela := &Elf64_Rela{
r_offset: ru.addr,
r_info: uint64(symIdx)<<32 + typ,
r_addend: int64(addend),
}
debugf("RelaData info:%08x, addend:%08x [%s] \n",
rela.r_info, addend, ru.uses)
//debugf("RelaData info:%08x, addend:%08x [%s] \n",
// rela.r_info, addend, ru.uses)
p := (*[unsafe.Sizeof(Elf64_Rela{})]byte)(unsafe.Pointer(rela))[:]
contents = append(contents, p...)
}
Expand Down

0 comments on commit 923a141

Please sign in to comment.