Eric, if I make the following changes to the latest mkelfImage:

add back in memory sections:
MEMORY
{
        /* 0x10000 - 0x90000 A good safe area in low memory I can use */
        low (rwx)    : ORIGIN = 0x010000, LENGTH = 0x0080000
        middle (rwx) : ORIGIN = 0x091000, LENGTH = 0x0001000
        upper (rwx)  : ORIGIN = 0x100000, LENGTH = (0x4000000 - 0x100000)
}


Comment out PHDRS:
/*
PHDRS
{
        note PT_NOTE ;
        low PT_LOAD ;
        middle PT_LOAD ;
        upper PT_LOAD ;
        ramdisk PT_LOAD ;
}
 */

get rid of the .note sections:
/*
  .note . : {
        *(.note.data)
  } :note :low
 */

Then, change things like this:
} :low  = 0x9090
to this:
} >low  = 0x9090


then things work fine.

Now I'm wondering: are the various tools merging those sections since
these are of type PT_LOAD. If so, is the type a bitmask? Can we make the
type of (e.g.) low be PT_LOAD|some-unique-value and middle by
PT_LOAD|some-unique-value-2?

This seems fixable.

ron

Reply via email to