fix SIBUG crashes when accessing bss data from a large .bss segment

This commit is contained in:
PoroCYon 2019-05-20 02:34:04 +02:00
parent 9ec2133545
commit 3ac72d03c3
2 changed files with 5 additions and 4 deletions

View File

@ -70,8 +70,9 @@ phdr.load:
dd PT_LOAD ; p_type: 1 = PT_LOAD
dd 0 ; p_offset
dd ehdr, 0 ; p_vaddr, p_paddr
; use memsize twice here, linux doesn't care and it compresses better
dd _smol_total_memsize ; p_filesz
;; use memsize twice here, linux doesn't care and it compresses better
; actually, linux doesn't care, but the hardware does >__>
dd _smol_total_filesize ; p_filesz
dd _smol_total_memsize ; p_memsz
dd (PHDR_R | PHDR_W | PHDR_X) ; p_flags
dd 0x1000 ; p_align

View File

@ -63,7 +63,7 @@ phdr.load:
dd PHDR_R | PHDR_W | PHDR_X ; p_flags
dq 0 ; p_offset
dq ehdr, 0 ; p_vaddr, p_paddr
dq _smol_total_memsize ; p_filesz
dq _smol_total_filesize ; p_filesz
dq _smol_total_memsize ; p_memsz
dq 0x1000 ; p_align
%else
@ -80,7 +80,7 @@ phdr.load2:
dd PHDR_R | PHDR_W
dq _smol_data_off
dq _smol_data_start, 0
dq _smol_dataandbss_size
dq _smol_data_size
dq _smol_dataandbss_size
dq 0x1000
%endif