• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.5.8/xnu-1228.15.4/libkern/mach-o/

Lines Matching defs:section

134  * is a part of the load command (i.e. section structures, strings, etc.).  To
193 * section structures directly follow the segment command and their size is
198 unsigned long cmdsize; /* includes sizeof section structs */
247 * and load commands of the object file before it's first section. The zero
250 * sections might be. The gigabyte zero fill sections, those with the section
258 * Sections with the same section name, sectname, going into the same segment,
259 * segname, are combined by the link editor. The resulting section is aligned
260 * to the maximum alignment of the combined sections and is the new section's
262 * the combined section. Any padded bytes to get the specified alignment are
266 * fields of the section structure for mach object files is described in the
269 struct section { /* for 32-bit architectures */
270 char sectname[16]; /* name of this section */
271 char segname[16]; /* segment this section goes in */
272 unsigned long addr; /* memory address of this section */
273 unsigned long size; /* size in bytes of this section */
274 unsigned long offset; /* file offset of this section */
275 unsigned long align; /* section alignment (power of 2) */
278 unsigned long flags; /* flags (section type and attributes)*/
284 char sectname[16]; /* name of this section */
285 char segname[16]; /* segment this section goes in */
286 uint64_t addr; /* memory address of this section */
287 uint64_t size; /* size in bytes of this section */
288 uint32_t offset; /* file offset of this section */
289 uint32_t align; /* section alignment (power of 2) */
292 uint32_t flags; /* flags (section type and attributes)*/
300 * The flags field of a section structure is separated into two parts a section
301 * type and section attributes. The section types are mutually exclusive (it
302 * can only have one type) but the section attributes are not (it may have more
305 #define SECTION_TYPE 0x000000ff /* 256 section types */
306 #define SECTION_ATTRIBUTES 0xffffff00 /* 24 section attributes */
308 /* Constants for the type of a section */
309 #define S_REGULAR 0x0 /* regular section */
310 #define S_ZEROFILL 0x1 /* zero fill on demand section */
311 #define S_CSTRING_LITERALS 0x2 /* section with only literal C strings*/
312 #define S_4BYTE_LITERALS 0x3 /* section with only 4 byte literals */
313 #define S_8BYTE_LITERALS 0x4 /* section with only 8 byte literals */
314 #define S_LITERAL_POINTERS 0x5 /* section with only pointers to */
317 * For the two types of symbol pointers sections and the symbol stubs section
319 * section the indirect symbol table entries, in corresponding order in the
321 * of the section structure. Since the indirect symbol table entries
322 * correspond to the entries in the section the number of indirect symbol table
323 * entries is inferred from the size of the section divided by the size of the
324 * entries in the section. For symbol pointers sections the size of the entries
325 * in the section is 4 bytes and for symbol stubs sections the byte size of the
326 * stubs is stored in the reserved2 field of the section structure.
328 #define S_NON_LAZY_SYMBOL_POINTERS 0x6 /* section with only non-lazy
330 #define S_LAZY_SYMBOL_POINTERS 0x7 /* section with only lazy symbol
332 #define S_SYMBOL_STUBS 0x8 /* section with only symbol
335 #define S_MOD_INIT_FUNC_POINTERS 0x9 /* section with only function
338 * Constants for the section attributes part of the flags field of a section
342 #define S_ATTR_PURE_INSTRUCTIONS 0x80000000 /* section contains only true
345 #define S_ATTR_SOME_INSTRUCTIONS 0x00000400 /* section contains some
347 #define S_ATTR_EXT_RELOC 0x00000200 /* section has external
349 #define S_ATTR_LOC_RELOC 0x00000100 /* section has local
363 * section in the "__DATA" segment. It will create the section and segment
367 /* The currently known segment names and the section names in those segments */
376 /* section no headers, and no padding */
378 /* section */
379 #define SECT_FVMLIB_INIT1 "__fvmlib_init1" /* the section following the */
381 /* section */
384 #define SECT_DATA "__data" /* the real initialized data section */
386 #define SECT_BSS "__bss" /* the real uninitialized data section*/
388 #define SECT_COMMON "__common" /* the section common symbols are */
570 * off the section structures.
637 * indexes and (implied counts based on the size of the section and fixed
639 * and stub. For every section of these two types the index into the
640 * indirect symbol table is stored in the section header in the field
643 * The indirect symbol table is ordered to match the entries in the section.
652 * through the section headers for a library file they are separated into
656 * entries of non-merged sections are not referenced through the section
657 * structures (and the reloff and nreloc fields in the section headers are
660 * Since the relocation entries are not accessed through the section headers
661 * this requires the r_address field to be something other than a section
689 * non-lazy symbol pointer section for a defined symbol which strip(1) as
719 unsigned long iinit; /* index into the init section */
720 unsigned long ninit; /* number of init section entries */
723 objc_module_info_addr; /* the (__OBJC,__module_info) section */
725 objc_module_info_size; /* the (__OBJC,__module_info) section */
743 section, high 16 bits are the index into
744 the term section */
745 uint32_t ninit_nterm; /* low 16 bits are the number of init section
747 term section entries */
750 objc_module_info_size; /* (__OBJC,__module_info) section */
752 objc_module_info_addr; /* the (__OBJC,__module_info) section */