Changeset 2565 in CLRX


Ignore:
Timestamp:
Nov 16, 2016, 4:48:19 PM (3 years ago)
Author:
matszpk
Message:

CLRadeonExtender: Fixed resolving value of symbol when section addrBase is 'nobase'. Add '_DYNAMIC' to normal symbols.

Location:
CLRadeonExtender/trunk/amdbin
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • CLRadeonExtender/trunk/amdbin/ElfBinaries.cpp

    r2564 r2565  
    10401040                                regions[sectionRegions[
    10411041                                    inSym.sectionIndex]].section.addrBase != 0)
     1042                        {
     1043                            typename Types::Word addrBase = regions[sectionRegions[
     1044                                    inSym.sectionIndex]].section.addrBase;
    10421045                            SLEV(sym.st_value, inSym.value + regionOffsets[
    10431046                                    sectionRegions[inSym.sectionIndex]] +
    1044                                     regions[sectionRegions[inSym.sectionIndex]].
    1045                                             section.addrBase);
    1046                         else // use elf headerf virtual address base
     1047                                    (addrBase!=Types::nobase ? addrBase : 0));
     1048                        }
     1049                        else if (header.vaddrBase!=Types::nobase)
     1050                            // use elf headerf virtual address base
    10471051                            SLEV(sym.st_value, inSym.value + regionOffsets[
    1048                                 sectionRegions[inSym.sectionIndex]] + header.vaddrBase);
     1052                                sectionRegions[inSym.sectionIndex]] +
     1053                                (header.vaddrBase!=Types::nobase ? header.vaddrBase : 0));
    10491054                        sym.st_other = inSym.other;
    10501055                        sym.st_info = inSym.info;
  • CLRadeonExtender/trunk/amdbin/ROCmBinaries.cpp

    r2564 r2565  
    245245        0xe0, EV_CURRENT, UINT_MAX, 0, 0 }, true, true, true, PHREGION_FILESTART);
    246246    // add symbols
    247     elfBinGen64.addDynSymbol(ElfSymbol64("_DYNAMIC", 5,
     247    elfBinGen64.addSymbol(ElfSymbol64("_DYNAMIC", 5,
    248248                  ELF64_ST_INFO(STB_LOCAL, STT_NOTYPE), STV_HIDDEN, true, 0, 0));
    249249    for (const ROCmSymbolInput& symbol: input->symbols)
Note: See TracChangeset for help on using the changeset viewer.