• Peter Jones's avatar
    Do the same for ia32... · f9d825b2
    Peter Jones authored
    Once again, on ia32 this time, we see:
    
    00000120  47 84 00 00 0a 00 00 00  00 00 00 00 00 00 00 00 |G...............|
    
    Which is where the pointer on ia32 for the Base Relocation Table should
    be.  It points to 0x8447, which isn't a particularly reasonable address as
    numbers go, and happens to have this data there:
    
    00008440  6f 00 6e 00 66 00 69 00  67 00 75 00 72 00 65 00 |o.n.f.i.g.u.r.e.|
    00008450  00 00 49 00 50 00 76 00  36 00 28 00 00 00 2c 00 |..I.P.v.6.(...,.|
    00008460  25 00 73 00 2c 00 00 00  29 00 00 00 25 00 64 00 |%.s.,...)...%.d.|
    00008470  2e 00 25 00 64 00 2e 00  25 00 64 00 2e 00 25 00 |..%.d...%.d...%.|
    00008480  64 00 00 00 44 00 48 00  43 00 50 00 00 00 49 00 |d...D.H.C.P...I.|
    00008490  50 00 76 00 34 00 28 00  00 00 2c 00 25 00 73 00 |P.v.4.(...,.%.s.|
    
    And so that table is, in theory, this part:
    
    00008447                       00  67 00 75 00 72 00 65 00 |       .g.u.r.e.|
    00008450  00                                               |.               |
    
    Which is pretty clearly not a pointer table of any kind.
    
    So give ia32 the same treatment as x86_64, and now all arches work basically
    the same.
    Signed-off-by: default avatarPeter Jones <pjones@redhat.com>
    f9d825b2
crt0-efi-ia32.S 5.62 KB