diff options
author | H. Peter Anvin <hpa@zytor.com> | 2009-05-13 22:05:41 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@zytor.com> | 2009-05-13 22:05:41 -0700 |
commit | 95a461a83adf65aa5689b65f85330ce970121f56 (patch) | |
tree | de8455836beab1ca73014bf57a0e855542577574 /core/isolinux.asm | |
parent | 376a2bfe09b8292140d7a40ce77a1cc7f4316e17 (diff) | |
download | syslinux-95a461a83adf65aa5689b65f85330ce970121f56.tar.gz |
core: zero bss and uibss; fix some section confusions
Set .bss and .uibss as soon as we are fully loaded. This gives us the
more familiar behavior of most normal execution environments. The
.earlybss section is not zeroed; therefore, all variables that are set
before we have the opportunity to zero need to go in this section.
This checkin also fixes some incorrect section directives.
Signed-off-by: H. Peter Anvin <hpa@zytor.com>
Diffstat (limited to 'core/isolinux.asm')
-rw-r--r-- | core/isolinux.asm | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/core/isolinux.asm b/core/isolinux.asm index 921f7faf..9183b352 100644 --- a/core/isolinux.asm +++ b/core/isolinux.asm @@ -101,8 +101,8 @@ trackbuf resb trackbufsize ; Track buffer goes here ; ends at 2800h ; Some of these are touched before the whole image - ; is loaded. DO NOT move this to .uibss. - section .bss + ; is loaded. DO NOT move this to .bss/.uibss. + section .earlybss alignb 4 ISOFileName resb 64 ; ISO filename canonicalization buffer ISOFileNameEnd equ $ @@ -197,6 +197,7 @@ dsp_dummy: resb 1 ; Scratch, safe to overwrite _spec_end equ $ _spec_len equ _spec_end - _spec_start + section .bss alignb open_file_t_size Files resb MAX_OPEN*open_file_t_size @@ -1077,6 +1078,7 @@ rl_checkpt equ $ ; Must be <= 800h ; ---------------------------------------------------------------------------- ; End of code and data that have to be in the first sector ; ---------------------------------------------------------------------------- + section .text all_read: @@ -1095,8 +1097,8 @@ all_read: mov di,writechr mov al,0e9h stosb - mov ax,writechr_full-3 - sub ax,bx + mov ax,writechr_full-2 + sub ax,di stosw ; Tell the user we got this far... |