Home
last modified time | relevance | path

Searched full:sections (Results 1 – 25 of 1653) sorted by relevance

12345678910>>...67

/freebsd/contrib/llvm-project/lld/ELF/
H A DICF.cpp10 // identify and merge two or more read-only sections (typically functions)
14 // In ICF, two sections are considered identical if they have the same
17 // relocation types, values, and if they point to the same sections *in
31 // What we are doing in LLD is to partition sections into equivalence
32 // classes. Sections in the same equivalence class when the algorithm
35 // 1. First, we partition sections using their hash values as keys. Hash
38 // account. We just put sections that apparently differ into different
41 // 2. Next, for each equivalence class, we visit sections to compare
43 // their targets are in the same equivalence class. Sections with
53 // merge all the other sections in C with it.
[all …]
H A DOutputSections.cpp81 // We allow sections of types listed below to merged into a
84 // to be allocated for nobits sections. Other ones don't require
88 // NOTE: clang since rL252300 emits SHT_X86_64_UNWIND .eh_frame sections. Allow
103 // 2. Add the InputSection to the InputSectionDescription::sections.
198 // InputSectionDescription::sections.
201 // new synthetic sections at the location of the first input section
211 isd->sections.reserve(isd->sectionBases.size()); in finalizeInputSections()
215 isd->sections.push_back(cast<InputSection>(s)); in finalizeInputSections()
219 // We do not want to handle sections that are not alive, so just remove in finalizeInputSections()
229 // could be equal, so we may as well have two sections. in finalizeInputSections()
[all …]
H A DCallGraphSort.cpp9 /// The file is responsible for sorting sections using LLVM call graph profile
10 /// data by placing frequently executed code sections together. The goal of the
12 /// arranging code sections so that i-TLB misses and i-cache misses are reduced.
15 /// iteratively merges "chains" (ordered lists) of input sections which will be
64 /// code sections such that page table and i-cache misses are minimized.
68 /// * An ordered list of input sections which are laid out as a unit. At the
82 /// * Sort input sections by weight
98 std::vector<const InputSectionBase *> sections; member in __anon14bfe4470111::CallGraphSort
122 sections.push_back(isec); in CallGraphSort()
134 // Ignore edges between input sections belonging to different output in CallGraphSort()
[all …]
H A DWriter.cpp114 // Clear OutputSection::ptLoad for sections contained in removed in removeEmptyPTLoad()
200 // combines the typical ELF GOT with the small data sections. It commonly in addReservedSymbols()
283 // In addition, demote symbols defined in discarded sections, so that
319 // Now that we have a complete set of output sections. This function in run()
327 // If --compressed-debug-sections is specified, compress .debug_* sections. in run()
328 // Do it right now because it changes the size of output sections. in run()
337 // we know the size of the sections. in run()
411 // With --gc-sections, the field is already filled. in markUsedLocalSymbols()
443 // from live sections. in shouldKeepInSymtab()
447 // Exclude local symbols pointing to .ARM.exidx sections. in shouldKeepInSymtab()
[all …]
H A DLinkerScript.cpp80 // When no SECTIONS is specified, emulate GNU ld's internal linker scripts in getOutputSectionName()
81 // by grouping sections with certain prefixes. in getOutputSectionName()
83 // GNU ld places text sections with prefix ".text.hot.", ".text.unknown.", in getOutputSectionName()
85 // We provide an option -z keep-text-section-prefix to group such sections in getOutputSectionName()
86 // into separate output sections. This is more flexible. See also in getOutputSectionName()
93 // input sections. For example, with -fsplit-machine-functions, placing the in getOutputSectionName()
337 // adjustOutputSections(). We do not handle such output sections. in processInsertCommands()
380 // Skip such sections for now. Improve the checks if we ever in declareSymbols()
381 // need symbols from that sections to be declared early. in declareSymbols()
455 static bool matchConstraints(ArrayRef<InputSectionBase *> sections, in matchConstraints() argument
[all …]
H A DMarkLive.cpp9 // This file implements --gc-sections, which is a feature to remove unused
10 // sections from output. Unused sections are sections that are not reachable
11 // from known GC-root symbols or sections. Naturally the feature is
15 // by default. Starting with GC-root symbols or sections, markLive function
16 // defined in this file visits all reachable sections to set their Live
17 // bits. Writer will then ignore sections whose Live bits are off, so that
18 // such sections are not included into output.
80 // A list of sections to visit.
83 // There are normally few input sections whose names are valid C
139 // executable sections. If the LSDA is in a section group or has the in resolveReloc()
[all …]
/freebsd/contrib/llvm-project/lld/docs/ELF/
H A Dlinker_script.rst39 SECTIONS command
42 A ``SECTIONS`` command looks like:
46 SECTIONS {
55 When the ``INSERT`` keyword is present, the ``SECTIONS`` command describes some
56 output sections which should be inserted after or before the specified anchor
57 section. The insertion occurs after input sections have been mapped to output
58 sections but before orphan sections have been processed.
60 In the case where no linker script has been provided or every ``SECTIONS``
102 retain such sections unless all the symbol assignments are unreferenced
107 preceding output section with non-empty input sections also has the SHF_WRITE
[all …]
H A Dlarge_sections.rst1 Large data sections
16 lld normally lays out sections as follows:
29 Large globals are placed in separate sections from small globals, and those
30 sections have a "large" section flag, e.g. ``SHF_X86_64_LARGE`` for x86-64. The
31 linker places large sections on the outer edges of the binary, making sure they
39 large sections next to the small sections with the same RWX permissions when
48 non-PIC code, large sections should be placed after all small sections to avoid
H A Dstart-stop-gc.rst4 If your ``-Wl,--gc-sections`` build fail with a linker error like this:
8 …>>> the encapsulation symbol needs to be retained under --gc-sections properly; consider -z nostar…
10 it is likely your C identifier name sections are not properly annotated to
11 suffice under ``--gc-sections``.
15 reference from a live section retain all ``meta`` input sections. This
27 Annotate C identifier name sections
53 linker ``--gc-sections``.
64 If you use the ``SECTIONS`` command in a linker script, use
/freebsd/crypto/openssh/
H A DPROTOCOL.krl5 The KRL consists of a header and zero or more sections. The header is:
24 Following the header are zero or more sections, each consisting of:
44 These sections use type KRL_SECTION_CERTIFICATES to revoke certificates by
57 Followed by one or more sections:
83 These sections use type KRL_SECTION_CERT_SERIAL_RANGE and hold
96 Bitmap sections use type KRL_SECTION_CERT_SERIAL_BITMAP and revoke keys
107 2.4. Revoked key ID sections
109 KRL_SECTION_CERT_KEY_ID sections revoke particular certificate "key
142 3. Explicit key sections
144 These sections, identified as KRL_SECTION_EXPLICIT_KEY, revoke keys
[all …]
/freebsd/usr.bin/clang/llvm-objcopy/
H A Dllvm-objcopy.140 specified, the output may be modified along the way, e.g. by removing sections.
67 specified multiple times to add multiple sections.
88 ELF objects will not be discarded. Additionally, remove all debug sections.
94 specified multiple times to dump multiple sections to different files.
97 operations will still be performed. No operations are performed on the sections
117 Produce a debug file as the output that only preserves contents of sections
120 For ELF objects, this removes the contents of \fISHF_ALLOC\fP sections that are not
127 Remove all sections from the output, except for sections named \fB<section>\fP\&.
128 Can be specified multiple times to keep multiple sections.
158 to remove multiple sections simultaneously.
[all …]
/freebsd/crypto/krb5/src/util/profile/
H A Dprofile.512 Relations are always contained inside named sections. Sections can
13 contain relations and other named child sections.
15 Top-level sections are defined by enclosing the section name in square
16 braces. Child sections are defined by enclosing the contents of the
39 In this example, the profile file has two top-level sections,
42 "ATHENA.MIT.EDU". The realms section has two child sections,
46 relations with the name "kdc" in both sections; if a
50 Sections may be marked as "final". If they are marked as final, then
57 Top-level sections are marked as final by adding an '*' character
58 following the closing square brace. Child sections are marked as
[all …]
/freebsd/contrib/llvm-project/lld/docs/
H A Dld.lld.1154 .It Fl -compress-debug-sections Ns = Ns Ar value
155 Compress DWARF debug sections.
156 The sections remain uncompressed if compressed content would be larger.
170 .It Fl -compress-sections Ns = Ns Ar section-glob={none,zlib,zstd}[:level]
171 Compress output sections that match the glob and do not have the SHF_ALLOC flag.
172 The matched sections remain uncompressed if compressed content would be larger.
177 .Cm --compress-debug-sections.
233 Spill input sections to later matching output sections to avoid memory region overflow.
258 Mark executable sections unreadable.
299 .It Fl -gc-sections
[all …]
H A DPartitions.rst42 into partitions according to which sections of the program are reachable from
43 which entry points, similarly to how ``--gc-sections`` removes unused parts of
44 a program. Any sections that are only reachable from a loadable partition's
45 entry point are assigned to that partition, while all other sections are
46 assigned to the main partition, including sections only reachable from
49 The following diagram illustrates how sections are assigned to partitions. Each
65 clang -ffunction-sections -fdata-sections -c main.c
69 clang -ffunction-sections -fdata-sections -fsymbol-partition=libfeature.so -c feature.c
72 …ng main.o feature.o -fuse-ld=lld -shared -o libcombined.so -Wl,-soname,libmain.so -Wl,--gc-sections
106 ``SECTIONS`` or ``PHDRS`` linker script features, nor may it be used with the
[all …]
/freebsd/contrib/llvm-project/lld/MachO/
H A DOutputSegment.cpp12 #include "Sections.h"
61 for (const OutputSection *osec : sections) in numNonHiddenSections()
70 sections.push_back(osec); in addOutputSection()
89 // sections must be ordered after other sections). in segmentOrder()
96 // Sections are uniquely identified by their segment + section name. in sectionOrder()
100 // `__text` needs to precede the other code sections since its in sectionOrder()
107 // that certain sections are placed in a particular order, even if they in sectionOrder()
108 // are also categorized as code sections. This explicit ordering takes in sectionOrder()
124 // Ensure all code sections are contiguous with `__text` for thunk in sectionOrder()
126 if (sections::isCodeSection(osec->name, segment_names::text, osec->flags)) { in sectionOrder()
[all …]
H A DOutputSection.h27 // not to conflict with the ordering of zerofill sections, which must always be
31 // Output sections represent the finalized sections present within the final
32 // linked executable. They can represent special sections (like the symbol
33 // table), or represent coalesced sections from the various inputs given to the
52 // How much space the section occupies in the file. Most sections are copied
56 // Hidden sections omit header content, but body content may still be present.
58 // Unneeded sections are omitted entirely (header and body).
64 // assigned to output sections that occur earlier in the output binary.
65 // Naturally, this means different sections' finalize() methods cannot execute
84 // For output sections that don't have explicit ordering requirements, their
[all …]
/freebsd/contrib/llvm-project/llvm/lib/CodeGen/
H A DBasicBlockSections.cpp11 // The purpose of this pass is to assign sections to basic blocks when
12 // -fbasic-block-sections= option is used. Further, with profile information
13 // only the subset of basic blocks with profiles are placed in separate sections
17 // Basic Block Sections
20 // With option, -fbasic-block-sections=list, every function may be split into
25 // allow the linker to reorder the sections in any arbitrary sequence. A global
26 // order of these sections would encapsulate the function layout.
55 // needs special handling with basic block sections. DebugInfo needs to be
56 // emitted with more relocations as basic block sections can break a
116 return "Basic Block Sections Analysis"; in getPassName()
[all …]
/freebsd/contrib/llvm-project/llvm/tools/llvm-objcopy/
H A DObjcopyOpts.td35 : Joined<["--"], "compress-debug-sections=">,
37 HelpText<"Compress DWARF debug sections using specified format. Supported "
39 def : Flag<["--"], "compress-debug-sections">, Alias<compress_debug_sections>,
41 def decompress_debug_sections : Flag<["--"], "decompress-debug-sections">,
42 HelpText<"Decompress DWARF debug sections">;
44 : Eq<"compress-sections",
45 "Compress or decompress sections using specified format. Supported "
60 "Rename sections called <old> to <new>, and apply any specified <flag> values. "
117 HelpText<"Remove all DWARF .dwo sections">;
120 HelpText<"Remove all non-allocated sections that are not within segments">;
[all …]
/freebsd/contrib/llvm-project/llvm/include/llvm/CodeGen/
H A DBasicBlockSectionsProfileReader.h1 //===-- BasicBlockSectionsProfileReader.h - BB sections profile reader pass ==//
10 // sections profile. The cluster info will be used by the basic-block-sections
11 // pass to arrange basic blocks in their sections.
63 // Returns true if basic block sections profile exist for function \p
67 // Returns a pair with first element representing whether basic block sections
69 // representing the basic block sections profile (cluster info) for this
71 // means unique basic block sections are desired for all basic blocks of the
100 // Reads the basic block sections profile for functions in this module.
110 // This contains the basic-block-sections profile.
134 // sections profile. \p Buf is a memory buffer that contains the list of
[all …]
/freebsd/contrib/llvm-project/llvm/lib/ExecutionEngine/RuntimeDyld/Targets/
H A DRuntimeDyldCOFFI386.h80 SectionEntry &AddendSection = Sections[SectionID]; in processRelocationRef()
143 const auto Section = Sections[RE.SectionID]; in resolveRelocation()
153 RE.Sections.SectionA == static_cast<uint32_t>(-1) in resolveRelocation()
155 : Sections[RE.Sections.SectionA].getLoadAddressWithOffset( in resolveRelocation()
160 << " TargetSection: " << RE.Sections.SectionA in resolveRelocation()
170 Sections[RE.Sections.SectionA].getLoadAddressWithOffset(RE.Addend) - in resolveRelocation()
171 Sections[0].getLoadAddress(); in resolveRelocation()
175 << " TargetSection: " << RE.Sections in resolveRelocation()
[all...]
/freebsd/contrib/llvm-project/llvm/lib/ObjCopy/ELF/
H A DELFObject.cpp475 "--decompress-debug-sections: ch_type (" + in visit()
817 // layout sections correctly. We will fill the table with correct in prepareForLayout()
1058 // sections we also remove their relocation sections. Since we do that much in removeSectionReferences()
1166 // For sections not found in segments, OriginalOffset is only used to in init()
1167 // establish the order that sections should go in. By using the maximum in init()
1223 // Ignore just added sections. in sectionWithinSegment()
1303 for (SectionBase &Sec : Obj->sections()) in initSections()
1304 if (Error Err = Sec.initialize(Obj->sections())) in initSections()
1347 // Adds sections from IHEX data file. Data should have been
1363 // OriginalOffset field is only used to sort sections before layout, so in addDataSections()
[all …]
/freebsd/contrib/llvm-project/llvm/lib/ObjCopy/MachO/
H A DMachOReader.cpp63 std::vector<std::unique_ptr<Section>> Sections; in extractSections() local
76 Sections.push_back( in extractSections()
79 Section &S = *Sections.back(); in extractSections()
114 return std::move(Sections); in extractSections()
118 // For MachO sections indices start from 1. in readLoadCommands()
136 if (Expected<std::vector<std::unique_ptr<Section>>> Sections = in readLoadCommands() local
139 LC.Sections = std::move(*Sections); in readLoadCommands()
141 return Sections.takeError(); in readLoadCommands()
152 if (Expected<std::vector<std::unique_ptr<Section>>> Sections = in readLoadCommands() local
155 LC.Sections = std::move(*Sections); in readLoadCommands()
[all …]
/freebsd/contrib/llvm-project/lld/include/lld/Common/
H A DBPSectionOrdererBase.inc12 // to group similar sections together (resulting in a smaller compressed app
56 // similar sections together.
64 llvm::ArrayRef<Section *> sections,
79 ArrayRef<const typename D::Section *> sections,
91 const auto *isec = sections[sectionIdx];
103 // Merge sections that are nearly identical
155 ArrayRef<Section *> sections,
160 for (auto [i, isec] : llvm::enumerate(sections))
195 // If the same symbol is found in multiple sections, they might be
197 currentSize += D::getSize(*sections[*sectionIdxs.begin()]);
[all …]
/freebsd/contrib/llvm-project/llvm/lib/ObjCopy/wasm/
H A DWasmObject.cpp20 Sections.push_back(NewSection); in addSectionWithOwnedContents()
26 // For relocatable objects, avoid actually removing any sections, in removeSections()
27 // since that can invalidate the symbol table and relocation sections. in removeSections()
28 // TODO: Allow removal of sections by re-generating symbol table and in removeSections()
29 // relocation sections here instead. in removeSections()
30 for (auto &Sec : Sections) { in removeSections()
39 llvm::erase_if(Sections, ToRemove); in removeSections()
/freebsd/share/misc/
H A Dmdoc.template9 .\" This next request is for sections 2 and 3 only.
15 .\" This next request is for sections 2, 3 and 9 function return values only.
17 .\" This next request is for sections 1, 6, 7 and 8 only.
20 .\" This next request is for sections 1, 6, 7 and 8 only
24 .\" This next request is for sections 1, 6, 7, 8 and 9 only
28 .\" This next request is for sections 2, 3 and 9 error and signal handling only.

12345678910>>...67