Lines Matching defs:section
51 * VERSYM_STATE is used to maintain information about the VERSYM section
86 * Solaris versioning rules are in effect and there is a verdef section,
89 * 1) If there is no verneed section, it is the same as for
91 * 2) If there is a verneed section, the vna_other field of the
97 * a DT_VERSYM entry in the dynamic section: GNU ld produces these, and
102 * section. If gnu_full is True, then gnu_needed will always be true.
117 * table section, for use by the routines that display symbol information.
122 Cache *cache; /* Cache of all section headers */
125 Cache *seccache; /* Cache of symbol table section hdr */
126 Word secndx; /* Index of symbol table section hdr */
127 const char *secname; /* Name of section */
129 struct { /* Extended section index data */
131 Word *data; /* NULL, or extended section index */
135 VERSYM_STATE *versym; /* NULL, or associated VERSYM section */
150 /* .eh_frame_hdr section */
202 * section, as opposed to a bad offset into the section (a property of
203 * the referencing section), then we will detect the same error on
207 static Cache *last_refsec; /* Last referencing section seen */
221 * input section being processed. If the refsec has changed, reset
268 * Relocations can reference section symbols and standard symbols. If the
269 * former, establish the section name.
288 * If the symbol represents a section offset construct an appropriate
289 * string. Note, although section symbol table entries typically have
304 * Focal point for establishing a string table section. Data such as the
317 * Validate the symbol table section.
356 * Validate the associated string table section.
375 * cache - Cache of all section headers
378 * target - NULL, or section to which the symbol must be associated.
385 * section --- otherwise the section is not checked.
418 * Get the associated string table section.
455 * Print section headers.
468 * Although numerous section header entries can be zero, it's
480 * Identify any sections that are suspicious. A .got section
526 * cache - Cache of all section headers
527 * shndx - Index of .eh_frame or .eh_frame_hdr section to be displayed
530 * the .eh_frame_hdr section.
691 } else { /* Display the .eh_frame section */
709 * If we've seen the .eh_frame_hdr and the first .eh_frame section,
711 * section to ensure the link-editor got this right. Note, this
773 * Display exception_range_entry items from the .exception_ranges section
876 * sections was added, using the SHT_AMD64_UNWIND section type
885 * We match these sections by name, rather than section type,
961 * cache - Cache of all section headers
963 * secndx - Index of symbol table section
965 * versym - Information about versym section
1007 * Check associated string table section.
1016 * Determine if there is a associated Versym section
1030 * Determine the extended section index used for symbol tables entries.
1079 * address/size land inside the target section.
1138 * If we are using fake section headers derived from
1139 * the program headers, then the section indexes
1141 * The section names are not available, so all we can
1246 * section. UNDEF symbols don't count in this case,
1251 * object, it is the offset within the section.
1255 * section for non-ET_REL files, we subtract the
1256 * base address of the section.
1281 * section deletion.
1310 * Process a SHT_SUNW_cap capabilities section.
1334 * If this capabilities section is associated with symbols, then the
1336 * section. The sh_link field of the capabilities information section
1345 * information section.
1367 * information section points to a valid symbol table.
1390 * If this capabilities section contains capability string entries,
1392 * that define names require that the capability section indicate
1429 * Traverse the capabilities section printing each capability group.
1552 * .SUNW_capchain section should exist. This section contains a chain
1561 * information section looking for CAPINFO_SUNW_GLOB lead symbols.
1574 * information section points to a capabilities chain section.
1598 * Traverse the capabilities information section looking for
1678 * A .SUNW_cap section can contain one or more, CA_SUNW_NULL terminated,
1718 * Determine if a capabilities section exists.
1731 * If this section defined an object capability
1732 * group, retain the section information for
1800 * Determine if an interp section exists.
1807 * Scan sections to find a section which contains the PT_INTERP
1808 * string. The target section can't be in a NOBITS section.
1835 * section information, flag them.
1845 * Print the syminfo section.
1880 * If there is no associated dynamic section, determine if one
1882 * associated dynamic section, validate it and get the data buffer
1965 * si_boundto is referencing a dynamic section. If we don't
2050 * Print version definition section entries.
2101 * Print version needed section entries.
2106 * vcache - Cache of verneed section being processed
2107 * scache - Cache of associated string table section
2109 * versym - Information about versym section
2117 * The versym section of an object that follows the original
2119 * section. Symbols defined in other objects (UNDEF) are given
2127 * by the Verdef section, and the vna_other field of the Vernaux
2128 * structs inside the Verneed section contain the version index for
2130 * contents of a GNU style Verneed section. You should not
2134 * are assembled into the Verneed section afterwards.
2213 * Examine the Verneed section for information related to GNU
2223 * versym - Information about versym section
2272 * Display version section information if the flags require it.
2276 * cache - Cache of all section headers
2302 * section so that the runtime linker can use it to
2338 * understand the section, and will not use it.
2363 * The section is usable. Save the cache entry.
2369 * section, the max versym index is number
2381 * If there is a Verneed section, examine it for information
2390 * Verdef and Verneed section contents, if requested.
2490 * If the section references a SUNW_ldynsym, then we
2667 char section[BUFSIZ];
2688 symnum, relndx, syms, section, BUFSIZ, file);
2737 * the starting address of the section it references.
2741 * sh_type - SHT_* type value for required section.
2742 * sec_cache - Cache entry for section, or NULL if the object lacks
2743 * a section of this type.
2745 * dynsec_cnt - # of dynamic section being examined. The first
2746 * dynamic section is 1, the next is 2, and so on...
2758 * there is only one dynamic section in an object, and also only
2761 * over the section headers, which is very efficient. We are not
2762 * aware of any case where more than one dynamic section would
2768 * to locate the section it references and ensure the section is of
2770 * to the start of the section. Then, we could check the size and
2775 * section, we only test the first one, and simply allow the values
2782 * A DT_ item that references a section address should always find
2783 * the section in the file.
2789 * Supply section names instead of section types for
2814 /* The section address should match the DT_ item value */
2825 /* The section size should match the DT_ item value */
2859 * target_cache - Section the symname section is expected to be
2861 * cache - Cache of all section headers
2901 * Search for and process a .dynamic section.
2937 * Make a pass over all the sections, gathering section information
2962 * have to go on is the section name. Normally comparing
2981 * We want the SHT_REL section with the lowest
3002 * we simply grab the first section of the desired type.
3031 * If no dynamic section, return immediately. If more than one
3032 * dynamic section, then something odd is going on and an error
3057 * Verify the associated string table section.
3075 * section with the lowest address. However, this is
3111 * referenced by the dynamic section. Here, we
3416 * Search for and process a MOVE section.
3470 char index[MAXNDXSIZE], section[BUFSIZ];
3502 symndx, symnum, ndx, syms, section, BUFSIZ, file);
3535 Cache *pns_cache; /* Note section cache entry */
3552 * The state pns_ fields contain current values for the Note section
3629 * If multiple information blocks exist within a .note section
3661 * Traverse a note section analyzing each note information block.
3843 * that is used to maintain Linux ABI information. Presence of this section
4017 * Get the associated string table section.
4158 * The GNU assembler can use section symbols as the signature
4163 * section group associated with a section symbol, and
4164 * then fail to give a name to the section symbol. In
4165 * such a case, use the name of the section.
4223 * A got section within a relocatable object is suspicious.
4264 * .rel[a].got section we check them all.
4331 char section[BUFSIZ];
4376 section, BUFSIZ, file);
4427 * the section header cache to sort_shdr_ndx_arr(). Unfortunately,
4435 * Used with qsort() to sort the section indices so that they can be
4436 * used to access the section headers in order of increasing data offset.
4440 * section header cache.
4476 * Obtain the .shstrtab data buffer to provide the required section
4482 * header string table section.
4505 * Allocate a cache to maintain a descriptor for each section.
4519 * Allocate an array that will hold the section index for
4520 * each section that has data in the ELF file:
4522 * - Is not a NOBITS section
4542 * carried out in two passes. First, the section headers are captured
4543 * and the section header names are evaluated. A verification pass is
4544 * then carried out over the section information. Files have been
4545 * known to exhibit overlapping (and hence erroneous) section header
4548 * Finally, the data for each section is obtained. This processing is
4549 * carried out after section verification because should any section
4552 * of translation can corrupt the section header information. Of
4553 * course, if there is any section overlap, the data related to the
4572 * If this section has data in the file, include it in
4580 * If a shstrtab exists, assign the section name.
4593 * a section name to indicate a section/symbol
4600 * section name.
4629 * Generate an error if the section name index is zero
4631 * fabricate a section name.
4644 * If there exists no shstrtab data, or a section header has no
4646 * section.
4662 * Cases have existed where the section information has been invalid.
4664 * each section is processed individually (ie. with elf_getdata()).
4688 * Check the section against all following ones, reporting
4721 * the section doesn't overlap the section header array.
4737 * Obtain the data for each section.
4772 * Generate a cache of section headers and related information
4774 * contains no section headers), we generate a fake set of
4776 * Otherwise, we use the real section headers contained in the file.
4783 * If there are no section headers, then resort to synthesizing
4784 * section headers from the program headers. This is normally
4839 * If the user requested section headers derived from the
4865 * If the section headers or program headers have inadequate
4906 * Ideally, we wait to create the section header cache
4917 * to see if it has a Linux .note.ABI-tag section,
4919 * section header cache.
4921 * To break the cycle, we create section headers now
4975 * operation, but none of them require the section headers, then
4983 * Everything from this point on requires section headers.
4984 * If we have no section headers, there is no reason to continue.
4986 * If we tried above to create the section header cache and failed,
5004 * If -w was specified, find and write out the section(s) data.
5035 * through the section headers and see if we can't deduce show flags
5055 * section based on its name. However, there
5187 * Solaris core files have section headers, but these
5190 * find the core notes. Fake section headers (-P option)
5197 * - We are not already using fake section headers
5199 * then we will automatically generate fake section headers
5225 /* Release the memory used to cache section headers */