This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Moving project from ADS 1.2 to DS5 - L6286E error

 I am attempting to port a mature product from the ADS 1.2 tool chain to the DS-5 tool chain.

I am receiving a linker error L6286E (actually 7 errors):

Error: L6286E: Relocation #REL:36 in IntAuxFRM.o(.text) with respect to Mfs_cleanup_ALL_files. Value(0xfffb89a4) out of range(-0x800 - 0x7fe) for (R_ARM_THM_JUMP11)

 

The project builds fine with ADS 1.2.

Processor ARM7tdm1,  mixed assembly, C (arm) and C (thumb) code.

Using command line options '-O1','-g','--apcs=/interwork'.  Compiling C (arm) code with --arm and C (thumb) code with --thumb

 

The project uses a scatter file which defines 2 execution regions, 0x8000 thru 0x40000 and 0x65000 thru 0x69000.  Note the second rejoin is an OVERLAY.

The linker errors seem to be in regards to code from one region calling code in another region.  C thumb code to C thumb code

I have tried the --no_thumb2_libraries.

 

Can anyone point me to a solution?

 

Regards

Larry

  • Hi Larry,

    As a first step, would it be possible for you to publish the scatterfile that you are using please ?

    That might give us a bit more direction in assisting you.

    Thanks,
    Stuart
  • Hi Stuart, Thanks for the response. I can't publish the scatter file. But I can give you and feel for it.

    DATA_IN_RAM 0x60000 0x5000
    {
    DATA_IN_RAM 0x60000 0x5000
    {
    * (+DATA,+ZI)
    }
    }


    CODE_IN_EEPROM 0x08000 0x38000
    {
    CODE_IN_EEPROM 0x08000
    {
    appl_vector.o (+CONST, +FIRST)
    * (+CODE, +CONST)
    ApplLastMark.o (+CONST, +LAST)
    }
    }

    RAM_CODE 0x90000 0x8000
    {
    RAM_OLAY_1 0x65000 OVERLAY 0x2000
    {
    IntAuxFRMo (+RO)
    otherFile1.o (+RO)
    otherFile2.o (+RO)
    otherFile3.o (+RO)
    otherFile4.o (+RO)
    otherFile5.o (+RO)
    }
    RAM_OLAY_2 0x65000 OVERLAY 0x2000
    {
    otherFile6.o (+RO)
    otherFile7.o (+RO)
    otherFile8.o (+RO)
    otherFile9.o (+RO)
    otherFileA.o (+RO)
    }
    }

    NOTE: Mfs_cleanup_ALL_files is located in EEPROM code area.

    Does this help?

    Larry
  • Looking at the .map file, the linker has not placed any veneers in my overlay region. The ADS toolchain placed veneers in both execution regions.
  • I only have 4 days left on my temporary license to get this project ported or abort the effort!
    I have been able to port this project to the Green Hills Multi tool chain. I thought it would be easier to update an ADS project to DS5 than GHS, but I guess you don't know till you try.

    Help?
  • Hi again,

    We have a few questions that you probably don't want to answer on a public forum such as this.
    Would you be able to contact ARM's support team via support-sw[at]arm.com, or by creating a case via https://silver.arm.com please ?

    Regards,
    Stuart
  • Thanks Stuart. I took your advice and worked thru the issue with the support team.