/aosp_15_r20/bionic/ |
H A D | android-changes-for-ndk-developers.md | 233 ## Text Relocations (Enforced for API level >= 23) 236 relocations. Such an approach reduces load time and improves security. This was 237 only a change for 32-bit, because 64-bit never supported text relocations. 239 The usual reason for text relocations was non-position independent 254 the TEXTREL entry declares that the .so contains text relocations.) This 264 entry/flag but without any actual text relocations. This doesn't happen 266 you're not generating ELF files that claim to have text relocations, 269 *Potential problems*: Relocations enforce code pages being writable, and 271 linker issued warnings about text relocations from API level 19, but on API 272 level 23 and above refuses to load code with text relocations. [all …]
|
/aosp_15_r20/external/swiftshader/third_party/llvm-10.0/llvm/lib/Target/Mips/MCTargetDesc/ |
H A D | MipsELFObjectWriter.cpp | 138 /// The relocations that need a matching low part are 205 /// Print all the relocations. 229 "MIPS does not support one byte relocations"); in getRelocType() 243 "MIPS does not support 64-bit PC-relative relocations"); in getRelocType() 422 /// MIPS has a few relocations that have an AHL component in the expression used 427 /// The O32 ABI for example, uses REL relocations which store the addend in the 428 /// section data. All the relocations with AHL components affect 16-bit fields 430 /// resolves the limitation by linking relocations (e.g. R_MIPS_HI16 and 431 /// R_MIPS_LO16) and distributing the addend between the linked relocations. The 432 /// ABI mandates that such relocations must be next to each other in a [all …]
|
/aosp_15_r20/system/vold/ |
H A D | Checkpoint.cpp | 492 // A map of relocations. 493 // The map must be initialized so that relocations[0] = 0 499 // relocations[index] + s - index 500 typedef std::map<sector_t, sector_t> Relocations; typedef 502 void relocate(Relocations& relocations, sector_t dest, sector_t source, int count) { in relocate() argument 504 auto s = --relocations.upper_bound(source); in relocate() 507 Relocations slice; in relocate() 512 for (; s != relocations.end() && s->first < source + count; ++s) in relocate() 516 auto dest_end = --relocations.upper_bound(dest + count); in relocate() 517 relocations[dest + count] = dest + count - dest_end->first + dest_end->second; in relocate() [all …]
|
/aosp_15_r20/external/llvm/test/MC/ARM/ |
H A D | target-expressions.s | 3 @ RUN: | FileCheck -check-prefix CHECK-RELOCATIONS %s 70 @ CHECK-RELOCATIONS: Relocations [ 71 @ CHECK-RELOCATIONS: 0x4 R_ARM_MOVW_ABS_NC function 0x0 72 @ CHECK-RELOCATIONS: 0x8 R_ARM_MOVT_ABS function 0x0 73 @ CHECK-RELOCATIONS: 0xC R_ARM_MOVW_ABS_NC function 0x0 74 @ CHECK-RELOCATIONS: 0x10 R_ARM_MOVT_ABS function 0x0 75 @ CHECK-RELOCATIONS: 0x34 R_ARM_MOVW_ABS_NC external 0x0 76 @ CHECK-RELOCATIONS: 0x38 R_ARM_MOVT_ABS external 0x0 77 @ CHECK-RELOCATIONS: 0x3C R_ARM_MOVW_ABS_NC external 0x0 78 @ CHECK-RELOCATIONS: 0x40 R_ARM_MOVT_ABS external 0x0 [all …]
|
/aosp_15_r20/external/swiftshader/third_party/llvm-16.0/llvm/lib/Target/Mips/MCTargetDesc/ |
H A D | MipsELFObjectWriter.cpp | 138 /// The relocations that need a matching low part are 205 /// Print all the relocations. 231 "MIPS does not support one byte relocations"); in getRelocType() 399 /// MIPS has a few relocations that have an AHL component in the expression used 404 /// The O32 ABI for example, uses REL relocations which store the addend in the 405 /// section data. All the relocations with AHL components affect 16-bit fields 407 /// resolves the limitation by linking relocations (e.g. R_MIPS_HI16 and 408 /// R_MIPS_LO16) and distributing the addend between the linked relocations. The 409 /// ABI mandates that such relocations must be next to each other in a 416 /// - There may be multiple high parts relocations for one low part relocation. [all …]
|
/aosp_15_r20/external/coreboot/util/cbfstool/ |
H A D | rmodule.c | 21 /* Only these 2 relocations are expected to be found. */ in valid_reloc_386() 31 /* R_386_32 relocations are absolute. Must emit these. */ in should_emit_386() 48 /* Only these 5 relocations are expected to be found. */ in valid_reloc_amd64() 67 /* Only emit absolute relocations */ in should_emit_amd64() 78 /* Only these 6 relocations are expected to be found. */ in valid_reloc_arm() 90 /* R_ARM_ABS32 relocations are absolute. Must emit these. */ in should_emit_arm() 202 /* No relocations in this section. */ in for_each_reloc() 315 /* Obtain section which relocations apply. */ in filter_relocation_sections() 323 /* Do not process relocations for debug sections. */ in filter_relocation_sections() 330 * If relocations apply to a non program section ignore the in filter_relocation_sections() [all …]
|
/aosp_15_r20/external/swiftshader/third_party/llvm-16.0/llvm/lib/MC/ |
H A D | WinCOFFObjectWriter.cpp | 86 int Relocations = 0; member in __anonadd601ef0111::COFFSymbol 111 using relocations = std::vector<COFFRelocation>; typedef 121 relocations Relocations; member in __anonadd601ef0111::COFFSection 245 // Some relocations on ARM64 (the 21 bit ADRP relocations) have a slightly in WinCOFFObjectWriter() 561 if (Section->Relocations.size() >= 0xffff) in writeSectionHeaders() 626 // Write relocations for this section. in writeSection() 627 if (Sec.Relocations.empty()) { in writeSection() 636 if (Sec.Relocations.size() >= 0xffff) { in writeSection() 640 R.VirtualAddress = Sec.Relocations.size() + 1; in writeSection() 646 for (const auto &Relocation : Sec.Relocations) in writeSection() [all …]
|
/aosp_15_r20/external/llvm/lib/Target/Mips/MCTargetDesc/ |
H A D | MipsELFObjectWriter.cpp | 131 /// The relocations that need a matching low part are 197 /// Print all the relocations. 376 /// MIPS has a few relocations that have an AHL component in the expression used 381 /// The O32 ABI for example, uses REL relocations which store the addend in the 382 /// section data. All the relocations with AHL components affect 16-bit fields 384 /// resolves the limitation by linking relocations (e.g. R_MIPS_HI16 and 385 /// R_MIPS_LO16) and distributing the addend between the linked relocations. The 386 /// ABI mandates that such relocations must be next to each other in a 393 /// - There may be multiple high parts relocations for one low part relocation. 394 /// - There may be multiple low part relocations for one high part relocation. [all …]
|
/aosp_15_r20/prebuilts/gcc/linux-x86/host/x86_64-linux-glibc2.17-4.8/include/ |
D | bfd.h | 1472 /* Nonzero if this section uses RELA relocations, rather than REL. */ 1594 relocations created to relocate items within it. */ 2529 All relocations for all ELF USE_RELA targets should set this field 2531 However, the converse is not true: not all relocations of all ELF 2538 in the relocation sum. If the target relocations don't have an 2541 relocations do have an addend in the reloc, eg. ELF USE_RELA, this 2620 /* Basic absolute relocations of N bits. */ 2629 /* PC-relative relocations. Sometimes these are relative to the address 2641 /* Section relative relocations. Some targets need this for DWARF2. */ 2667 /* Size relocations. */ [all …]
|
/aosp_15_r20/external/swiftshader/third_party/llvm-10.0/llvm/lib/MC/ |
H A D | WinCOFFObjectWriter.cpp | 84 int Relocations = 0; member in __anon2217fd690111::COFFSymbol 109 using relocations = std::vector<COFFRelocation>; typedef 119 relocations Relocations; member in __anon2217fd690111::COFFSection 569 if (Section->Relocations.size() >= 0xffff) in writeSectionHeaders() 634 // Write relocations for this section. in writeSection() 635 if (Sec.Relocations.empty()) { in writeSection() 644 if (Sec.Relocations.size() >= 0xffff) { in writeSection() 648 R.VirtualAddress = Sec.Relocations.size() + 1; in writeSection() 654 for (const auto &Relocation : Sec.Relocations) in writeSection() 683 // Don't drop relocations between functions, even if they are in the same text in isSymbolRefDifferenceFullyResolvedImpl() [all …]
|
/aosp_15_r20/external/llvm/docs/ |
H A D | MCJITDesignAndImplementation.rst | 73 image must be loaded into suitable memory, relocations must be applied and 102 object image and for each section iterates through the relocations for 113 relocations have not yet been applied and the generated code is still not 117 relocations when loadObject completes. However, this shouldn't be 120 relocations are applied. It is possible to apply relocations multiple 148 external symbols and then apply all relocations for the object. 154 iterate through the list of relocations it has stored which are associated 160 sections and for each section iterates through a list of relocations that 163 relocations for which the symbol associated with the relocation is located 168 .. image:: MCJIT-resolve-relocations.png [all …]
|
/aosp_15_r20/bionic/linker/ |
H A D | linker_relocate.cpp | 133 // Fast path for JUMP_SLOT relocations. 135 // Fast path for typical relocations: ABSOLUTE, GLOB_DAT, or RELATIVE. 137 // Handle all relocation types, relocations in text sections, and statistics/tracing. 182 // While relocating a DSO with text relocations (obsolete and 32-bit only), the .text segment is in process_relocation_impl() 184 // (but not writable). Then switch it back to continue applying relocations in the segment. in process_relocation_impl() 214 // Skip symbol lookup for R_GENERIC_NONE relocations. in process_relocation_impl() 229 // Always process TLS relocations using the slow code path, so that STB_LOCAL symbols are in process_relocation_impl() 242 // STT_TLS type. Bionic doesn't support these relocations, so issue an in process_relocation_impl() 289 // use the relocation base for PC-relative relocations, so that the value written is zero. in process_relocation_impl() 317 // Almost all dynamic relocations are of one of these types, and most will be in process_relocation_impl() [all …]
|
/aosp_15_r20/external/swiftshader/third_party/llvm-16.0/llvm/lib/Target/AArch64/MCTargetDesc/ |
H A D | AArch64MachObjectWriter.cpp | 103 "ADR/ADRP relocations must be GOT relative"); in getAArch64FixupKindMachOInfo() 126 // Debug info sections can use local relocations. in canUseLocalRelocation() 130 // Otherwise, only pointer sized relocations are supported. in canUseLocalRelocation() 145 // FIXME: ld64 currently handles internal pointer-sized relocations in canUseLocalRelocation() 172 // ADRP fixups use relocations for the whole symbol value and only in recordRelocation() 178 // imm19 relocations are for conditional branches, which require in recordRelocation() 190 // 14-bit branch relocations should only target internal labels, and so in recordRelocation() 249 // We don't support PCrel relocations of differences. in recordRelocation() 257 // AArch64 always uses external relocations. If there is no symbol to use as in recordRelocation() 327 // Relocations inside debug sections always use local relocations when in recordRelocation() [all …]
|
/aosp_15_r20/external/swiftshader/third_party/llvm-10.0/llvm/lib/Target/AArch64/MCTargetDesc/ |
H A D | AArch64MachObjectWriter.cpp | 103 "ADR/ADRP relocations must be GOT relative"); in getAArch64FixupKindMachOInfo() 126 // Debug info sections can use local relocations. in canUseLocalRelocation() 130 // Otherwise, only pointer sized relocations are supported. in canUseLocalRelocation() 145 // FIXME: ld64 currently handles internal pointer-sized relocations in canUseLocalRelocation() 172 // ADRP fixups use relocations for the whole symbol value and only in recordRelocation() 178 // imm19 relocations are for conditional branches, which require in recordRelocation() 190 // 14-bit branch relocations should only target internal labels, and so in recordRelocation() 249 // We don't support PCrel relocations of differences. in recordRelocation() 257 // AArch64 always uses external relocations. If there is no symbol to use as in recordRelocation() 327 // Relocations inside debug sections always use local relocations when in recordRelocation() [all …]
|
/aosp_15_r20/external/llvm/lib/Target/AArch64/MCTargetDesc/ |
H A D | AArch64MachObjectWriter.cpp | 95 "ADR/ADRP relocations must be GOT relative"); in getAArch64FixupKindMachOInfo() 119 // Debug info sections can use local relocations. in canUseLocalRelocation() 123 // Otherwise, only pointer sized relocations are supported. in canUseLocalRelocation() 138 // FIXME: ld64 currently handles internal pointer-sized relocations in canUseLocalRelocation() 165 // ADRP fixups use relocations for the whole symbol value and only in recordRelocation() 171 // imm19 relocations are for conditional branches, which require in recordRelocation() 183 // 14-bit branch relocations should only target internal labels, and so in recordRelocation() 242 // We don't support PCrel relocations of differences. in recordRelocation() 250 // AArch64 always uses external relocations. If there is no symbol to use as in recordRelocation() 335 // Relocations inside debug sections always use local relocations when in recordRelocation() [all …]
|
/aosp_15_r20/external/llvm/test/MC/ARM/Windows/ |
H A D | mov32t-range.s | 2 @ RUN: | llvm-readobj -r - | FileCheck -check-prefix CHECK-RELOCATIONS %s 28 @ CHECK-RELOCATIONS: Relocations [ 29 @ CHECK-RELOCATIONS: .text { 30 @ CHECK-RELOCATIONS: 0x0 IMAGE_REL_ARM_MOV32T .rdata 31 @ CHECK-RELOCATIONS-NOT: 0x4 IMAGE_REL_ARM_MOV32T .rdata 32 @ CHECK-RELOCATIONS: } 33 @ CHECK-RELOCATIONS: ]
|
/aosp_15_r20/external/llvm/lib/MC/ |
H A D | WinCOFFObjectWriter.cpp | 75 int Relocations; member in __anon1e5d11470111::COFFSymbol 99 typedef std::vector<COFFRelocation> relocations; typedef 109 relocations Relocations; member in __anon1e5d11470111::COFFSection 206 Relocations(0), MC(nullptr) { in COFFSymbol() 627 // away any relocations to functions. in isSymbolRefDifferenceFullyResolvedImpl() 728 // Turn relocations for temporary symbols into section relocations. in recordRelocation() 743 ++Reloc.Symb->Relocations; in recordRelocation() 777 // generate the relocations however the rest of the MSVC toolchain is in recordRelocation() 788 // offset by 4 on ARM, however, because there is no RELA relocations, all in recordRelocation() 800 coff_section->Relocations.push_back(Reloc); in recordRelocation() [all …]
|
/aosp_15_r20/external/swiftshader/third_party/llvm-16.0/llvm/lib/ExecutionEngine/RuntimeDyld/ |
H A D | RuntimeDyld.cpp | 120 // Resolve the relocations for all symbols we currently know about. 127 dumpSectionMemory(S, "before relocations"); in resolveRelocations() 130 // First, resolve relocations associated with external symbols. in resolveRelocations() 141 dumpSectionMemory(S, "after relocations"); in resolveRelocations() 146 // Iterate over all outstanding relocations in resolveLocalRelocations() 147 for (const auto &Rel : Relocations) { in resolveLocalRelocations() 153 LLVM_DEBUG(dbgs() << "Resolving relocations Section #" << Idx << "\t" in resolveLocalRelocations() 157 Relocations.clear(); in resolveLocalRelocations() 311 // Skip absolute symbol relocations. in loadObjectImpl() 348 // Skip absolute symbol relocations. in loadObjectImpl() [all …]
|
/aosp_15_r20/frameworks/compile/mclinker/lib/Target/Mips/ |
D | MipsRelocator.h | 24 * \brief MipsRelocator creates and destroys the Mips relocations. 50 /// initializeScan - do initialization before scan relocations in pInput 54 /// finalizeScan - do finalization after scan relocations in pInput 58 /// initializeApply - do initialization before apply relocations in pInput 62 /// finalizeApply - do finalization after apply relocations in pInput 82 /// postponeRelocation - save R_MIPS_LO16 paired relocations 86 /// applyPostponedRelocations - apply all postponed relocations 131 /// by R_MIPS_HI16 and R_MIPS_GOT16 relocations. 198 * \brief Mips32Relocator creates and destroys the Mips 32-bit relocations. 213 * \brief Mips64Relocator creates and destroys the Mips 64-bit relocations.
|
/aosp_15_r20/external/llvm/lib/ExecutionEngine/RuntimeDyld/ |
H A D | RuntimeDyld.cpp | 118 // Resolve the relocations for all symbols we currently know about. 125 dumpSectionMemory(Sections[i], "before relocations"); in resolveRelocations() 128 // First, resolve relocations associated with external symbols. in resolveRelocations() 131 // Iterate over all outstanding relocations in resolveRelocations() 132 for (auto it = Relocations.begin(), e = Relocations.end(); it != e; ++it) { in resolveRelocations() 138 DEBUG(dbgs() << "Resolving relocations Section #" << Idx << "\t" in resolveRelocations() 142 Relocations.clear(); in resolveRelocations() 147 dumpSectionMemory(Sections[i], "after relocations"); in resolveRelocations() 290 // Parse and process relocations in loadObjectImpl() 291 DEBUG(dbgs() << "Parse relocations:\n"); in loadObjectImpl() [all …]
|
H A D | RuntimeDyldImpl.h | 64 /// relocations (like ARM). 72 /// for calculating relocations in some object formats (like MachO). 117 /// RelocationEntry - used to represent relocations internally in the dynamic 253 // For each symbol, keep a list of relocations based on it. Anytime 255 // the relocations get re-resolved. 259 // Relocations to sections already loaded. Indexed by SectionID which is the 262 std::unordered_map<unsigned, RelocationList> Relocations; variable 264 // Relocations to external symbols that are not yet resolved. Symbols are 278 // sections containing relocations should be. Defaults to 'false'. 382 /// \brief Resolves relocations from Relocs list with address from Value. [all …]
|
/aosp_15_r20/external/llvm/test/tools/llvm-readobj/ |
H A D | sections-ext.test | 34 COFF-NEXT: Relocations [ 87 ELF-NEXT: Relocations [ 109 ELF-NEXT: Relocations [ 150 ELF-NEXT: Relocations [ 182 MACHO-I386-NEXT: Relocations [ 227 MACHO-X86-64-NEXT: Relocations [ 265 MACHO-X86-64-NEXT: Relocations [ 302 MACHO-PPC-NEXT: Relocations [ 375 MACHO-PPC-NEXT: Relocations [ 427 MACHO-PPC-NEXT: Relocations [ [all …]
|
/aosp_15_r20/external/cronet/third_party/boringssl/src/crypto/fipsmodule/ |
H A D | FIPS.md | 58 … of relocations: places in the machine code where the linker needs to resolve and inject the final… 60 …of shared libraries and ASLR, some relocations can only be resolved at run-time, and thus targets … 64 …relocations in the hashed code and data. This document describes how we build C and assembly code … 80 The static build cannot depend on the shared-object link to resolve relocations and thus must take … 84 … assembly implementations of some primitives and to eliminate the remaining sources of relocations. 88 The most obvious cause of relocations are out-calls from the module to non-cryptographic functions … 112 …d. Otherwise, although the generated code uses IP-relative references, relocations are emitted for… 113 …ved to the `.text` section, inside the module, so module code may reference it without relocations. 132 1. OpenSSL deals with run-time relocations by not hashing parts of the module's data.
|
/aosp_15_r20/external/mesa3d/src/intel/vulkan_hasvk/ |
H A D | anv_batch_chain.c | 49 * relocations and surface state. It specifically does *not* contain any 1193 /* List of relocations for surface states, only used with platforms not 1201 /* Indicates whether any of the command buffers have relocations. This 1204 * and we can make i915 skip the relocations. 1323 /* This is the first time we've ever seen a list of relocations for in anv_execbuf_add_bo() 1324 * this BO. Go ahead and set the relocations and then walk the list in anv_execbuf_add_bo() 1325 * of relocations and add them all. in anv_execbuf_add_bo() 1334 /* A quick sanity check on relocations */ in anv_execbuf_add_bo() 1394 /* All of the relocations from this block pool to other BO's should in adjust_relocations_from_state_pool() 1413 /* When we initially emit relocations into a block pool, we don't in adjust_relocations_to_state_pool() [all …]
|
/aosp_15_r20/external/llvm/lib/Target/ARM/MCTargetDesc/ |
H A D | ARMMachObjectWriter.cpp | 84 // have no relocations supported. in getARMFixupKindMachOInfo() 109 // For movw/movt r_type relocations they always have a pair following them and in getARMFixupKindMachOInfo() 181 // Relocations are written out in reverse order, so the PAIR comes first. in RecordARMScatteredHalfRelocation() 184 // For these two r_type relocations they always have a pair following them and in RecordARMScatteredHalfRelocation() 287 // Relocations are written out in reverse order, so the PAIR comes first. in RecordARMScatteredRelocation() 336 // BL/BLX also use external relocations when an internal relocation in requiresExternRelocation() 361 // relocations needed. in recordRelocation() 369 // relocations. in recordRelocation() 384 // FIXME: For other platforms, we need to use scattered relocations for in recordRelocation() 385 // internal relocations with offsets. If this is an internal relocation with in recordRelocation() [all …]
|