Commit 5dd269d0 authored by PoroCYon's avatar PoroCYon
Browse files

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

parent 9ec21335
...@@ -70,8 +70,9 @@ phdr.load: ...@@ -70,8 +70,9 @@ phdr.load:
dd PT_LOAD ; p_type: 1 = PT_LOAD dd PT_LOAD ; p_type: 1 = PT_LOAD
dd 0 ; p_offset dd 0 ; p_offset
dd ehdr, 0 ; p_vaddr, p_paddr dd ehdr, 0 ; p_vaddr, p_paddr
; use memsize twice here, linux doesn't care and it compresses better ;; use memsize twice here, linux doesn't care and it compresses better
dd _smol_total_memsize ; p_filesz ; actually, linux doesn't care, but the hardware does >__>
dd _smol_total_filesize ; p_filesz
dd _smol_total_memsize ; p_memsz dd _smol_total_memsize ; p_memsz
dd (PHDR_R | PHDR_W | PHDR_X) ; p_flags dd (PHDR_R | PHDR_W | PHDR_X) ; p_flags
dd 0x1000 ; p_align dd 0x1000 ; p_align
......
...@@ -63,7 +63,7 @@ phdr.load: ...@@ -63,7 +63,7 @@ phdr.load:
dd PHDR_R | PHDR_W | PHDR_X ; p_flags dd PHDR_R | PHDR_W | PHDR_X ; p_flags
dq 0 ; p_offset dq 0 ; p_offset
dq ehdr, 0 ; p_vaddr, p_paddr 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 _smol_total_memsize ; p_memsz
dq 0x1000 ; p_align dq 0x1000 ; p_align
%else %else
...@@ -80,7 +80,7 @@ phdr.load2: ...@@ -80,7 +80,7 @@ phdr.load2:
dd PHDR_R | PHDR_W dd PHDR_R | PHDR_W
dq _smol_data_off dq _smol_data_off
dq _smol_data_start, 0 dq _smol_data_start, 0
dq _smol_dataandbss_size dq _smol_data_size
dq _smol_dataandbss_size dq _smol_dataandbss_size
dq 0x1000 dq 0x1000
%endif %endif
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment