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