Are FLAT binaries still supported?

Adam Nielsen a.nielsen at shikadi.net
Sun May 12 00:24:47 UTC 2013


Hi all,

I'm trying to build a firmware for an ARM7TDMI platform (no MMU), which means 
uClibc won't support ELF files and requires I use FLAT executables.

Unfortunately I can't figure out how to make this work.  I had to edit the 
Makefile as it was complaining about missing crti.o files, but I created dummy 
ones and that seemed to work.  I'll send a patch through for this if I can get 
the whole thing working.

But the rest of my buildroot-generated toolchain seems to insist on producing 
ELF files.  If I try to force use of elf2flt I get confusing errors:

arm-buildroot-linux-uclibcgnueabi-gcc test.c -o test -Wl,-elf2flt
buildroot/host/usr/arm-buildroot-linux-uclibcgnueabi/bin/ld.real: error: no 
memory region specified for loadable section `.ARM.extab'
collect2: error: ld returned 1 exit status

What does this mean?  Do I need to do anything special when compiling the 
toolchain to use FLAT binaries, other than enabling elf2flt support?  Can I 
make GCC generate FLAT executables by default without specifying -Wl,-elf2flt?

Many thanks,
Adam.



More information about the uClibc mailing list