good morning Nick:

You try to isolate whether this really is a linker bug.  (It
certainly sounds like it is).  If you can reproduce the problem
just using assembler source files then please file a bug report
with the binutils project (at http://sourceware.org/bugzilla).
Including a *small* test case will really help.

did some research this morning and was able to finalize all the
information. reports have been filed with GCC Bugzilla,
Mikrocontroller Forum, and Comp.Arch.Embedded.

basically, i found a new error that masks the original error and
that prevents you from finding the original error of zero Interworking
code.

i created sample, simple assembly code for these online reports.

pls see these links for more information:
- GCC Bugzilla Bug 6726
  http://sourceware.org/bugzilla/show_bug.cgi?id=6726

- GCC Bugzilla Bug 6727
  http://sourceware.org/bugzilla/show_bug.cgi?id=6727

- Mikrocontroller.net Forum
  http://en.mikrocontroller.net/topic/158791#699646

- Comp.Arch.Embedded
  http://www.embeddedrelated.com/usenet/embedded/show/96927-1.php

GLOBAL CONDITIONS
if:
- you enable --gc-sections
- you enable Thumb Interworking

PROBLEM 1
- if you do not define program entry point:
  you get the ldlang.c 4275 error

SOLUTION 1
- simply define entry point _start or whatever using --entry if
  required

PROBLEM
- you position another section using --section-start before .text
  using -Ttext: you get ZERO interworking code

SOLUTION
- position .data/other section AFTER .text. place -Ttext before
--section-start
  or -Tdata.

i hope that this is helpful to you.

Aaron
--
{tel: +91-20-6526-7076; cell: +91-9970-591-079; fax: +1-800-450-5419}

Reply via email to