Displaying 3 results from an estimated 3 matches for "getoutputsect".
2017 Sep 19
1
Do I need to modify the AddrLoc of LLD for ARC target?
...umb directive in the file, or pass -mthumb to the assembler
via arm-linux-gnu-gcc -Wa,-mthumb (I think).
I'm not able to explain what you are seeing in your print out as it
doesn't quite match the map file. Looking at your source diff I think
I may have found a bug:
uint64_t AddrLoc = getOutputSection()->Addr + Offset;
RelExpr Expr = Rel.Expr;
+ if ((Expr == R_PC || Expr == R_GOT_PC) &&
+ (Config->EMachine == EM_ARC_COMPACT ||
+ Config->EMachine == EM_ARC_COMPACT2)) {
+ uint64_t M = 0;
+ if (Type == R_ARC_32_PCREL || Type == R_ARC_PC32 ||
+...
2017 Sep 18
1
Do I need to modify the AddrLoc of LLD for ARC target?
...calculating the virtual address (VA) of P, as I
>>>> understand it this is equivalent to the vma used in BFD. Assuming that
>>>> the relocation is relocating a regular InputSection from the
>>>> basic-arc.o object then the LLD calculation of P =
>>>> getOutputSection()->Addr + getOffset(Rel.Offset); translates to: (VA
>>>> of OutputSection) + (Offset of InputSection within OutputSection) +
>>>> (Offset within InputSection given by r_offset)
>>>>
>>>> The BFD linker seems to be doing the equivalent calculatio...
2017 Sep 14
4
Do I need to modify the AddrLoc of LLD for ARC target?
...o the storage
unit affected by the relocation."
For LLD we are calculating the virtual address (VA) of P, as I
understand it this is equivalent to the vma used in BFD. Assuming that
the relocation is relocating a regular InputSection from the
basic-arc.o object then the LLD calculation of P =
getOutputSection()->Addr + getOffset(Rel.Offset); translates to: (VA
of OutputSection) + (Offset of InputSection within OutputSection) +
(Offset within InputSection given by r_offset)
The BFD linker seems to be doing the equivalent calculation with an
extra modification of the (Offset within InputSection giv...