my "fix" for now:
INCLUDE mkelfImage.lds
OUTPUT_FORMAT("elf32-i386", "elf32-i386", "elf32-i386")
OUTPUT_ARCH(i386)
MEMORY
{
/* 0x10000 - 0x90000 A good safe area in low memory I can use */
low (rwx) : ORIGIN = 0x050000, LENGTH = 0x0040000
^^^^^^^^^
middle (rwx) : ORIGIN = 0x091000, LENGTH = 0x0001000
upper (rwx) : ORIGIN = 0x100000, LENGTH = 0x37f00000
}
ENTRY(startup_32)
SECTIONS
{
. = 0x50000 ;
^^^^^^^^^^^^
_text = .; /* Text and read-only data */
.text (.): {
*(.text)
*(.fixup)
*(.gnu.warning)
} > low = 0x9090
.rodata (.): { *(.rodata) *(.note.data)} > low
.kstrtab (.): { *(.kstrtab) } > low
. = ALIGN(16); /* Exception table */
_etext = .; /* End of text section */
.data (.): { /* Data */
*(.data)
CONSTRUCTORS
} > low
_edata = .; /* End of data section */
__bss_start = .; /* BSS */
.bss (.): {
*(.bss)
} > low
.
.
.
etc.
I moved the memory up to 0x50000. This has worked on almost everything.
ron