Kumba wrote:
> Thiemo Seufer wrote:
>
> >It looks like that pax patch makes the difference.
> >
> >Speculation:
> >With this large alignment, the load would overwrite the exception
> >handlers at 0x80000000 if the firmware wouldn't recognize this area
> >as already in use. Reducing the alignment to 4k may improve things.
> >
> >Btw, an empty segment with no section assigned looks like a bug to me.
> >
> >Btw2, converting the non-writable segment into a writeable one
> >doesn't look like an improvement (but doesn't matter much).
>
> Well, I re-generated my cross-compiler w/o the patch, doesn't seem to
> have affected much.
>
> I'll strip the remaining patches out, and see what the outcome is
> (although the remaining patches have been in gentoo's binutils since
> 2.13.* and haven't had issues).
[snip]
> Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align
> REGINFO 0x1573c0 0x881573c0 0x881573c0 0x00018 0x00018 R 0x4
> LOAD 0x000000 0x88000000 0x88000000 0x16d000 0x194400 RWE 0x10000
Well, then the effects I wrote about were not caused by that patch
but by a broken linker. Re-doing the final link with the old linker
should be enough to prove that.
From the different alignment, this _might_ be related to Maciej's
binutils patch for PAGE_SIZE != 4k.
http://sources.redhat.com/ml/binutils/2003-12/msg00380.html
[snip]
> >> boot -f 2425x1
>
> Cannot load scsi(0)disk(4)rdisk(0)partition(8)/2425x1.
> Text start 0x8000000, size 0x194400 doesn't fit in a FreeMemory area.
The text start should be at 0x8002000 or higher, else it will fail.
Thiemo
|