ldlang.h
来自「基于4个mips核的noc设计」· C头文件 代码 · 共 480 行 · 第 1/2 页
H
480 行
const char *target; boolean real;} lang_input_statement_type;typedef struct { lang_statement_header_type header; asection *section; lang_input_statement_type *ifile;} lang_input_section_type;typedef struct { lang_statement_header_type header; asection *section; union lang_statement_union *file;} lang_afile_asection_pair_statement_type;typedef struct lang_wild_statement_struct { lang_statement_header_type header; const char *section_name; boolean sections_sorted; const char *filename; boolean filenames_sorted; boolean keep_sections; struct name_list *exclude_filename_list; lang_statement_list_type children;} lang_wild_statement_type;typedef struct lang_address_statement_struct { lang_statement_header_type header; const char *section_name; union etree_union *address;} lang_address_statement_type;typedef struct { lang_statement_header_type header; bfd_vma output_offset; size_t size; asection *output_section; fill_type fill;} lang_padding_statement_type;/* A group statement collects a set of libraries together. The libraries are searched multiple times, until no new undefined symbols are found. The effect is to search a group of libraries as though they were a single library. */typedef struct { lang_statement_header_type header; lang_statement_list_type children;} lang_group_statement_type;typedef union lang_statement_union { lang_statement_header_type header; union lang_statement_union *next; lang_wild_statement_type wild_statement; lang_data_statement_type data_statement; lang_reloc_statement_type reloc_statement; lang_address_statement_type address_statement; lang_output_section_statement_type output_section_statement; lang_afile_asection_pair_statement_type afile_asection_pair_statement; lang_assignment_statement_type assignment_statement; lang_input_statement_type input_statement; lang_target_statement_type target_statement; lang_output_statement_type output_statement; lang_input_section_type input_section; lang_common_statement_type common_statement; lang_object_symbols_statement_type object_symbols_statement; lang_fill_statement_type fill_statement; lang_padding_statement_type padding_statement; lang_group_statement_type group_statement;} lang_statement_union_type;/* This structure holds information about a program header, from the PHDRS command in the linker script. */struct lang_phdr { struct lang_phdr *next; const char *name; unsigned long type; boolean filehdr; boolean phdrs; etree_type *at; etree_type *flags;};/* This structure is used to hold a list of sections which may not cross reference each other. */struct lang_nocrossref { struct lang_nocrossref *next; const char *name;};/* The list of nocrossref lists. */struct lang_nocrossrefs { struct lang_nocrossrefs *next; struct lang_nocrossref *list;};extern struct lang_nocrossrefs *nocrossref_list;/* This structure is used to hold a list of input section names which will not match an output section in the linker script. */struct unique_sections { struct unique_sections *next; const char *name;};extern struct unique_sections *unique_section_list;extern lang_output_section_statement_type *abs_output_section;extern lang_statement_list_type lang_output_section_statement;extern boolean lang_has_input_file;extern etree_type *base;extern lang_statement_list_type *stat_ptr;extern boolean delete_output_file_on_failure;extern const char *entry_symbol;extern boolean entry_from_cmdline;extern lang_statement_list_type file_chain;extern void lang_init PARAMS ((void));extern struct memory_region_struct *lang_memory_region_lookup PARAMS ((const char *const));extern struct memory_region_struct *lang_memory_region_default PARAMS ((asection *));extern void lang_map PARAMS ((void));extern void lang_set_flags PARAMS ((lang_memory_region_type *, const char *, int));extern void lang_add_output PARAMS ((const char *, int from_script));extern lang_output_section_statement_type *lang_enter_output_section_statement PARAMS ((const char *output_section_statement_name, etree_type * address_exp, enum section_type sectype, bfd_vma block_value, etree_type *align, etree_type *subalign, etree_type *));extern void lang_final PARAMS ((void));extern void lang_process PARAMS ((void));extern void lang_section_start PARAMS ((const char *, union etree_union *));extern void lang_add_entry PARAMS ((const char *, boolean));extern void lang_add_target PARAMS ((const char *));extern void lang_add_wild PARAMS ((const char *, boolean, const char *, boolean, boolean, name_list *));extern void lang_add_map PARAMS ((const char *));extern void lang_add_fill PARAMS ((int));extern lang_assignment_statement_type * lang_add_assignment PARAMS ((union etree_union *));extern void lang_add_attribute PARAMS ((enum statement_enum));extern void lang_startup PARAMS ((const char *));extern void lang_float PARAMS ((enum bfd_boolean));extern void lang_leave_output_section_statement PARAMS ((bfd_vma, const char *, struct lang_output_section_phdr_list *, const char *));extern void lang_abs_symbol_at_end_of PARAMS ((const char *, const char *));extern void lang_abs_symbol_at_beginning_of PARAMS ((const char *, const char *));extern void lang_statement_append PARAMS ((struct statement_list *, union lang_statement_union *, union lang_statement_union **));extern void lang_for_each_input_file PARAMS ((void (*dothis) (lang_input_statement_type *)));extern void lang_for_each_file PARAMS ((void (*dothis) (lang_input_statement_type *)));extern bfd_vma lang_do_assignments PARAMS ((lang_statement_union_type * s, lang_output_section_statement_type *output_section_statement, fill_type fill, bfd_vma dot));#define LANG_FOR_EACH_INPUT_STATEMENT(statement) \ lang_input_statement_type *statement; \ for (statement = (lang_input_statement_type *)file_chain.head;\ statement != (lang_input_statement_type *)NULL; \ statement = (lang_input_statement_type *)statement->next)\extern void lang_process PARAMS ((void));extern void ldlang_add_file PARAMS ((lang_input_statement_type *));extern lang_output_section_statement_type *lang_output_section_find PARAMS ((const char * const));extern lang_input_statement_type *lang_add_input_file PARAMS ((const char *name, lang_input_file_enum_type file_type, const char *target));extern void lang_add_keepsyms_file PARAMS ((const char *filename));extern lang_output_section_statement_type * lang_output_section_statement_lookup PARAMS ((const char * const name));extern void ldlang_add_undef PARAMS ((const char *const name));extern void lang_add_output_format PARAMS ((const char *, const char *, const char *, int from_script));extern void lang_list_init PARAMS ((lang_statement_list_type*));extern void lang_add_data PARAMS ((int type, union etree_union *));extern void lang_add_reloc PARAMS ((bfd_reloc_code_real_type reloc, reloc_howto_type *howto, asection *section, const char *name, union etree_union *addend));extern void lang_for_each_statement PARAMS ((void (*func) (lang_statement_union_type *)));extern PTR stat_alloc PARAMS ((size_t size));extern void dprint_statement PARAMS ((lang_statement_union_type *, int));extern bfd_vma lang_size_sections PARAMS ((lang_statement_union_type *s, lang_output_section_statement_type *output_section_statement, lang_statement_union_type **prev, fill_type fill, bfd_vma dot, boolean relax));extern void lang_enter_group PARAMS ((void));extern void lang_leave_group PARAMS ((void));extern void wild_doit PARAMS ((lang_statement_list_type *ptr, asection *section, lang_output_section_statement_type *output, lang_input_statement_type *file));extern void lang_new_phdr PARAMS ((const char *, etree_type *, boolean, boolean, etree_type *, etree_type *));extern void lang_add_nocrossref PARAMS ((struct lang_nocrossref *));extern void lang_enter_overlay PARAMS ((etree_type *, etree_type *, int));extern void lang_enter_overlay_section PARAMS ((const char *));extern void lang_leave_overlay_section PARAMS ((bfd_vma, struct lang_output_section_phdr_list *));extern void lang_leave_overlay PARAMS ((bfd_vma, const char *, struct lang_output_section_phdr_list *, const char *));extern struct bfd_elf_version_tree *lang_elf_version_info;extern struct bfd_elf_version_expr *lang_new_vers_regex PARAMS ((struct bfd_elf_version_expr *, const char *, const char *));extern struct bfd_elf_version_tree *lang_new_vers_node PARAMS ((struct bfd_elf_version_expr *, struct bfd_elf_version_expr *));extern struct bfd_elf_version_deps *lang_add_vers_depend PARAMS ((struct bfd_elf_version_deps *, const char *));extern void lang_register_vers_node PARAMS ((const char *, struct bfd_elf_version_tree *, struct bfd_elf_version_deps *));boolean unique_section_p PARAMS ((const char *));extern void lang_add_unique PARAMS ((const char *));#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?