search for: addrloc

Displaying 3 results from an estimated 3 matches for "addrloc".

Did you mean: addloc
2017 Sep 19
1
Do I need to modify the AddrLoc of LLD for ARC target?
...put a .thumb 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_...
2017 Sep 18
1
Do I need to modify the AddrLoc of LLD for ARC target?
...r this when resolving the relocation >> R_ARM_THM_CALL. >> >> To handle the alignment difference for this one special case in lld I >> accounted for the alignment difference in relocateOne. You may be able >> to use a similar method for Arc rather than writing modifyARCAddrLoc. >> Again I know nothing about Arc so you'll need to look at the >> Architecture reference manual to understand what the instruction the >> relocation applies to works. >> >> Peter >> >> >> On 15 September 2017 at 04:19, Leslie Zhai <lesliezhai...
2017 Sep 14
4
Do I need to modify the AddrLoc of LLD for ARC target?
....input_section->output_offset + (reloc_data.reloc_offset - > (reloc_data.bitsize >= 32 ? 4 : 0))) & ~0x3; > > for example, R_ARC_S25W_PCREL's bitsize < 32, P = (6 + 0 + 0 - 0) & ~0x3 = > 4, when vma is 6, output and reloc offset is 0. > > How LLD calculates P (AddrLoc)? > > P = getOutputSection()->Addr + getOffset(Rel.Offset); > > for example, the same high address 0x6, LLD's P is 8, different with arc-ld? > so do I need to modify the value of P for R_PC case in the getRelocTargetVA? > please give me some hints, thanks a lot! > > &...