Can not build flat shared library.

Mon Mar 14 23:14:00 GMT 2011

Gary, All,

On Monday 14 March 2011 22:52:21 Gary Altenberg wrote:
> I am attempting to build a tool chain for an ARM (no mmu arm7tdmi) to 
> build applications for a uClinux board. I read that I should use a 
> shared library so I set my "Target File Format" in uClibc to Shared 
> FLAT. It says in the help for Shared FLAT to "Pick this one if you are 
> using uClinux and wish to build uClibc as a flat-format shared library". 
> Are there options in gcc to pick this also? I didn't see any.

I believe we do not currently have proper support for flat binaries.
You should have a look at:
in function CT_DoKernelTupleValues:

  CT_DoKernelTupleValues() {
      if [ "${CT_ARCH_USE_MMU}" = "y" ]; then
      # Sometime, noMMU linux targets have a -uclinux tuple, while
      # sometime it's -linux. We currently have only one noMMU linux
      # target, and it uses -linux, so let's just use that. Time
      # to fix that later...
      #    CT_TARGET_KERNEL="uclinux"

So in your case, I guess you'd want a tuple that ends with -uclinux instead
of -linux. Care to test that (override in the script)? If it works, then it
will be time to review that function and be a bit more inventive there.

Also, in the binutils sub-menu, you will have to choose one of:
- 'Flat' and a version of elf2flt,

Note: AFAICR, the "only one noMMU linux target" referred-to in the linux
kernel script, above, is blackfin.

Yann E. MORIN.

|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |

For unsubscribe information see

More information about the crossgcc mailing list