| ... | ... | @@ -926,6 +926,11 @@ pub fn growAllocSection(self: *Elf, shdr_index: u16, needed_size: u64) !void { |
| 926 | 926 | phdr.p_offset = new_offset; |
| 927 | 927 | } |
| 928 | 928 | |
| 929 | shdr.sh_size = needed_size; |
| 930 | if (!is_zerofill) { |
| 931 | phdr.p_filesz = needed_size; |
| 932 | } |
| 933 | |
| 929 | 934 | const mem_capacity = self.allocatedVirtualSize(phdr.p_vaddr); |
| 930 | 935 | if (needed_size > mem_capacity) { |
| 931 | 936 | // We are exceeding our allocated VM capacity so we need to shift everything in memory |
| ... | ... | @@ -952,13 +957,8 @@ pub fn growAllocSection(self: *Elf, shdr_index: u16, needed_size: u64) !void { |
| 952 | 957 | } |
| 953 | 958 | } |
| 954 | 959 | |
| 955 | | shdr.sh_size = needed_size; |
| 956 | 960 | phdr.p_memsz = needed_size; |
| 957 | 961 | |
| 958 | | if (!is_zerofill) { |
| 959 | | phdr.p_filesz = needed_size; |
| 960 | | } |
| 961 | | |
| 962 | 962 | self.markDirty(shdr_index, phdr_index); |
| 963 | 963 | } |
| 964 | 964 | |