add missing RAW_ADDRs
This commit is contained in:
parent
89b82dcc84
commit
0623b3f394
2 changed files with 19 additions and 9 deletions
|
@ -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>
|
1999-08-04 OKUJI Yoshinori <okuji@kuicr.kyoto-u.ac.jp>
|
||||||
|
|
||||||
* stage2/asm.S: Make each of the addr32 and data32 prefixes
|
* stage2/asm.S: Make each of the addr32 and data32 prefixes
|
||||||
|
|
|
@ -312,7 +312,7 @@ load_image (void)
|
||||||
printf (", loadaddr=0x%x, text%s=0x%x", cur_addr, str, text_len);
|
printf (", loadaddr=0x%x, text%s=0x%x", cur_addr, str, text_len);
|
||||||
|
|
||||||
/* read text, then read data */
|
/* 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;
|
cur_addr += text_len;
|
||||||
|
|
||||||
|
@ -326,15 +326,16 @@ load_image (void)
|
||||||
|
|
||||||
printf (", data=0x%x", data_len);
|
printf (", data=0x%x", data_len);
|
||||||
|
|
||||||
if (grub_read ((char *) cur_addr, data_len) != data_len &&
|
if ((grub_read ((char *) RAW_ADDR (cur_addr), data_len)
|
||||||
!errnum)
|
!= data_len)
|
||||||
|
&& !errnum)
|
||||||
errnum = ERR_EXEC_FORMAT;
|
errnum = ERR_EXEC_FORMAT;
|
||||||
cur_addr += data_len;
|
cur_addr += data_len;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!errnum)
|
if (!errnum)
|
||||||
{
|
{
|
||||||
memset ((char *) cur_addr, 0, bss_len);
|
memset ((char *) RAW_ADDR (cur_addr), 0, bss_len);
|
||||||
cur_addr += bss_len;
|
cur_addr += bss_len;
|
||||||
|
|
||||||
printf (", bss=0x%x", bss_len);
|
printf (", bss=0x%x", bss_len);
|
||||||
|
@ -353,18 +354,21 @@ load_image (void)
|
||||||
|
|
||||||
mbi.syms.a.addr = cur_addr;
|
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);
|
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;
|
cur_addr += pu.aout->a_syms;
|
||||||
mbi.syms.a.tabsize = pu.aout->a_syms;
|
mbi.syms.a.tabsize = pu.aout->a_syms;
|
||||||
|
|
||||||
if (grub_read ((char *) &i, sizeof (int)) == sizeof (int))
|
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;
|
mbi.syms.a.strsize = i;
|
||||||
|
|
||||||
|
@ -372,7 +376,8 @@ load_image (void)
|
||||||
|
|
||||||
printf (", strtab=0x%x", i);
|
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;
|
cur_addr += i;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue