Changeset 8c66acc8 in rtems


Ignore:
Timestamp:
Jul 30, 2019, 10:43:15 AM (3 weeks ago)
Author:
Chris Johns <chrisj@…>
Branches:
master
Children:
cc91fae
Parents:
163927e5
git-author:
Chris Johns <chrisj@…> (07/30/19 10:43:15)
git-committer:
Chris Johns <chrisj@…> (08/04/19 02:32:50)
Message:

libdl/arm: Add support for ARM trampolines

Closes #3776

File:
1 edited

Legend:

Unmodified
Added
Removed
  • cpukit/libdl/rtl-mdreloc-arm.c

    r163927e5 r8c66acc8  
    7979   * http://shell-storm.org/online/Online-Assembler-and-Disassembler/
    8080   *
    81    *  ldr.w pc, [pc]
     81   *  Thumb mode:
     82   *    ldr.w pc, [pc]
     83   *
     84   *  ARM mode:
     85   *    ldr pc, [pc, #-4]
     86   *
    8287   */
    8388  uint32_t* tramp = (uint32_t*) tramopline;
     89#if defined(__thumb__)
     90 #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
    8491  *tramp++ = 0xf000f8df;
     92 #else
     93  *tramp++ = 0xf8dff000; /* not tested */
     94 #endif
     95#else
     96 #if __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
     97  *tramp++ = 0xe51ff004;
     98 #else
     99  *tramp++ = 0xe51ff004; /* not tested */
     100 #endif
     101#endif
    85102  *tramp++ = (uint32_t) target;
    86103  return tramp;
Note: See TracChangeset for help on using the changeset viewer.