351 references to RelocType
ILCompiler.ReadyToRun (351)
Compiler\DependencyAnalysis\ReadyToRun\AssemblyTableNode.cs (2)
49builder.EmitReloc(assemblyHeader, RelocType.IMAGE_REL_BASED_ADDR32NB); 50builder.EmitReloc(assemblyHeader, RelocType.IMAGE_REL_SYMBOL_SIZE);
Compiler\DependencyAnalysis\ReadyToRun\CopiedCorHeaderNode.cs (9)
86builder.EmitReloc(metadataBlob, RelocType.IMAGE_REL_BASED_ADDR32NB); 99builder.EmitReloc(managedResources, RelocType.IMAGE_REL_BASED_ADDR32NB); 111builder.EmitReloc(strongNameSignature, RelocType.IMAGE_REL_BASED_ADDR32NB); 133builder.EmitReloc(factory.Header, RelocType.IMAGE_REL_BASED_ADDR32NB); 134builder.EmitReloc(factory.Header, RelocType.IMAGE_REL_SYMBOL_SIZE); 152builder.EmitReloc(factory.ManifestMetadataTable, RelocType.IMAGE_REL_BASED_ADDR32NB); 153builder.EmitReloc(factory.ManifestMetadataTable, RelocType.IMAGE_REL_SYMBOL_SIZE); 185builder.EmitReloc(factory.Header, RelocType.IMAGE_REL_BASED_ADDR32NB); 186builder.EmitReloc(factory.Header, RelocType.IMAGE_REL_SYMBOL_SIZE);
Compiler\DependencyAnalysis\ReadyToRun\CopiedMetadataBlobNode.cs (2)
64builder.EmitReloc(factory.CopiedMethodIL(method), RelocType.IMAGE_REL_BASED_ADDR32NB); 100builder.EmitReloc(factory.CopiedFieldRva(fieldDesc), RelocType.IMAGE_REL_BASED_ADDR32NB);
Compiler\DependencyAnalysis\ReadyToRun\DebugDirectoryEntryNode.cs (4)
138builder.EmitReloc(this, RelocType.IMAGE_REL_BASED_ADDR32NB); 139builder.EmitReloc(this, RelocType.IMAGE_REL_FILE_ABSOLUTE); 239builder.EmitReloc(this, RelocType.IMAGE_REL_BASED_ADDR32NB); 240builder.EmitReloc(this, RelocType.IMAGE_REL_FILE_ABSOLUTE);
Compiler\DependencyAnalysis\ReadyToRun\DebugDirectoryNode.cs (2)
145builder.EmitReloc(factory.DebugDirectoryEntry(_module, i), RelocType.IMAGE_REL_BASED_ADDR32NB); 146builder.EmitReloc(factory.DebugDirectoryEntry(_module, i), RelocType.IMAGE_REL_FILE_ABSOLUTE);
Compiler\DependencyAnalysis\ReadyToRun\DelayLoadHelperImport.cs (2)
90factory.Target.PointerSize == 4 ? RelocType.IMAGE_REL_BASED_HIGHLOW : RelocType.IMAGE_REL_BASED_DIR64, factory.Target.CodeDelta);
Compiler\DependencyAnalysis\ReadyToRun\ExceptionInfoLookupTableNode.cs (3)
124exceptionInfoLookupBuilder.EmitReloc(_methodNodes[index], RelocType.IMAGE_REL_BASED_ADDR32NB); 125exceptionInfoLookupBuilder.EmitReloc(_ehInfoNode, RelocType.IMAGE_REL_BASED_ADDR32NB, _ehInfoOffsets[index]); 130exceptionInfoLookupBuilder.EmitReloc(_ehInfoNode, RelocType.IMAGE_REL_BASED_ADDR32NB, _ehInfoNode.Count);
Compiler\DependencyAnalysis\ReadyToRun\ImportSectionNode.cs (4)
109dataBuilder.EmitReloc(_imports, RelocType.IMAGE_REL_BASED_ADDR32NB, 0); 118dataBuilder.EmitReloc(_imports, RelocType.IMAGE_REL_SYMBOL_SIZE); 126dataBuilder.EmitReloc(_signatures, RelocType.IMAGE_REL_BASED_ADDR32NB, 0); 137dataBuilder.EmitReloc(_gcRefMap, RelocType.IMAGE_REL_BASED_ADDR32NB, 0);
Compiler\DependencyAnalysis\ReadyToRun\InjectStringThunksSignature.cs (3)
46RelocType relocType = factory.Target.Architecture == TargetArchitecture.Wasm32 47? RelocType.WASM_TABLE_INDEX_REL_I32 48: RelocType.IMAGE_REL_BASED_ADDR32NB;
Compiler\DependencyAnalysis\ReadyToRun\MethodGCInfoNode.cs (1)
276dataBuilder.EmitReloc(item.Symbol, RelocType.IMAGE_REL_BASED_ADDR32NB, item.SymbolDelta);
Compiler\DependencyAnalysis\ReadyToRun\ReadyToRunHeaderNode.cs (2)
189builder.EmitReloc(item.StartSymbol, RelocType.IMAGE_REL_BASED_ADDR32NB); 194builder.EmitReloc(item.StartSymbol, RelocType.IMAGE_REL_SYMBOL_SIZE, delta);
Compiler\DependencyAnalysis\ReadyToRun\ResumptionStubEntryPointSignature.cs (1)
23builder.EmitReloc(_resumptionStub, RelocType.IMAGE_REL_BASED_ADDR32NB, delta: factory.Target.CodeDelta);
Compiler\DependencyAnalysis\ReadyToRun\RuntimeFunctionsTableNode.cs (4)
129runtimeFunctionsBuilder.EmitReloc(symbol, RelocType.WASM_TABLE_INDEX_I32, frameIndex); 133runtimeFunctionsBuilder.EmitReloc(symbol, RelocType.IMAGE_REL_BASED_ADDR32NB, delta: frameInfo.StartOffset + _nodeFactory.Target.CodeDelta); 138runtimeFunctionsBuilder.EmitReloc(symbol, RelocType.IMAGE_REL_BASED_ADDR32NB, delta: frameInfo.EndOffset); 141runtimeFunctionsBuilder.EmitReloc(factory.RuntimeFunctionsGCInfo, RelocType.IMAGE_REL_BASED_ADDR32NB, funcletOffsets[frameIndex]);
Compiler\DependencyAnalysis\ReadyToRun\SignatureBuilder.cs (1)
594public void EmitReloc(ISymbolNode symbol, RelocType relocType, int delta = 0)
Compiler\DependencyAnalysis\ReadyToRun\SignatureEmbeddedPointerIndirectionNode.cs (1)
33dataBuilder.EmitReloc(Target, RelocType.IMAGE_REL_BASED_ADDR32NB);
Compiler\DependencyAnalysis\ReadyToRun\SymbolNodeRange.cs (1)
13/// Provides a machanism to represent a contiguous range of object nodes as a single node where the <see cref="RelocType.IMAGE_REL_SYMBOL_SIZE" /> reloc can refer to the range between two nodes.
Compiler\DependencyAnalysis\ReadyToRun\WasmImportThunkPortableEntrypoint.cs (4)
77RelocType tableIndexPointerRelocType = factory.Target.PointerSize == 4 ? RelocType.WASM_TABLE_INDEX_I32 : RelocType.WASM_TABLE_INDEX_I64; 93builder.EmitReloc(_import, RelocType.IMAGE_REL_BASED_ADDR32NB);
ObjectWriter\MapFileBuilder.cs (2)
169KeyValuePair<RelocType, int>[] relocTypeCounts = _outputInfoBuilder.RelocCounts.ToArray(); 174foreach (KeyValuePair<RelocType, int> relocTypeCount in relocTypeCounts)
src\runtime\src\coreclr\tools\Common\Compiler\DependencyAnalysis\ObjectDataBuilder.cs (36)
254public void EmitReloc(ISymbolNode symbol, RelocType relocType, int delta = 0) 270case RelocType.WASM_TABLE_INDEX_I32: 271case RelocType.WASM_TABLE_INDEX_REL_I32: 272case RelocType.IMAGE_REL_BASED_REL32: 273case RelocType.IMAGE_REL_BASED_RELPTR32: 274case RelocType.IMAGE_REL_BASED_ABSOLUTE: 275case RelocType.IMAGE_REL_BASED_HIGHLOW: 276case RelocType.IMAGE_REL_SECREL: 277case RelocType.IMAGE_REL_TLSGD: 278case RelocType.IMAGE_REL_TPOFF: 279case RelocType.IMAGE_REL_FILE_ABSOLUTE: 280case RelocType.IMAGE_REL_BASED_ADDR32NB: 281case RelocType.IMAGE_REL_SYMBOL_SIZE: 284case RelocType.IMAGE_REL_BASED_DIR64: 287case RelocType.IMAGE_REL_BASED_THUMB_BRANCH24: 288case RelocType.IMAGE_REL_BASED_ARM64_BRANCH26: 289case RelocType.IMAGE_REL_BASED_THUMB_MOV32: 290case RelocType.IMAGE_REL_BASED_THUMB_MOV32_PCREL: 291case RelocType.IMAGE_REL_BASED_ARM64_PAGEBASE_REL21: 292case RelocType.IMAGE_REL_BASED_ARM64_PAGEOFFSET_12L: 293case RelocType.IMAGE_REL_BASED_ARM64_PAGEOFFSET_12A: 295case RelocType.IMAGE_REL_AARCH64_TLSDESC_ADR_PAGE21: 296case RelocType.IMAGE_REL_AARCH64_TLSDESC_LD64_LO12: 297case RelocType.IMAGE_REL_AARCH64_TLSDESC_ADD_LO12: 298case RelocType.IMAGE_REL_AARCH64_TLSDESC_CALL: 299case RelocType.IMAGE_REL_AARCH64_TLSLE_ADD_TPREL_HI12: 300case RelocType.IMAGE_REL_AARCH64_TLSLE_ADD_TPREL_LO12_NC: 302case RelocType.IMAGE_REL_BASED_LOONGARCH64_PC: 303case RelocType.IMAGE_REL_BASED_LOONGARCH64_JIR: 305case RelocType.IMAGE_REL_BASED_RISCV64_CALL_PLT: 306case RelocType.IMAGE_REL_BASED_RISCV64_PCREL_I: 307case RelocType.IMAGE_REL_BASED_RISCV64_PCREL_S: 313case RelocType.IMAGE_REL_FILE_CHECKSUM_CALLBACK: 324EmitReloc(symbol, (_target.PointerSize == 8) ? RelocType.IMAGE_REL_BASED_DIR64 : RelocType.IMAGE_REL_BASED_HIGHLOW, delta); 329EmitReloc(checksum, RelocType.IMAGE_REL_FILE_CHECKSUM_CALLBACK, checksum.ChecksumSize);
src\runtime\src\coreclr\tools\Common\Compiler\DependencyAnalysis\Relocation.cs (126)
112public readonly RelocType RelocType; 602public Relocation(RelocType relocType, int offset, ISymbolNode target) 610public static unsafe void WriteValue(RelocType relocType, void* location, long value) 614case RelocType.IMAGE_REL_BASED_ABSOLUTE: 615case RelocType.IMAGE_REL_BASED_ADDR32NB: 616case RelocType.IMAGE_REL_BASED_HIGHLOW: 617case RelocType.IMAGE_REL_BASED_REL32: 618case RelocType.IMAGE_REL_BASED_RELPTR32: 619case RelocType.IMAGE_REL_SECREL: 620case RelocType.IMAGE_REL_TLSGD: 621case RelocType.IMAGE_REL_TPOFF: 622case RelocType.IMAGE_REL_SYMBOL_SIZE: 623case RelocType.IMAGE_REL_FILE_ABSOLUTE: 624case RelocType.IMAGE_REL_AARCH64_TLSDESC_CALL: 627case RelocType.IMAGE_REL_AARCH64_TLSDESC_LD64_LO12: 629case RelocType.IMAGE_REL_BASED_DIR64: 632case RelocType.IMAGE_REL_BASED_THUMB_MOV32: 633case RelocType.IMAGE_REL_BASED_THUMB_MOV32_PCREL: 636case RelocType.IMAGE_REL_BASED_THUMB_BRANCH24: 639case RelocType.IMAGE_REL_BASED_ARM64_BRANCH26: 642case RelocType.IMAGE_REL_BASED_ARM64_PAGEBASE_REL21: 643case RelocType.IMAGE_REL_AARCH64_TLSDESC_ADR_PAGE21: 646case RelocType.IMAGE_REL_ARM64_TLS_SECREL_HIGH12A: 649case RelocType.IMAGE_REL_BASED_ARM64_PAGEOFFSET_12A: 650case RelocType.IMAGE_REL_AARCH64_TLSDESC_ADD_LO12: 651case RelocType.IMAGE_REL_ARM64_TLS_SECREL_LOW12A: 654case RelocType.IMAGE_REL_BASED_ARM64_PAGEOFFSET_12L: 657case RelocType.IMAGE_REL_BASED_LOONGARCH64_PC: 660case RelocType.IMAGE_REL_BASED_LOONGARCH64_JIR: 663case RelocType.IMAGE_REL_BASED_RISCV64_CALL_PLT: 664case RelocType.IMAGE_REL_BASED_RISCV64_PCREL_I: 665case RelocType.IMAGE_REL_BASED_RISCV64_PCREL_S: 666bool isStype = (relocType is RelocType.IMAGE_REL_BASED_RISCV64_PCREL_S); 670case RelocType.WASM_TYPE_INDEX_LEB: 671case RelocType.WASM_GLOBAL_INDEX_LEB: 672case RelocType.WASM_FUNCTION_INDEX_LEB: 673case RelocType.WASM_MEMORY_ADDR_LEB: 674case RelocType.WASM_MEMORY_ADDR_REL_LEB: 678case RelocType.WASM_TABLE_INDEX_SLEB: 679case RelocType.WASM_MEMORY_ADDR_SLEB: 680case RelocType.WASM_MEMORY_ADDR_REL_SLEB: 683case RelocType.WASM_TABLE_INDEX_I32: 684case RelocType.WASM_TABLE_INDEX_REL_I32: 687case RelocType.WASM_TABLE_INDEX_I64: 700public static int GetSize(RelocType relocType) 704RelocType.IMAGE_REL_BASED_DIR64 => 8, 705RelocType.IMAGE_REL_BASED_HIGHLOW => 4, 706RelocType.IMAGE_REL_BASED_ADDR32NB => 4, 707RelocType.IMAGE_REL_BASED_REL32 => 4, 708RelocType.IMAGE_REL_BASED_RELPTR32 => 4, 709RelocType.IMAGE_REL_FILE_ABSOLUTE => 4, 713RelocType.IMAGE_REL_BASED_ARM64_PAGEBASE_REL21 => 4, 714RelocType.IMAGE_REL_BASED_ARM64_PAGEOFFSET_12A => 4, 715RelocType.IMAGE_REL_BASED_ARM64_PAGEOFFSET_12L => 4, 716RelocType.IMAGE_REL_BASED_THUMB_MOV32 => 8, 717RelocType.IMAGE_REL_BASED_THUMB_MOV32_PCREL => 8, 718RelocType.IMAGE_REL_BASED_LOONGARCH64_PC => 8, 719RelocType.IMAGE_REL_BASED_LOONGARCH64_JIR => 8, 720RelocType.IMAGE_REL_BASED_RISCV64_CALL_PLT => 8, 721RelocType.IMAGE_REL_BASED_RISCV64_PCREL_I => 8, 722RelocType.IMAGE_REL_BASED_RISCV64_PCREL_S => 8, 724RelocType.WASM_FUNCTION_INDEX_LEB => WASM_PADDED_RELOC_SIZE_32, 725RelocType.WASM_TABLE_INDEX_SLEB => WASM_PADDED_RELOC_SIZE_32, 726RelocType.WASM_TYPE_INDEX_LEB => WASM_PADDED_RELOC_SIZE_32, 727RelocType.WASM_GLOBAL_INDEX_LEB => WASM_PADDED_RELOC_SIZE_32, 728RelocType.WASM_MEMORY_ADDR_LEB => WASM_PADDED_RELOC_SIZE_32, 729RelocType.WASM_MEMORY_ADDR_SLEB => WASM_PADDED_RELOC_SIZE_32, 730RelocType.WASM_MEMORY_ADDR_REL_LEB => WASM_PADDED_RELOC_SIZE_32, 731RelocType.WASM_MEMORY_ADDR_REL_SLEB => WASM_PADDED_RELOC_SIZE_32, 732RelocType.WASM_TABLE_INDEX_I32 => 4, 733RelocType.WASM_TABLE_INDEX_REL_I32 => 4, 734RelocType.WASM_TABLE_INDEX_I64 => 8, 740public static unsafe long ReadValue(RelocType relocType, void* location) 744case RelocType.IMAGE_REL_BASED_ABSOLUTE: 745case RelocType.IMAGE_REL_BASED_ADDR32NB: 746case RelocType.IMAGE_REL_BASED_HIGHLOW: 747case RelocType.IMAGE_REL_BASED_REL32: 748case RelocType.IMAGE_REL_BASED_RELPTR32: 749case RelocType.IMAGE_REL_SECREL: 750case RelocType.IMAGE_REL_TLSGD: 751case RelocType.IMAGE_REL_TPOFF: 752case RelocType.IMAGE_REL_FILE_ABSOLUTE: 753case RelocType.IMAGE_REL_SYMBOL_SIZE: 755case RelocType.IMAGE_REL_BASED_DIR64: 757case RelocType.IMAGE_REL_BASED_THUMB_MOV32: 758case RelocType.IMAGE_REL_BASED_THUMB_MOV32_PCREL: 760case RelocType.IMAGE_REL_BASED_THUMB_BRANCH24: 762case RelocType.IMAGE_REL_BASED_ARM64_BRANCH26: 764case RelocType.IMAGE_REL_BASED_ARM64_PAGEBASE_REL21: 766case RelocType.IMAGE_REL_BASED_ARM64_PAGEOFFSET_12A: 767case RelocType.IMAGE_REL_ARM64_TLS_SECREL_HIGH12A: 768case RelocType.IMAGE_REL_ARM64_TLS_SECREL_LOW12A: 770case RelocType.IMAGE_REL_BASED_ARM64_PAGEOFFSET_12L: 772case RelocType.IMAGE_REL_AARCH64_TLSDESC_LD64_LO12: 773case RelocType.IMAGE_REL_AARCH64_TLSDESC_ADD_LO12: 774case RelocType.IMAGE_REL_AARCH64_TLSLE_ADD_TPREL_HI12: 775case RelocType.IMAGE_REL_AARCH64_TLSLE_ADD_TPREL_LO12_NC: 779case RelocType.IMAGE_REL_AARCH64_TLSDESC_ADR_PAGE21: 783case RelocType.IMAGE_REL_AARCH64_TLSDESC_CALL: 786case RelocType.IMAGE_REL_BASED_LOONGARCH64_PC: 788case RelocType.IMAGE_REL_BASED_LOONGARCH64_JIR: 790case RelocType.IMAGE_REL_BASED_RISCV64_CALL_PLT: 791case RelocType.IMAGE_REL_BASED_RISCV64_PCREL_I: 792case RelocType.IMAGE_REL_BASED_RISCV64_PCREL_S: 793bool isStype = (relocType is RelocType.IMAGE_REL_BASED_RISCV64_PCREL_S); 795case RelocType.WASM_FUNCTION_INDEX_LEB: 796case RelocType.WASM_TABLE_INDEX_SLEB: 797case RelocType.WASM_TABLE_INDEX_I32: 798case RelocType.WASM_TABLE_INDEX_REL_I32: 799case RelocType.WASM_TABLE_INDEX_I64: 800case RelocType.WASM_TYPE_INDEX_LEB: 801case RelocType.WASM_GLOBAL_INDEX_LEB: 805case RelocType.WASM_MEMORY_ADDR_LEB: 806case RelocType.WASM_MEMORY_ADDR_REL_LEB: 809case RelocType.WASM_MEMORY_ADDR_SLEB: 810case RelocType.WASM_MEMORY_ADDR_REL_SLEB: 826public static RelocType GetFileRelocationType(RelocType relocationType) 830case RelocType.IMAGE_REL_BASED_HIGHLOW: 831case RelocType.IMAGE_REL_BASED_DIR64: 832case RelocType.IMAGE_REL_BASED_THUMB_MOV32: 835case RelocType.WASM_TABLE_INDEX_I32: 836return RelocType.IMAGE_REL_BASED_WASM32_TABLE; 838case RelocType.WASM_TABLE_INDEX_I64: 839return RelocType.IMAGE_REL_BASED_WASM64_TABLE; 842return RelocType.IMAGE_REL_BASED_ABSOLUTE;
src\runtime\src\coreclr\tools\Common\Compiler\DependencyAnalysis\Target_ARM\ARMEmitter.cs (2)
179Builder.EmitReloc(symbol, RelocType.IMAGE_REL_BASED_THUMB_MOV32_PCREL); // 12-byte offset is part of the relocation 198Builder.EmitReloc(symbol, RelocType.IMAGE_REL_BASED_THUMB_BRANCH24);
src\runtime\src\coreclr\tools\Common\Compiler\DependencyAnalysis\Target_ARM64\ARM64Emitter.cs (5)
44Builder.EmitReloc(symbol, RelocType.IMAGE_REL_BASED_ARM64_PAGEBASE_REL21); 48Builder.EmitReloc(symbol, RelocType.IMAGE_REL_BASED_ARM64_PAGEOFFSET_12A); 56Builder.EmitReloc(symbol, RelocType.IMAGE_REL_BASED_ARM64_PAGEBASE_REL21); 106Builder.EmitReloc(symbol, RelocType.IMAGE_REL_BASED_ARM64_PAGEOFFSET_12L); 182Builder.EmitReloc(symbol, RelocType.IMAGE_REL_BASED_ARM64_BRANCH26);
src\runtime\src\coreclr\tools\Common\Compiler\DependencyAnalysis\Target_LoongArch64\LoongArch64Emitter.cs (3)
42Builder.EmitReloc(symbol, RelocType.IMAGE_REL_BASED_LOONGARCH64_PC); 97Builder.EmitReloc(symbol, RelocType.IMAGE_REL_BASED_LOONGARCH64_PC); 127Builder.EmitReloc(symbol, RelocType.IMAGE_REL_BASED_LOONGARCH64_JIR);
src\runtime\src\coreclr\tools\Common\Compiler\DependencyAnalysis\Target_RiscV64\RiscV64Emitter.cs (3)
46Builder.EmitReloc(symbol, RelocType.IMAGE_REL_BASED_RISCV64_PCREL_I); 92Builder.EmitReloc(symbol, RelocType.IMAGE_REL_BASED_RISCV64_PCREL_I); 121Builder.EmitReloc(symbol, RelocType.IMAGE_REL_BASED_RISCV64_CALL_PLT);
src\runtime\src\coreclr\tools\Common\Compiler\DependencyAnalysis\Target_X64\X64Emitter.cs (8)
50Builder.EmitReloc(node, RelocType.IMAGE_REL_BASED_REL32); 64Builder.EmitReloc(symbol, RelocType.IMAGE_REL_BASED_REL32, delta); 96Builder.EmitReloc(symbol, RelocType.IMAGE_REL_BASED_REL32); 101Builder.EmitReloc(symbol, RelocType.IMAGE_REL_BASED_REL32); 116Builder.EmitReloc(symbol, RelocType.IMAGE_REL_BASED_REL32); 130Builder.EmitReloc(symbol, RelocType.IMAGE_REL_BASED_REL32); 157Builder.EmitReloc(node, RelocType.IMAGE_REL_BASED_REL32); 167Builder.EmitReloc(node, RelocType.IMAGE_REL_BASED_REL32);
src\runtime\src\coreclr\tools\Common\Compiler\DependencyAnalysis\Target_X86\X86Emitter.cs (6)
41Builder.EmitReloc(symbol, RelocType.IMAGE_REL_BASED_HIGHLOW); 73Builder.EmitReloc(symbol, RelocType.IMAGE_REL_BASED_HIGHLOW); 78Builder.EmitReloc(symbol, RelocType.IMAGE_REL_BASED_REL32); 92Builder.EmitReloc(symbol, RelocType.IMAGE_REL_BASED_REL32); 144Builder.EmitReloc(node, RelocType.IMAGE_REL_BASED_HIGHLOW); 166Builder.EmitReloc(node, RelocType.IMAGE_REL_BASED_HIGHLOW, delta);
src\runtime\src\coreclr\tools\Common\Compiler\ObjectWriter\CoffObjectWriter.cs (2)
19using static ILCompiler.DependencyAnalysis.RelocType; 191RelocType relocType,
src\runtime\src\coreclr\tools\Common\Compiler\ObjectWriter\ElfObjectWriter.cs (2)
18using static ILCompiler.DependencyAnalysis.RelocType; 195RelocType relocType,
src\runtime\src\coreclr\tools\Common\Compiler\ObjectWriter\MachObjectWriter.cs (6)
17using static ILCompiler.DependencyAnalysis.RelocType; 72/// Base symbol to use for <see cref="RelocType.IMAGE_REL_BASED_ADDR32NB"/> relocations. 409RelocType relocType, 418if (relocType == RelocType.IMAGE_REL_SYMBOL_SIZE) 613if (symbolicRelocation.Type == RelocType.IMAGE_REL_SYMBOL_SIZE 740if (symbolicRelocation.Type == RelocType.IMAGE_REL_SYMBOL_SIZE
src\runtime\src\coreclr\tools\Common\Compiler\ObjectWriter\ObjectWriter.cs (9)
18using static ILCompiler.DependencyAnalysis.RelocType; 28protected sealed record SymbolicRelocation(long Offset, RelocType Type, Utf8String SymbolName, long Addend = 0); 164RelocType relocType, 233RelocType relocType, 485if ((reloc.RelocType is RelocType.IMAGE_REL_BASED_DIR64 && _nodeFactory.Target.PointerSize == 8) || 486(reloc.RelocType is RelocType.IMAGE_REL_BASED_HIGHLOW && _nodeFactory.Target.PointerSize == 4)) 511RelocType fileReloc = Relocation.GetFileRelocationType(reloc.RelocType); 512if (fileReloc != RelocType.IMAGE_REL_BASED_ABSOLUTE) 564if (reloc.RelocType == RelocType.IMAGE_REL_FILE_CHECKSUM_CALLBACK)
src\runtime\src\coreclr\tools\Common\Compiler\ObjectWriter\OutputInfoBuilder.cs (3)
132private readonly Dictionary<RelocType, int> _relocCounts = []; 145public void AddRelocation(OutputNode node, RelocType relocType) 247public IReadOnlyDictionary<RelocType, int> RelocCounts => _relocCounts;
src\runtime\src\coreclr\tools\Common\Compiler\ObjectWriter\PEObjectWriter.cs (23)
634sectionWriter.EmitSymbolReference(RelocType.IMAGE_REL_BASED_ADDR32NB, exportsStringTableSymbol, exportsStringTable.GetStringOffset(moduleName)); 642sectionWriter.EmitSymbolReference(RelocType.IMAGE_REL_BASED_ADDR32NB, addressTableSymbol); 644sectionWriter.EmitSymbolReference(RelocType.IMAGE_REL_BASED_ADDR32NB, namePointerTableSymbol); 646sectionWriter.EmitSymbolReference(RelocType.IMAGE_REL_BASED_ADDR32NB, ordinalPointerTableSymbol); 653sectionWriter.EmitSymbolReference(RelocType.IMAGE_REL_BASED_ADDR32NB, exportName); 661sectionWriter.EmitSymbolReference(RelocType.IMAGE_REL_BASED_ADDR32NB, exportsStringTableSymbol, exportsStringTable.GetStringOffset(exportName)); 898case RelocType.IMAGE_REL_BASED_ABSOLUTE: 902case RelocType.IMAGE_REL_BASED_THUMB_MOV32: 903case RelocType.IMAGE_REL_BASED_DIR64: 904case RelocType.IMAGE_REL_BASED_HIGHLOW: 908case RelocType.IMAGE_REL_BASED_ADDR32NB: 911case RelocType.IMAGE_REL_BASED_REL32: 912case RelocType.IMAGE_REL_BASED_RELPTR32: 915case RelocType.IMAGE_REL_FILE_ABSOLUTE: 919case RelocType.IMAGE_REL_BASED_THUMB_MOV32_PCREL: 923case RelocType.IMAGE_REL_BASED_ARM64_PAGEBASE_REL21: 931case RelocType.IMAGE_REL_BASED_ARM64_PAGEOFFSET_12A: 932case RelocType.IMAGE_REL_BASED_ARM64_PAGEOFFSET_12L: 935case RelocType.IMAGE_REL_BASED_LOONGARCH64_PC: 942case RelocType.IMAGE_REL_BASED_LOONGARCH64_JIR: 943case RelocType.IMAGE_REL_BASED_RISCV64_CALL_PLT: 944case RelocType.IMAGE_REL_BASED_RISCV64_PCREL_I: 945case RelocType.IMAGE_REL_BASED_RISCV64_PCREL_S:
src\runtime\src\coreclr\tools\Common\Compiler\ObjectWriter\SectionWriter.cs (3)
49RelocType relocType, 77RelocType relocType, 82int size = relocType == RelocType.IMAGE_REL_BASED_DIR64 ? sizeof(ulong) : sizeof(uint);
src\runtime\src\coreclr\tools\Common\Compiler\ObjectWriter\WasmInstructions.cs (15)
328private readonly RelocType _relocType; 330public WasmEncodableSymbol(ISymbolNode symbol, RelocType relocType) 348case RelocType.WASM_FUNCTION_INDEX_LEB: 349case RelocType.WASM_MEMORY_ADDR_LEB: 350case RelocType.WASM_MEMORY_ADDR_REL_LEB: 351case RelocType.WASM_TYPE_INDEX_LEB: 352case RelocType.WASM_GLOBAL_INDEX_LEB: 356case RelocType.WASM_TABLE_INDEX_SLEB: 357case RelocType.WASM_MEMORY_ADDR_REL_SLEB: 464return base.EncodeSize() + Relocation.GetSize(RelocType.WASM_TYPE_INDEX_LEB) + (int)tableSize; 470int relocSize = Relocation.GetSize(RelocType.WASM_TYPE_INDEX_LEB); 481buffer[0] = new Relocation(RelocType.WASM_TYPE_INDEX_LEB, base.EncodeSize(), _type); 490public WasmLEBConstantReloc(WasmExprKind kind, ISymbolNode symbol, RelocType relocType) : base(kind) 818return new WasmLEBConstantReloc(WasmExprKind.I32Const, symbolNode, RelocType.WASM_MEMORY_ADDR_REL_SLEB); 825public static WasmExpr LoadWithRVAOffset(ISymbolNode symbolNode) => new WasmMemoryArgInstruction<WasmEncodableSymbol>(WasmExprKind.I32Load, 4, new WasmEncodableSymbol(symbolNode, RelocType.WASM_MEMORY_ADDR_REL_LEB));
src\runtime\src\coreclr\tools\Common\Compiler\ObjectWriter\WasmObjectWriter.cs (18)
760private readonly record struct PendingBaseReloc(int SectionIndex, long Offset, RelocType FileRelocType); 779RelocType fileRelocType = Relocation.GetFileRelocationType(reloc.Type); 780if (fileRelocType is not RelocType.IMAGE_REL_BASED_ABSOLUTE) 884case RelocType.WASM_TYPE_INDEX_LEB: 901case RelocType.IMAGE_REL_BASED_ABSOLUTE: 905case RelocType.IMAGE_REL_BASED_DIR64: 906case RelocType.IMAGE_REL_BASED_HIGHLOW: 912case RelocType.IMAGE_REL_BASED_ADDR32NB: 916case RelocType.IMAGE_REL_BASED_REL32: 917case RelocType.IMAGE_REL_BASED_RELPTR32: 921case RelocType.IMAGE_REL_FILE_ABSOLUTE: 927case RelocType.WASM_MEMORY_ADDR_REL_SLEB: 945case RelocType.WASM_MEMORY_ADDR_REL_LEB: 961case RelocType.WASM_TABLE_INDEX_I32: 962case RelocType.WASM_TABLE_INDEX_I64: 963case RelocType.WASM_TABLE_INDEX_SLEB: 964case RelocType.WASM_TABLE_INDEX_REL_I32: 975case RelocType.WASM_FUNCTION_INDEX_LEB:
src\runtime\src\coreclr\tools\Common\Compiler\Win32Resources\ResourceData.Win32Structs.cs (1)
101RelocType.IMAGE_REL_BASED_ADDR32NB,
src\runtime\src\coreclr\tools\Common\JitInterface\CorInfoImpl.cs (32)
4240private RelocType GetRelocType(CorInfoReloc reloc) 4243CorInfoReloc.DIRECT => PointerSize == 8 ? RelocType.IMAGE_REL_BASED_DIR64 : RelocType.IMAGE_REL_BASED_HIGHLOW, 4244CorInfoReloc.RELATIVE32 => RelocType.IMAGE_REL_BASED_REL32, 4245CorInfoReloc.ARM64_BRANCH26 => RelocType.IMAGE_REL_BASED_ARM64_BRANCH26, 4246CorInfoReloc.ARM64_PAGEBASE_REL21 => RelocType.IMAGE_REL_BASED_ARM64_PAGEBASE_REL21, 4247CorInfoReloc.ARM64_PAGEOFFSET_12A => RelocType.IMAGE_REL_BASED_ARM64_PAGEOFFSET_12A, 4248CorInfoReloc.ARM64_LIN_TLSDESC_ADR_PAGE21 => RelocType.IMAGE_REL_AARCH64_TLSDESC_ADR_PAGE21, 4249CorInfoReloc.ARM64_LIN_TLSDESC_LD64_LO12 => RelocType.IMAGE_REL_AARCH64_TLSDESC_LD64_LO12, 4250CorInfoReloc.ARM64_LIN_TLSDESC_ADD_LO12 => RelocType.IMAGE_REL_AARCH64_TLSDESC_ADD_LO12, 4251CorInfoReloc.ARM64_LIN_TLSDESC_CALL => RelocType.IMAGE_REL_AARCH64_TLSDESC_CALL, 4252CorInfoReloc.ARM64_WIN_TLS_SECREL_HIGH12A => RelocType.IMAGE_REL_ARM64_TLS_SECREL_HIGH12A, 4253CorInfoReloc.ARM64_WIN_TLS_SECREL_LOW12A => RelocType.IMAGE_REL_ARM64_TLS_SECREL_LOW12A, 4254CorInfoReloc.AMD64_WIN_SECREL => RelocType.IMAGE_REL_SECREL, 4255CorInfoReloc.AMD64_LIN_TLSGD => RelocType.IMAGE_REL_TLSGD, 4256CorInfoReloc.ARM32_THUMB_BRANCH24 => RelocType.IMAGE_REL_BASED_THUMB_BRANCH24, 4257CorInfoReloc.ARM32_THUMB_MOV32 => RelocType.IMAGE_REL_BASED_THUMB_MOV32, 4258CorInfoReloc.ARM32_THUMB_MOV32_PCREL => RelocType.IMAGE_REL_BASED_THUMB_MOV32_PCREL, 4259CorInfoReloc.LOONGARCH64_PC => RelocType.IMAGE_REL_BASED_LOONGARCH64_PC, 4260CorInfoReloc.LOONGARCH64_JIR => RelocType.IMAGE_REL_BASED_LOONGARCH64_JIR, 4261CorInfoReloc.RISCV64_CALL_PLT => RelocType.IMAGE_REL_BASED_RISCV64_CALL_PLT, 4262CorInfoReloc.RISCV64_PCREL_I => RelocType.IMAGE_REL_BASED_RISCV64_PCREL_I, 4263CorInfoReloc.RISCV64_PCREL_S => RelocType.IMAGE_REL_BASED_RISCV64_PCREL_S, 4264CorInfoReloc.WASM_FUNCTION_INDEX_LEB => RelocType.WASM_FUNCTION_INDEX_LEB, 4265CorInfoReloc.WASM_TABLE_INDEX_SLEB => RelocType.WASM_TABLE_INDEX_SLEB, 4266CorInfoReloc.WASM_MEMORY_ADDR_LEB => RelocType.WASM_MEMORY_ADDR_LEB, 4267CorInfoReloc.WASM_MEMORY_ADDR_SLEB => RelocType.WASM_MEMORY_ADDR_SLEB, 4268CorInfoReloc.WASM_MEMORY_ADDR_REL_SLEB => RelocType.WASM_MEMORY_ADDR_REL_SLEB, 4269CorInfoReloc.WASM_MEMORY_ADDR_REL_LEB => RelocType.WASM_MEMORY_ADDR_REL_LEB, 4270CorInfoReloc.WASM_TYPE_INDEX_LEB => RelocType.WASM_TYPE_INDEX_LEB, 4271CorInfoReloc.WASM_GLOBAL_INDEX_LEB => RelocType.WASM_GLOBAL_INDEX_LEB, 4334RelocType relocType = GetRelocType(fRelocType);