add missing RAW_ADDRs

This commit is contained in:
okuji 1999-08-04 19:38:05 +00:00
parent 89b82dcc84
commit 0623b3f394
2 changed files with 19 additions and 9 deletions

View file

@ -1,3 +1,8 @@
1999-08-05 Pavel Roskin <pavel_roskin@geocities.com>
* stage2/boot.c (load_image): Use RAW_ADDR macro when loading
an a.out kernel.
1999-08-04 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
* stage2/asm.S: Make each of the addr32 and data32 prefixes

View file

@ -312,7 +312,7 @@ load_image (void)
printf (", loadaddr=0x%x, text%s=0x%x", cur_addr, str, text_len);
/* read text, then read data */
if (grub_read ((char *) cur_addr, text_len) == text_len)
if (grub_read ((char *) RAW_ADDR (cur_addr), text_len) == text_len)
{
cur_addr += text_len;
@ -326,15 +326,16 @@ load_image (void)
printf (", data=0x%x", data_len);
if (grub_read ((char *) cur_addr, data_len) != data_len &&
!errnum)
if ((grub_read ((char *) RAW_ADDR (cur_addr), data_len)
!= data_len)
&& !errnum)
errnum = ERR_EXEC_FORMAT;
cur_addr += data_len;
}
if (!errnum)
{
memset ((char *) cur_addr, 0, bss_len);
memset ((char *) RAW_ADDR (cur_addr), 0, bss_len);
cur_addr += bss_len;
printf (", bss=0x%x", bss_len);
@ -353,18 +354,21 @@ load_image (void)
mbi.syms.a.addr = cur_addr;
*(((int *) cur_addr)++) = pu.aout->a_syms;
*((int *) RAW_ADDR (cur_addr)) = pu.aout->a_syms;
cur_addr += sizeof (int);
printf (", symtab=0x%x", pu.aout->a_syms);
if (grub_read ((char *) cur_addr, pu.aout->a_syms) == pu.aout->a_syms)
if (grub_read ((char *) RAW_ADDR (cur_addr), pu.aout->a_syms)
== pu.aout->a_syms)
{
cur_addr += pu.aout->a_syms;
mbi.syms.a.tabsize = pu.aout->a_syms;
if (grub_read ((char *) &i, sizeof (int)) == sizeof (int))
{
*(((int *) cur_addr)++) = i;
*((int *) RAW_ADDR (cur_addr)) = i;
cur_addr += sizeof (int);
mbi.syms.a.strsize = i;
@ -372,7 +376,8 @@ load_image (void)
printf (", strtab=0x%x", i);
symtab_err = (grub_read ((char *) cur_addr, i) != i);
symtab_err = (grub_read ((char *) RAW_ADDR (cur_addr), i)
!= i);
cur_addr += i;
}
else