We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
2 parents 0b1fe04 + 46e9b38 commit 30d2e10Copy full SHA for 30d2e10
pkg/oelf/OELFGenProgramHeaders.go
@@ -38,7 +38,20 @@ func (orbisElf *OrbisElf) GenerateProgramHeaders() error {
38
// PT_LOAD for relro will be handled by SCE_RELRO, we can get rid of it
39
if gnuRelroSegment != nil {
40
if progHeader.Type == elf.PT_LOAD && progHeader.Off == gnuRelroSegment.Off {
41
- continue
+ if progHeader.Memsz > (gnuRelroSegment.Memsz + 0x3fff) & ^uint64(0x4000) {
42
+ subtractSize := (gnuRelroSegment.Memsz + 0x3fff) & ^uint64(0x4000)
43
+ progHeader.Off += subtractSize
44
+ progHeader.Vaddr += subtractSize
45
+ progHeader.Paddr = 0
46
+ if progHeader.Filesz < subtractSize {
47
+ progHeader.Filesz = 0
48
+ } else {
49
+ progHeader.Filesz -= subtractSize
50
+ }
51
+ progHeader.Memsz -= subtractSize
52
53
+ continue
54
55
}
56
57
0 commit comments