Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 25894 Details for
Bug 42049
new gcc register allocator breaks for some packages
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
preprocessed binutils source
ccLeODiW.out (text/plain), 248.66 KB, created by
Brant Gurganus
on 2004-02-18 17:13:48 UTC
(
hide
)
Description:
preprocessed binutils source
Filename:
MIME Type:
Creator:
Brant Gurganus
Created:
2004-02-18 17:13:48 UTC
Size:
248.66 KB
patch
obsolete
>// /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/cc1 -fpreprocessed /root/.ccache/coffgen.tmp.gurganbl.29284.i -quiet -dumpbase coffgen.tmp.gurganbl.29284.i -march=pentium4 -mcpu=pentium4 -auxbase-strip /root/.ccache/tmp.hash.gurganbl.29284.o -O3 -W -Wall -Wstrict-prototypes -Wmissing-prototypes -fprefetch-loop-arrays -ftracer -ffast-math -fnew-ra -fPIC -o - ># 1 "coffgen.c" ># 1 "<built-in>" ># 1 "<command line>" ># 1 "coffgen.c" ># 40 "coffgen.c" ># 1 "bfd.h" 1 ># 38 "bfd.h" ># 1 "../include/ansidecl.h" 1 ># 39 "bfd.h" 2 ># 1 "../include/symcat.h" 1 ># 40 "bfd.h" 2 ># 80 "bfd.h" >typedef struct bfd bfd; ># 91 "bfd.h" >typedef int bfd_boolean; ># 129 "bfd.h" >typedef unsigned long long bfd_vma; >typedef long long bfd_signed_vma; >typedef unsigned long long bfd_size_type; >typedef unsigned long long symvalue; ># 178 "bfd.h" >typedef bfd_signed_vma file_ptr; >typedef bfd_vma ufile_ptr; > >extern void bfd_sprintf_vma (bfd *, char *, bfd_vma); >extern void bfd_fprintf_vma (bfd *, void *, bfd_vma); > > > > >typedef unsigned int flagword; >typedef unsigned char bfd_byte; > > > >typedef enum bfd_format >{ > bfd_unknown = 0, > bfd_object, > bfd_archive, > bfd_core, > bfd_type_end >} >bfd_format; ># 265 "bfd.h" >typedef unsigned long symindex; > > >typedef const struct reloc_howto_struct reloc_howto_type; ># 287 "bfd.h" >typedef struct carsym >{ > char *name; > file_ptr file_offset; >} >carsym; > > > >struct orl >{ > char **name; > union > { > file_ptr pos; > bfd *abfd; > } u; > int namidx; >}; > > >typedef struct lineno_cache_entry >{ > unsigned int line_number; > union > { > struct symbol_cache_entry *sym; > bfd_vma offset; > } u; >} >alent; > > > > > > >typedef struct bfd_section *sec_ptr; ># 344 "bfd.h" >typedef struct stat stat_type; > >typedef enum bfd_print_symbol >{ > bfd_print_symbol_name, > bfd_print_symbol_more, > bfd_print_symbol_all >} bfd_print_symbol_type; > > > >typedef struct _symbol_info >{ > symvalue value; > char type; > const char *name; > unsigned char stab_type; > char stab_other; > short stab_desc; > const char *stab_name; >} symbol_info; > > > >extern const char *bfd_get_stab_name (int); > > > > > > >struct bfd_hash_entry >{ > > struct bfd_hash_entry *next; > > const char *string; > > > unsigned long hash; >}; > > > >struct bfd_hash_table >{ > > struct bfd_hash_entry **table; > > unsigned int size; > > > > > > > > struct bfd_hash_entry *(*newfunc) > (struct bfd_hash_entry *, struct bfd_hash_table *, const char *); > > > void *memory; >}; > > >extern bfd_boolean bfd_hash_table_init > (struct bfd_hash_table *, > struct bfd_hash_entry *(*) (struct bfd_hash_entry *, > struct bfd_hash_table *, > const char *)); > > >extern bfd_boolean bfd_hash_table_init_n > (struct bfd_hash_table *, > struct bfd_hash_entry *(*) (struct bfd_hash_entry *, > struct bfd_hash_table *, > const char *), > unsigned int size); > > >extern void bfd_hash_table_free > (struct bfd_hash_table *); > > > > > >extern struct bfd_hash_entry *bfd_hash_lookup > (struct bfd_hash_table *, const char *, bfd_boolean create, > bfd_boolean copy); > > >extern void bfd_hash_replace > (struct bfd_hash_table *, struct bfd_hash_entry *old, > struct bfd_hash_entry *nw); > > >extern struct bfd_hash_entry *bfd_hash_newfunc > (struct bfd_hash_entry *, struct bfd_hash_table *, const char *); > > >extern void *bfd_hash_allocate > (struct bfd_hash_table *, unsigned int); > > > > >extern void bfd_hash_traverse > (struct bfd_hash_table *, > bfd_boolean (*) (struct bfd_hash_entry *, void *), > void *info); ># 463 "bfd.h" >extern bfd_size_type bfd_bread (void *, bfd_size_type, bfd *); >extern bfd_size_type bfd_bwrite (const void *, bfd_size_type, bfd *); >extern int bfd_seek (bfd *, file_ptr, int); >extern ufile_ptr bfd_tell (bfd *); >extern int bfd_flush (bfd *); >extern int bfd_stat (bfd *, struct stat *); ># 486 "bfd.h" >extern void warn_deprecated (const char *, const char *, int, const char *); ># 524 "bfd.h" >extern bfd_boolean bfd_cache_close > (bfd *abfd); > > >extern bfd_boolean bfd_record_phdr > (bfd *, unsigned long, bfd_boolean, flagword, bfd_boolean, bfd_vma, > bfd_boolean, bfd_boolean, unsigned int, struct bfd_section **); > > > >bfd_vma bfd_getb64 (const unsigned char *); >bfd_vma bfd_getl64 (const unsigned char *); >bfd_signed_vma bfd_getb_signed_64 (const unsigned char *); >bfd_signed_vma bfd_getl_signed_64 (const unsigned char *); >bfd_vma bfd_getb32 (const unsigned char *); >bfd_vma bfd_getl32 (const unsigned char *); >bfd_signed_vma bfd_getb_signed_32 (const unsigned char *); >bfd_signed_vma bfd_getl_signed_32 (const unsigned char *); >bfd_vma bfd_getb16 (const unsigned char *); >bfd_vma bfd_getl16 (const unsigned char *); >bfd_signed_vma bfd_getb_signed_16 (const unsigned char *); >bfd_signed_vma bfd_getl_signed_16 (const unsigned char *); >void bfd_putb64 (bfd_vma, unsigned char *); >void bfd_putl64 (bfd_vma, unsigned char *); >void bfd_putb32 (bfd_vma, unsigned char *); >void bfd_putl32 (bfd_vma, unsigned char *); >void bfd_putb16 (bfd_vma, unsigned char *); >void bfd_putl16 (bfd_vma, unsigned char *); > > > >bfd_vma bfd_get_bits (bfd_byte *, int, bfd_boolean); >void bfd_put_bits (bfd_vma, bfd_byte *, int, bfd_boolean); > > > > >struct ecoff_debug_info; >struct ecoff_debug_swap; >struct ecoff_extr; >struct symbol_cache_entry; >struct bfd_link_info; >struct bfd_link_hash_entry; >struct bfd_elf_version_tree; > >extern bfd_vma bfd_ecoff_get_gp_value > (bfd * abfd); >extern bfd_boolean bfd_ecoff_set_gp_value > (bfd *abfd, bfd_vma gp_value); >extern bfd_boolean bfd_ecoff_set_regmasks > (bfd *abfd, unsigned long gprmask, unsigned long fprmask, > unsigned long *cprmask); >extern void *bfd_ecoff_debug_init > (bfd *output_bfd, struct ecoff_debug_info *output_debug, > const struct ecoff_debug_swap *output_swap, struct bfd_link_info *); >extern void bfd_ecoff_debug_free > (void *handle, bfd *output_bfd, struct ecoff_debug_info *output_debug, > const struct ecoff_debug_swap *output_swap, struct bfd_link_info *); >extern bfd_boolean bfd_ecoff_debug_accumulate > (void *handle, bfd *output_bfd, struct ecoff_debug_info *output_debug, > const struct ecoff_debug_swap *output_swap, bfd *input_bfd, > struct ecoff_debug_info *input_debug, > const struct ecoff_debug_swap *input_swap, struct bfd_link_info *); >extern bfd_boolean bfd_ecoff_debug_accumulate_other > (void *handle, bfd *output_bfd, struct ecoff_debug_info *output_debug, > const struct ecoff_debug_swap *output_swap, bfd *input_bfd, > struct bfd_link_info *); >extern bfd_boolean bfd_ecoff_debug_externals > (bfd *abfd, struct ecoff_debug_info *debug, > const struct ecoff_debug_swap *swap, bfd_boolean relocatable, > bfd_boolean (*get_extr) (struct symbol_cache_entry *, struct ecoff_extr *), > void (*set_index) (struct symbol_cache_entry *, bfd_size_type)); >extern bfd_boolean bfd_ecoff_debug_one_external > (bfd *abfd, struct ecoff_debug_info *debug, > const struct ecoff_debug_swap *swap, const char *name, > struct ecoff_extr *esym); >extern bfd_size_type bfd_ecoff_debug_size > (bfd *abfd, struct ecoff_debug_info *debug, > const struct ecoff_debug_swap *swap); >extern bfd_boolean bfd_ecoff_write_debug > (bfd *abfd, struct ecoff_debug_info *debug, > const struct ecoff_debug_swap *swap, file_ptr where); >extern bfd_boolean bfd_ecoff_write_accumulated_debug > (void *handle, bfd *abfd, struct ecoff_debug_info *debug, > const struct ecoff_debug_swap *swap, > struct bfd_link_info *info, file_ptr where); >extern bfd_boolean bfd_mips_ecoff_create_embedded_relocs > (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, char **); > > > >struct bfd_link_needed_list >{ > struct bfd_link_needed_list *next; > bfd *by; > const char *name; >}; > >extern bfd_boolean bfd_elf_record_link_assignment > (bfd *, struct bfd_link_info *, const char *, bfd_boolean); >extern struct bfd_link_needed_list *bfd_elf_get_needed_list > (bfd *, struct bfd_link_info *); >extern bfd_boolean bfd_elf_get_bfd_needed_list > (bfd *, struct bfd_link_needed_list **); >extern bfd_boolean bfd_elf32_size_dynamic_sections > (bfd *, const char *, const char *, const char *, const char * const *, > struct bfd_link_info *, struct bfd_section **, struct bfd_elf_version_tree *); >extern bfd_boolean bfd_elf64_size_dynamic_sections > (bfd *, const char *, const char *, const char *, const char * const *, > struct bfd_link_info *, struct bfd_section **, struct bfd_elf_version_tree *); >extern void bfd_elf_set_dt_needed_name > (bfd *, const char *); >extern void bfd_elf_set_dt_needed_soname > (bfd *, const char *); >extern const char *bfd_elf_get_dt_soname > (bfd *); >extern struct bfd_link_needed_list *bfd_elf_get_runpath_list > (bfd *, struct bfd_link_info *); >extern bfd_boolean bfd_elf32_discard_info > (bfd *, struct bfd_link_info *); >extern bfd_boolean bfd_elf64_discard_info > (bfd *, struct bfd_link_info *); > > > > >extern long bfd_get_elf_phdr_upper_bound > (bfd *abfd); ># 660 "bfd.h" >extern int bfd_get_elf_phdrs > (bfd *abfd, void *phdrs); ># 675 "bfd.h" >extern bfd *bfd_elf_bfd_from_remote_memory > (bfd *templ, bfd_vma ehdr_vma, bfd_vma *loadbasep, > int (*target_read_memory) (bfd_vma vma, char *myaddr, int len)); > > >extern int bfd_get_arch_size > (bfd *); > > >extern int bfd_get_sign_extend_vma > (bfd *); > >extern struct bfd_section *_bfd_elf_tls_setup > (bfd *, struct bfd_link_info *); > >extern bfd_boolean bfd_m68k_elf32_create_embedded_relocs > (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, char **); >extern bfd_boolean bfd_mips_elf32_create_embedded_relocs > (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, char **); > > > >extern struct bfd_link_needed_list *bfd_sunos_get_needed_list > (bfd *, struct bfd_link_info *); >extern bfd_boolean bfd_sunos_record_link_assignment > (bfd *, struct bfd_link_info *, const char *); >extern bfd_boolean bfd_sunos_size_dynamic_sections > (bfd *, struct bfd_link_info *, struct bfd_section **, struct bfd_section **, struct bfd_section **); > > > >extern bfd_boolean bfd_i386linux_size_dynamic_sections > (bfd *, struct bfd_link_info *); >extern bfd_boolean bfd_m68klinux_size_dynamic_sections > (bfd *, struct bfd_link_info *); >extern bfd_boolean bfd_sparclinux_size_dynamic_sections > (bfd *, struct bfd_link_info *); > > > >struct _bfd_window_internal; >typedef struct _bfd_window_internal bfd_window_internal; > >typedef struct _bfd_window >{ > > void *data; > bfd_size_type size; > > > > > > > struct _bfd_window_internal *i; >} >bfd_window; > >extern void bfd_init_window > (bfd_window *); >extern void bfd_free_window > (bfd_window *); >extern bfd_boolean bfd_get_file_window > (bfd *, file_ptr, bfd_size_type, bfd_window *, bfd_boolean); > > > >extern bfd_boolean bfd_xcoff_link_record_set > (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, bfd_size_type); >extern bfd_boolean bfd_xcoff_import_symbol > (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, bfd_vma, > const char *, const char *, const char *, unsigned int); >extern bfd_boolean bfd_xcoff_export_symbol > (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *); >extern bfd_boolean bfd_xcoff_link_count_reloc > (bfd *, struct bfd_link_info *, const char *); >extern bfd_boolean bfd_xcoff_record_link_assignment > (bfd *, struct bfd_link_info *, const char *); >extern bfd_boolean bfd_xcoff_size_dynamic_sections > (bfd *, struct bfd_link_info *, const char *, const char *, > unsigned long, unsigned long, unsigned long, bfd_boolean, > int, bfd_boolean, bfd_boolean, struct bfd_section **, bfd_boolean); >extern bfd_boolean bfd_xcoff_link_generate_rtinit > (bfd *, const char *, const char *, bfd_boolean); > > >extern bfd_boolean bfd_xcoff_ar_archive_set_magic > (bfd *, char *); > > > > >struct internal_syment; >union internal_auxent; > > >extern bfd_boolean bfd_coff_get_syment > (bfd *, struct symbol_cache_entry *, struct internal_syment *); > >extern bfd_boolean bfd_coff_get_auxent > (bfd *, struct symbol_cache_entry *, int, union internal_auxent *); > >extern bfd_boolean bfd_coff_set_symbol_class > (bfd *, struct symbol_cache_entry *, unsigned int); > >extern bfd_boolean bfd_m68k_coff_create_embedded_relocs > (bfd *, struct bfd_link_info *, struct bfd_section *, struct bfd_section *, char **); > > >extern bfd_boolean bfd_arm_allocate_interworking_sections > (struct bfd_link_info *); > >extern bfd_boolean bfd_arm_process_before_allocation > (bfd *, struct bfd_link_info *, int); > >extern bfd_boolean bfd_arm_get_bfd_for_interworking > (bfd *, struct bfd_link_info *); > > >extern bfd_boolean bfd_arm_pe_allocate_interworking_sections > (struct bfd_link_info *); > >extern bfd_boolean bfd_arm_pe_process_before_allocation > (bfd *, struct bfd_link_info *, int); > >extern bfd_boolean bfd_arm_pe_get_bfd_for_interworking > (bfd *, struct bfd_link_info *); > > >extern bfd_boolean bfd_elf32_arm_allocate_interworking_sections > (struct bfd_link_info *); > >extern bfd_boolean bfd_elf32_arm_process_before_allocation > (bfd *, struct bfd_link_info *, int); > >extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking > (bfd *, struct bfd_link_info *); > >extern bfd_boolean bfd_elf32_arm_add_glue_sections_to_bfd > (bfd *, struct bfd_link_info *); > > >extern bfd_boolean bfd_arm_merge_machines > (bfd *, bfd *); > >extern bfd_boolean bfd_arm_update_notes > (bfd *, const char *); > >extern unsigned int bfd_arm_get_mach_from_notes > (bfd *, const char *); > > >extern void bfd_ticoff_set_section_load_page > (struct bfd_section *, int); > >extern int bfd_ticoff_get_section_load_page > (struct bfd_section *); > > >extern bfd_vma bfd_h8300_pad_address > (bfd *, bfd_vma); > > >extern void bfd_elf32_ia64_after_parse > (int); > >extern void bfd_elf64_ia64_after_parse > (int); > > >void bfd_init (void); > > >bfd *bfd_openr (const char *filename, const char *target); > >bfd *bfd_fdopenr (const char *filename, const char *target, int fd); > >bfd *bfd_openstreamr (const char *, const char *, void *); > >bfd *bfd_openw (const char *filename, const char *target); > >bfd_boolean bfd_close (bfd *abfd); > >bfd_boolean bfd_close_all_done (bfd *); > >bfd *bfd_create (const char *filename, bfd *templ); > >bfd_boolean bfd_make_writable (bfd *abfd); > >bfd_boolean bfd_make_readable (bfd *abfd); > >unsigned long bfd_calc_gnu_debuglink_crc32 > (unsigned long crc, const unsigned char *buf, bfd_size_type len); > >char *bfd_follow_gnu_debuglink (bfd *abfd, const char *dir); > >struct bfd_section *bfd_create_gnu_debuglink_section > (bfd *abfd, const char *filename); > >bfd_boolean bfd_fill_in_gnu_debuglink_section > (bfd *abfd, struct bfd_section *sect, const char *filename); ># 1019 "bfd.h" >long bfd_get_mtime (bfd *abfd); > >long bfd_get_size (bfd *abfd); ># 1030 "bfd.h" >struct bfd_comdat_info >{ > > const char *name; > > > > > > long symbol; >}; > >typedef struct bfd_section >{ > > > const char *name; > > > int id; > > > int index; > > > struct bfd_section *next; > > > > > flagword flags; ># 1238 "bfd.h" > unsigned int user_set_vma : 1; > > > unsigned int reloc_done : 1; > > > unsigned int linker_mark : 1; > > > > unsigned int linker_has_input : 1; > > > unsigned int gc_mark : 1; > > > > > unsigned int segment_mark : 1; > > > unsigned int sec_info_type:3; > > > > > > > > unsigned int use_rela_p:1; > > > unsigned int has_tls_reloc:1; > > > unsigned int need_finalize_relax:1; > > > unsigned int has_gp_reloc:1; > > > unsigned int flag13:1; > unsigned int flag14:1; > unsigned int flag15:1; > unsigned int flag16:4; > unsigned int flag20:4; > unsigned int flag24:8; ># 1294 "bfd.h" > bfd_vma vma; > > > > > bfd_vma lma; > > > > > bfd_size_type _cooked_size; > > > > > bfd_size_type _raw_size; ># 1318 "bfd.h" > bfd_vma output_offset; > > > struct bfd_section *output_section; > > > > unsigned int alignment_power; > > > > struct reloc_cache_entry *relocation; > > > > struct reloc_cache_entry **orelocation; > > > unsigned reloc_count; > > > > > > file_ptr filepos; > > > file_ptr rel_filepos; > > > file_ptr line_filepos; > > > void *userdata; > > > > unsigned char *contents; > > > alent *lineno; > > > unsigned int lineno_count; > > > unsigned int entsize; > > > struct bfd_comdat_info *comdat; > > > > struct bfd_section *kept_section; > > > > file_ptr moving_line_filepos; > > > int target_index; > > void *used_by_bfd; > > > > struct relent_chain *constructor_chain; > > > bfd *owner; > > > struct symbol_cache_entry *symbol; > struct symbol_cache_entry **symbol_ptr_ptr; > > struct bfd_link_order *link_order_head; > struct bfd_link_order *link_order_tail; >} asection; ># 1408 "bfd.h" >extern asection bfd_abs_section; > > > >extern asection bfd_und_section; > > > >extern asection bfd_com_section; > > >extern asection bfd_ind_section; ># 1429 "bfd.h" >extern const struct symbol_cache_entry * const bfd_abs_symbol; >extern const struct symbol_cache_entry * const bfd_com_symbol; >extern const struct symbol_cache_entry * const bfd_und_symbol; >extern const struct symbol_cache_entry * const bfd_ind_symbol; ># 1464 "bfd.h" >void bfd_section_list_clear (bfd *); > >asection *bfd_get_section_by_name (bfd *abfd, const char *name); > >char *bfd_get_unique_section_name > (bfd *abfd, const char *templat, int *count); > >asection *bfd_make_section_old_way (bfd *abfd, const char *name); > >asection *bfd_make_section_anyway (bfd *abfd, const char *name); > >asection *bfd_make_section (bfd *, const char *name); > >bfd_boolean bfd_set_section_flags > (bfd *abfd, asection *sec, flagword flags); > >void bfd_map_over_sections > (bfd *abfd, > void (*func) (bfd *abfd, asection *sect, void *obj), > void *obj); > >bfd_boolean bfd_set_section_size > (bfd *abfd, asection *sec, bfd_size_type val); > >bfd_boolean bfd_set_section_contents > (bfd *abfd, asection *section, void *data, file_ptr offset, > bfd_size_type count); > >bfd_boolean bfd_get_section_contents > (bfd *abfd, asection *section, void *location, file_ptr offset, > bfd_size_type count); > >bfd_boolean bfd_copy_private_section_data > (bfd *ibfd, asection *isec, bfd *obfd, asection *osec); > > > > >void _bfd_strip_section_from_output > (struct bfd_link_info *info, asection *section); > >bfd_boolean bfd_generic_discard_group (bfd *abfd, asection *group); > > >enum bfd_architecture >{ > bfd_arch_unknown, > bfd_arch_obscure, > bfd_arch_m68k, ># 1526 "bfd.h" > bfd_arch_vax, > bfd_arch_i960, ># 1545 "bfd.h" > bfd_arch_or32, > > bfd_arch_a29k, > bfd_arch_sparc, ># 1564 "bfd.h" > bfd_arch_mips, ># 1591 "bfd.h" > bfd_arch_i386, > > > > > > bfd_arch_we32k, > bfd_arch_tahoe, > bfd_arch_i860, > bfd_arch_i370, > bfd_arch_romp, > bfd_arch_alliant, > bfd_arch_convex, > bfd_arch_m88k, > bfd_arch_m98k, > bfd_arch_pyramid, > bfd_arch_h8300, > > > > > > > > bfd_arch_pdp11, > bfd_arch_powerpc, ># 1636 "bfd.h" > bfd_arch_rs6000, > > > > > bfd_arch_hppa, > > > > > bfd_arch_d10v, > > > > bfd_arch_d30v, > bfd_arch_dlx, > bfd_arch_m68hc11, > bfd_arch_m68hc12, > > > > bfd_arch_z8k, > > > bfd_arch_h8500, > bfd_arch_sh, ># 1675 "bfd.h" > bfd_arch_alpha, > > > > bfd_arch_arm, ># 1693 "bfd.h" > bfd_arch_ns32k, > bfd_arch_w65, > bfd_arch_tic30, > bfd_arch_tic4x, > > > bfd_arch_tic54x, > bfd_arch_tic80, > bfd_arch_v850, > > > > bfd_arch_arc, > > > > > bfd_arch_m32r, > > > bfd_arch_mn10200, > bfd_arch_mn10300, > > > > bfd_arch_fr30, > > bfd_arch_frv, > > > > > > > > bfd_arch_mcore, > bfd_arch_ia64, > > > bfd_arch_ip2k, > > > bfd_arch_iq2000, > > > bfd_arch_pj, > bfd_arch_avr, > > > > > > bfd_arch_cris, > bfd_arch_s390, > > > bfd_arch_openrisc, > bfd_arch_mmix, > bfd_arch_xstormy16, > > bfd_arch_msp430, ># 1768 "bfd.h" > bfd_arch_xtensa, > > bfd_arch_last > }; > >typedef struct bfd_arch_info >{ > int bits_per_word; > int bits_per_address; > int bits_per_byte; > enum bfd_architecture arch; > unsigned long mach; > const char *arch_name; > const char *printable_name; > unsigned int section_align_power; > > > > bfd_boolean the_default; > const struct bfd_arch_info * (*compatible) > (const struct bfd_arch_info *a, const struct bfd_arch_info *b); > > bfd_boolean (*scan) (const struct bfd_arch_info *, const char *); > > const struct bfd_arch_info *next; >} >bfd_arch_info_type; > >const char *bfd_printable_name (bfd *abfd); > >const bfd_arch_info_type *bfd_scan_arch (const char *string); > >const char **bfd_arch_list (void); > >const bfd_arch_info_type *bfd_arch_get_compatible > (const bfd *abfd, const bfd *bbfd, bfd_boolean accept_unknowns); > >void bfd_set_arch_info (bfd *abfd, const bfd_arch_info_type *arg); > >enum bfd_architecture bfd_get_arch (bfd *abfd); > >unsigned long bfd_get_mach (bfd *abfd); > >unsigned int bfd_arch_bits_per_byte (bfd *abfd); > >unsigned int bfd_arch_bits_per_address (bfd *abfd); > >const bfd_arch_info_type *bfd_get_arch_info (bfd *abfd); > >const bfd_arch_info_type *bfd_lookup_arch > (enum bfd_architecture arch, unsigned long machine); > >const char *bfd_printable_arch_mach > (enum bfd_architecture arch, unsigned long machine); > >unsigned int bfd_octets_per_byte (bfd *abfd); > >unsigned int bfd_arch_mach_octets_per_byte > (enum bfd_architecture arch, unsigned long machine); > > >typedef enum bfd_reloc_status >{ > > bfd_reloc_ok, > > > bfd_reloc_overflow, > > > bfd_reloc_outofrange, > > > bfd_reloc_continue, > > > bfd_reloc_notsupported, > > > bfd_reloc_other, > > > bfd_reloc_undefined, > > > > > > bfd_reloc_dangerous > } > bfd_reloc_status_type; > > >typedef struct reloc_cache_entry >{ > > struct symbol_cache_entry **sym_ptr_ptr; > > > bfd_size_type address; > > > bfd_vma addend; > > > reloc_howto_type *howto; > >} >arelent; > >enum complain_overflow >{ > > complain_overflow_dont, > > > > complain_overflow_bitfield, > > > > complain_overflow_signed, > > > > complain_overflow_unsigned >}; > >struct reloc_howto_struct >{ > > > > > > > unsigned int type; > > > > unsigned int rightshift; > > > > > int size; > > > > unsigned int bitsize; > > > > > > bfd_boolean pc_relative; > > > > unsigned int bitpos; > > > > enum complain_overflow complain_on_overflow; > > > > > > bfd_reloc_status_type (*special_function) > (bfd *, arelent *, struct symbol_cache_entry *, void *, asection *, > bfd *, char **); > > > char *name; ># 1959 "bfd.h" > bfd_boolean partial_inplace; ># 1969 "bfd.h" > bfd_vma src_mask; > > > > bfd_vma dst_mask; > > > > > > > > bfd_boolean pcrel_offset; >}; ># 2009 "bfd.h" >unsigned int bfd_get_reloc_size (reloc_howto_type *); > >typedef struct relent_chain >{ > arelent relent; > struct relent_chain *next; >} >arelent_chain; > >bfd_reloc_status_type bfd_check_overflow > (enum complain_overflow how, > unsigned int bitsize, > unsigned int rightshift, > unsigned int addrsize, > bfd_vma relocation); > >bfd_reloc_status_type bfd_perform_relocation > (bfd *abfd, > arelent *reloc_entry, > void *data, > asection *input_section, > bfd *output_bfd, > char **error_message); > >bfd_reloc_status_type bfd_install_relocation > (bfd *abfd, > arelent *reloc_entry, > void *data, bfd_vma data_start, > asection *input_section, > char **error_message); > >enum bfd_reloc_code_real { > _dummy_first_bfd_reloc_code_real, > > > > BFD_RELOC_64, > BFD_RELOC_32, > BFD_RELOC_26, > BFD_RELOC_24, > BFD_RELOC_16, > BFD_RELOC_14, > BFD_RELOC_8, > > > > > > > BFD_RELOC_64_PCREL, > BFD_RELOC_32_PCREL, > BFD_RELOC_24_PCREL, > BFD_RELOC_16_PCREL, > BFD_RELOC_12_PCREL, > BFD_RELOC_8_PCREL, > > > BFD_RELOC_32_GOT_PCREL, > BFD_RELOC_16_GOT_PCREL, > BFD_RELOC_8_GOT_PCREL, > BFD_RELOC_32_GOTOFF, > BFD_RELOC_16_GOTOFF, > BFD_RELOC_LO16_GOTOFF, > BFD_RELOC_HI16_GOTOFF, > BFD_RELOC_HI16_S_GOTOFF, > BFD_RELOC_8_GOTOFF, > BFD_RELOC_64_PLT_PCREL, > BFD_RELOC_32_PLT_PCREL, > BFD_RELOC_24_PLT_PCREL, > BFD_RELOC_16_PLT_PCREL, > BFD_RELOC_8_PLT_PCREL, > BFD_RELOC_64_PLTOFF, > BFD_RELOC_32_PLTOFF, > BFD_RELOC_16_PLTOFF, > BFD_RELOC_LO16_PLTOFF, > BFD_RELOC_HI16_PLTOFF, > BFD_RELOC_HI16_S_PLTOFF, > BFD_RELOC_8_PLTOFF, > > > BFD_RELOC_68K_GLOB_DAT, > BFD_RELOC_68K_JMP_SLOT, > BFD_RELOC_68K_RELATIVE, > > > BFD_RELOC_32_BASEREL, > BFD_RELOC_16_BASEREL, > BFD_RELOC_LO16_BASEREL, > BFD_RELOC_HI16_BASEREL, > BFD_RELOC_HI16_S_BASEREL, > BFD_RELOC_8_BASEREL, > BFD_RELOC_RVA, > > > BFD_RELOC_8_FFnn, > > > > > > > > BFD_RELOC_32_PCREL_S2, > BFD_RELOC_16_PCREL_S2, > BFD_RELOC_23_PCREL_S2, > > > > BFD_RELOC_HI22, > BFD_RELOC_LO10, > > > > > > BFD_RELOC_GPREL16, > BFD_RELOC_GPREL32, > > > BFD_RELOC_I960_CALLJ, > > > > BFD_RELOC_NONE, > BFD_RELOC_SPARC_WDISP22, > BFD_RELOC_SPARC22, > BFD_RELOC_SPARC13, > BFD_RELOC_SPARC_GOT10, > BFD_RELOC_SPARC_GOT13, > BFD_RELOC_SPARC_GOT22, > BFD_RELOC_SPARC_PC10, > BFD_RELOC_SPARC_PC22, > BFD_RELOC_SPARC_WPLT30, > BFD_RELOC_SPARC_COPY, > BFD_RELOC_SPARC_GLOB_DAT, > BFD_RELOC_SPARC_JMP_SLOT, > BFD_RELOC_SPARC_RELATIVE, > BFD_RELOC_SPARC_UA16, > BFD_RELOC_SPARC_UA32, > BFD_RELOC_SPARC_UA64, > > > BFD_RELOC_SPARC_BASE13, > BFD_RELOC_SPARC_BASE22, > > > > BFD_RELOC_SPARC_10, > BFD_RELOC_SPARC_11, > BFD_RELOC_SPARC_OLO10, > BFD_RELOC_SPARC_HH22, > BFD_RELOC_SPARC_HM10, > BFD_RELOC_SPARC_LM22, > BFD_RELOC_SPARC_PC_HH22, > BFD_RELOC_SPARC_PC_HM10, > BFD_RELOC_SPARC_PC_LM22, > BFD_RELOC_SPARC_WDISP16, > BFD_RELOC_SPARC_WDISP19, > BFD_RELOC_SPARC_7, > BFD_RELOC_SPARC_6, > BFD_RELOC_SPARC_5, > > BFD_RELOC_SPARC_PLT32, > BFD_RELOC_SPARC_PLT64, > BFD_RELOC_SPARC_HIX22, > BFD_RELOC_SPARC_LOX10, > BFD_RELOC_SPARC_H44, > BFD_RELOC_SPARC_M44, > BFD_RELOC_SPARC_L44, > BFD_RELOC_SPARC_REGISTER, > > > BFD_RELOC_SPARC_REV32, > > > BFD_RELOC_SPARC_TLS_GD_HI22, > BFD_RELOC_SPARC_TLS_GD_LO10, > BFD_RELOC_SPARC_TLS_GD_ADD, > BFD_RELOC_SPARC_TLS_GD_CALL, > BFD_RELOC_SPARC_TLS_LDM_HI22, > BFD_RELOC_SPARC_TLS_LDM_LO10, > BFD_RELOC_SPARC_TLS_LDM_ADD, > BFD_RELOC_SPARC_TLS_LDM_CALL, > BFD_RELOC_SPARC_TLS_LDO_HIX22, > BFD_RELOC_SPARC_TLS_LDO_LOX10, > BFD_RELOC_SPARC_TLS_LDO_ADD, > BFD_RELOC_SPARC_TLS_IE_HI22, > BFD_RELOC_SPARC_TLS_IE_LO10, > BFD_RELOC_SPARC_TLS_IE_LD, > BFD_RELOC_SPARC_TLS_IE_LDX, > BFD_RELOC_SPARC_TLS_IE_ADD, > BFD_RELOC_SPARC_TLS_LE_HIX22, > BFD_RELOC_SPARC_TLS_LE_LOX10, > BFD_RELOC_SPARC_TLS_DTPMOD32, > BFD_RELOC_SPARC_TLS_DTPMOD64, > BFD_RELOC_SPARC_TLS_DTPOFF32, > BFD_RELOC_SPARC_TLS_DTPOFF64, > BFD_RELOC_SPARC_TLS_TPOFF32, > BFD_RELOC_SPARC_TLS_TPOFF64, > > > > > > > > BFD_RELOC_ALPHA_GPDISP_HI16, > > > > > > BFD_RELOC_ALPHA_GPDISP_LO16, > > > > > BFD_RELOC_ALPHA_GPDISP, ># 2251 "bfd.h" > BFD_RELOC_ALPHA_LITERAL, > BFD_RELOC_ALPHA_ELF_LITERAL, > BFD_RELOC_ALPHA_LITUSE, > > > > > BFD_RELOC_ALPHA_HINT, > > > > BFD_RELOC_ALPHA_LINKAGE, > > > > BFD_RELOC_ALPHA_CODEADDR, > > > > BFD_RELOC_ALPHA_GPREL_HI16, > BFD_RELOC_ALPHA_GPREL_LO16, > > > > > BFD_RELOC_ALPHA_BRSGP, > > > BFD_RELOC_ALPHA_TLSGD, > BFD_RELOC_ALPHA_TLSLDM, > BFD_RELOC_ALPHA_DTPMOD64, > BFD_RELOC_ALPHA_GOTDTPREL16, > BFD_RELOC_ALPHA_DTPREL64, > BFD_RELOC_ALPHA_DTPREL_HI16, > BFD_RELOC_ALPHA_DTPREL_LO16, > BFD_RELOC_ALPHA_DTPREL16, > BFD_RELOC_ALPHA_GOTTPREL16, > BFD_RELOC_ALPHA_TPREL64, > BFD_RELOC_ALPHA_TPREL_HI16, > BFD_RELOC_ALPHA_TPREL_LO16, > BFD_RELOC_ALPHA_TPREL16, > > > > BFD_RELOC_MIPS_JMP, > > > BFD_RELOC_MIPS16_JMP, > > > BFD_RELOC_MIPS16_GPREL, > > > BFD_RELOC_HI16, > > > > > > BFD_RELOC_HI16_S, > > > BFD_RELOC_LO16, > > > BFD_RELOC_PCREL_HI16_S, > > > BFD_RELOC_PCREL_LO16, > > > BFD_RELOC_MIPS_LITERAL, > > > BFD_RELOC_MIPS_GOT16, > BFD_RELOC_MIPS_CALL16, > BFD_RELOC_MIPS_GOT_HI16, > BFD_RELOC_MIPS_GOT_LO16, > BFD_RELOC_MIPS_CALL_HI16, > BFD_RELOC_MIPS_CALL_LO16, > BFD_RELOC_MIPS_SUB, > BFD_RELOC_MIPS_GOT_PAGE, > BFD_RELOC_MIPS_GOT_OFST, > BFD_RELOC_MIPS_GOT_DISP, > BFD_RELOC_MIPS_SHIFT5, > BFD_RELOC_MIPS_SHIFT6, > BFD_RELOC_MIPS_INSERT_A, > BFD_RELOC_MIPS_INSERT_B, > BFD_RELOC_MIPS_DELETE, > BFD_RELOC_MIPS_HIGHEST, > BFD_RELOC_MIPS_HIGHER, > BFD_RELOC_MIPS_SCN_DISP, > BFD_RELOC_MIPS_REL16, > BFD_RELOC_MIPS_RELGOT, > BFD_RELOC_MIPS_JALR, > > > > BFD_RELOC_FRV_LABEL16, > BFD_RELOC_FRV_LABEL24, > BFD_RELOC_FRV_LO16, > BFD_RELOC_FRV_HI16, > BFD_RELOC_FRV_GPREL12, > BFD_RELOC_FRV_GPRELU12, > BFD_RELOC_FRV_GPREL32, > BFD_RELOC_FRV_GPRELHI, > BFD_RELOC_FRV_GPRELLO, > > > > BFD_RELOC_MN10300_GOTOFF24, > > > > BFD_RELOC_MN10300_GOT32, > > > > BFD_RELOC_MN10300_GOT24, > > > > BFD_RELOC_MN10300_GOT16, > > > BFD_RELOC_MN10300_COPY, > > > BFD_RELOC_MN10300_GLOB_DAT, > > > BFD_RELOC_MN10300_JMP_SLOT, > > > BFD_RELOC_MN10300_RELATIVE, > > > > BFD_RELOC_386_GOT32, > BFD_RELOC_386_PLT32, > BFD_RELOC_386_COPY, > BFD_RELOC_386_GLOB_DAT, > BFD_RELOC_386_JUMP_SLOT, > BFD_RELOC_386_RELATIVE, > BFD_RELOC_386_GOTOFF, > BFD_RELOC_386_GOTPC, > BFD_RELOC_386_TLS_TPOFF, > BFD_RELOC_386_TLS_IE, > BFD_RELOC_386_TLS_GOTIE, > BFD_RELOC_386_TLS_LE, > BFD_RELOC_386_TLS_GD, > BFD_RELOC_386_TLS_LDM, > BFD_RELOC_386_TLS_LDO_32, > BFD_RELOC_386_TLS_IE_32, > BFD_RELOC_386_TLS_LE_32, > BFD_RELOC_386_TLS_DTPMOD32, > BFD_RELOC_386_TLS_DTPOFF32, > BFD_RELOC_386_TLS_TPOFF32, > > > BFD_RELOC_X86_64_GOT32, > BFD_RELOC_X86_64_PLT32, > BFD_RELOC_X86_64_COPY, > BFD_RELOC_X86_64_GLOB_DAT, > BFD_RELOC_X86_64_JUMP_SLOT, > BFD_RELOC_X86_64_RELATIVE, > BFD_RELOC_X86_64_GOTPCREL, > BFD_RELOC_X86_64_32S, > BFD_RELOC_X86_64_DTPMOD64, > BFD_RELOC_X86_64_DTPOFF64, > BFD_RELOC_X86_64_TPOFF64, > BFD_RELOC_X86_64_TLSGD, > BFD_RELOC_X86_64_TLSLD, > BFD_RELOC_X86_64_DTPOFF32, > BFD_RELOC_X86_64_GOTTPOFF, > BFD_RELOC_X86_64_TPOFF32, > > > BFD_RELOC_NS32K_IMM_8, > BFD_RELOC_NS32K_IMM_16, > BFD_RELOC_NS32K_IMM_32, > BFD_RELOC_NS32K_IMM_8_PCREL, > BFD_RELOC_NS32K_IMM_16_PCREL, > BFD_RELOC_NS32K_IMM_32_PCREL, > BFD_RELOC_NS32K_DISP_8, > BFD_RELOC_NS32K_DISP_16, > BFD_RELOC_NS32K_DISP_32, > BFD_RELOC_NS32K_DISP_8_PCREL, > BFD_RELOC_NS32K_DISP_16_PCREL, > BFD_RELOC_NS32K_DISP_32_PCREL, > > > BFD_RELOC_PDP11_DISP_8_PCREL, > BFD_RELOC_PDP11_DISP_6_PCREL, > > > BFD_RELOC_PJ_CODE_HI16, > BFD_RELOC_PJ_CODE_LO16, > BFD_RELOC_PJ_CODE_DIR16, > BFD_RELOC_PJ_CODE_DIR32, > BFD_RELOC_PJ_CODE_REL16, > BFD_RELOC_PJ_CODE_REL32, > > > BFD_RELOC_PPC_B26, > BFD_RELOC_PPC_BA26, > BFD_RELOC_PPC_TOC16, > BFD_RELOC_PPC_B16, > BFD_RELOC_PPC_B16_BRTAKEN, > BFD_RELOC_PPC_B16_BRNTAKEN, > BFD_RELOC_PPC_BA16, > BFD_RELOC_PPC_BA16_BRTAKEN, > BFD_RELOC_PPC_BA16_BRNTAKEN, > BFD_RELOC_PPC_COPY, > BFD_RELOC_PPC_GLOB_DAT, > BFD_RELOC_PPC_JMP_SLOT, > BFD_RELOC_PPC_RELATIVE, > BFD_RELOC_PPC_LOCAL24PC, > BFD_RELOC_PPC_EMB_NADDR32, > BFD_RELOC_PPC_EMB_NADDR16, > BFD_RELOC_PPC_EMB_NADDR16_LO, > BFD_RELOC_PPC_EMB_NADDR16_HI, > BFD_RELOC_PPC_EMB_NADDR16_HA, > BFD_RELOC_PPC_EMB_SDAI16, > BFD_RELOC_PPC_EMB_SDA2I16, > BFD_RELOC_PPC_EMB_SDA2REL, > BFD_RELOC_PPC_EMB_SDA21, > BFD_RELOC_PPC_EMB_MRKREF, > BFD_RELOC_PPC_EMB_RELSEC16, > BFD_RELOC_PPC_EMB_RELST_LO, > BFD_RELOC_PPC_EMB_RELST_HI, > BFD_RELOC_PPC_EMB_RELST_HA, > BFD_RELOC_PPC_EMB_BIT_FLD, > BFD_RELOC_PPC_EMB_RELSDA, > BFD_RELOC_PPC64_HIGHER, > BFD_RELOC_PPC64_HIGHER_S, > BFD_RELOC_PPC64_HIGHEST, > BFD_RELOC_PPC64_HIGHEST_S, > BFD_RELOC_PPC64_TOC16_LO, > BFD_RELOC_PPC64_TOC16_HI, > BFD_RELOC_PPC64_TOC16_HA, > BFD_RELOC_PPC64_TOC, > BFD_RELOC_PPC64_PLTGOT16, > BFD_RELOC_PPC64_PLTGOT16_LO, > BFD_RELOC_PPC64_PLTGOT16_HI, > BFD_RELOC_PPC64_PLTGOT16_HA, > BFD_RELOC_PPC64_ADDR16_DS, > BFD_RELOC_PPC64_ADDR16_LO_DS, > BFD_RELOC_PPC64_GOT16_DS, > BFD_RELOC_PPC64_GOT16_LO_DS, > BFD_RELOC_PPC64_PLT16_LO_DS, > BFD_RELOC_PPC64_SECTOFF_DS, > BFD_RELOC_PPC64_SECTOFF_LO_DS, > BFD_RELOC_PPC64_TOC16_DS, > BFD_RELOC_PPC64_TOC16_LO_DS, > BFD_RELOC_PPC64_PLTGOT16_DS, > BFD_RELOC_PPC64_PLTGOT16_LO_DS, > > > BFD_RELOC_PPC_TLS, > BFD_RELOC_PPC_DTPMOD, > BFD_RELOC_PPC_TPREL16, > BFD_RELOC_PPC_TPREL16_LO, > BFD_RELOC_PPC_TPREL16_HI, > BFD_RELOC_PPC_TPREL16_HA, > BFD_RELOC_PPC_TPREL, > BFD_RELOC_PPC_DTPREL16, > BFD_RELOC_PPC_DTPREL16_LO, > BFD_RELOC_PPC_DTPREL16_HI, > BFD_RELOC_PPC_DTPREL16_HA, > BFD_RELOC_PPC_DTPREL, > BFD_RELOC_PPC_GOT_TLSGD16, > BFD_RELOC_PPC_GOT_TLSGD16_LO, > BFD_RELOC_PPC_GOT_TLSGD16_HI, > BFD_RELOC_PPC_GOT_TLSGD16_HA, > BFD_RELOC_PPC_GOT_TLSLD16, > BFD_RELOC_PPC_GOT_TLSLD16_LO, > BFD_RELOC_PPC_GOT_TLSLD16_HI, > BFD_RELOC_PPC_GOT_TLSLD16_HA, > BFD_RELOC_PPC_GOT_TPREL16, > BFD_RELOC_PPC_GOT_TPREL16_LO, > BFD_RELOC_PPC_GOT_TPREL16_HI, > BFD_RELOC_PPC_GOT_TPREL16_HA, > BFD_RELOC_PPC_GOT_DTPREL16, > BFD_RELOC_PPC_GOT_DTPREL16_LO, > BFD_RELOC_PPC_GOT_DTPREL16_HI, > BFD_RELOC_PPC_GOT_DTPREL16_HA, > BFD_RELOC_PPC64_TPREL16_DS, > BFD_RELOC_PPC64_TPREL16_LO_DS, > BFD_RELOC_PPC64_TPREL16_HIGHER, > BFD_RELOC_PPC64_TPREL16_HIGHERA, > BFD_RELOC_PPC64_TPREL16_HIGHEST, > BFD_RELOC_PPC64_TPREL16_HIGHESTA, > BFD_RELOC_PPC64_DTPREL16_DS, > BFD_RELOC_PPC64_DTPREL16_LO_DS, > BFD_RELOC_PPC64_DTPREL16_HIGHER, > BFD_RELOC_PPC64_DTPREL16_HIGHERA, > BFD_RELOC_PPC64_DTPREL16_HIGHEST, > BFD_RELOC_PPC64_DTPREL16_HIGHESTA, > > > BFD_RELOC_I370_D12, > > > > > BFD_RELOC_CTOR, > > > > BFD_RELOC_ARM_PCREL_BRANCH, > > > > > BFD_RELOC_ARM_PCREL_BLX, > > > > > BFD_RELOC_THUMB_PCREL_BLX, > > > > BFD_RELOC_ARM_IMMEDIATE, > BFD_RELOC_ARM_ADRL_IMMEDIATE, > BFD_RELOC_ARM_OFFSET_IMM, > BFD_RELOC_ARM_SHIFT_IMM, > BFD_RELOC_ARM_SWI, > BFD_RELOC_ARM_MULTI, > BFD_RELOC_ARM_CP_OFF_IMM, > BFD_RELOC_ARM_CP_OFF_IMM_S2, > BFD_RELOC_ARM_ADR_IMM, > BFD_RELOC_ARM_LDR_IMM, > BFD_RELOC_ARM_LITERAL, > BFD_RELOC_ARM_IN_POOL, > BFD_RELOC_ARM_OFFSET_IMM8, > BFD_RELOC_ARM_HWLITERAL, > BFD_RELOC_ARM_THUMB_ADD, > BFD_RELOC_ARM_THUMB_IMM, > BFD_RELOC_ARM_THUMB_SHIFT, > BFD_RELOC_ARM_THUMB_OFFSET, > BFD_RELOC_ARM_GOT12, > BFD_RELOC_ARM_GOT32, > BFD_RELOC_ARM_JUMP_SLOT, > BFD_RELOC_ARM_COPY, > BFD_RELOC_ARM_GLOB_DAT, > BFD_RELOC_ARM_PLT32, > BFD_RELOC_ARM_RELATIVE, > BFD_RELOC_ARM_GOTOFF, > BFD_RELOC_ARM_GOTPC, > > > BFD_RELOC_SH_PCDISP8BY2, > BFD_RELOC_SH_PCDISP12BY2, > BFD_RELOC_SH_IMM4, > BFD_RELOC_SH_IMM4BY2, > BFD_RELOC_SH_IMM4BY4, > BFD_RELOC_SH_IMM8, > BFD_RELOC_SH_IMM8BY2, > BFD_RELOC_SH_IMM8BY4, > BFD_RELOC_SH_PCRELIMM8BY2, > BFD_RELOC_SH_PCRELIMM8BY4, > BFD_RELOC_SH_SWITCH16, > BFD_RELOC_SH_SWITCH32, > BFD_RELOC_SH_USES, > BFD_RELOC_SH_COUNT, > BFD_RELOC_SH_ALIGN, > BFD_RELOC_SH_CODE, > BFD_RELOC_SH_DATA, > BFD_RELOC_SH_LABEL, > BFD_RELOC_SH_LOOP_START, > BFD_RELOC_SH_LOOP_END, > BFD_RELOC_SH_COPY, > BFD_RELOC_SH_GLOB_DAT, > BFD_RELOC_SH_JMP_SLOT, > BFD_RELOC_SH_RELATIVE, > BFD_RELOC_SH_GOTPC, > BFD_RELOC_SH_GOT_LOW16, > BFD_RELOC_SH_GOT_MEDLOW16, > BFD_RELOC_SH_GOT_MEDHI16, > BFD_RELOC_SH_GOT_HI16, > BFD_RELOC_SH_GOTPLT_LOW16, > BFD_RELOC_SH_GOTPLT_MEDLOW16, > BFD_RELOC_SH_GOTPLT_MEDHI16, > BFD_RELOC_SH_GOTPLT_HI16, > BFD_RELOC_SH_PLT_LOW16, > BFD_RELOC_SH_PLT_MEDLOW16, > BFD_RELOC_SH_PLT_MEDHI16, > BFD_RELOC_SH_PLT_HI16, > BFD_RELOC_SH_GOTOFF_LOW16, > BFD_RELOC_SH_GOTOFF_MEDLOW16, > BFD_RELOC_SH_GOTOFF_MEDHI16, > BFD_RELOC_SH_GOTOFF_HI16, > BFD_RELOC_SH_GOTPC_LOW16, > BFD_RELOC_SH_GOTPC_MEDLOW16, > BFD_RELOC_SH_GOTPC_MEDHI16, > BFD_RELOC_SH_GOTPC_HI16, > BFD_RELOC_SH_COPY64, > BFD_RELOC_SH_GLOB_DAT64, > BFD_RELOC_SH_JMP_SLOT64, > BFD_RELOC_SH_RELATIVE64, > BFD_RELOC_SH_GOT10BY4, > BFD_RELOC_SH_GOT10BY8, > BFD_RELOC_SH_GOTPLT10BY4, > BFD_RELOC_SH_GOTPLT10BY8, > BFD_RELOC_SH_GOTPLT32, > BFD_RELOC_SH_SHMEDIA_CODE, > BFD_RELOC_SH_IMMU5, > BFD_RELOC_SH_IMMS6, > BFD_RELOC_SH_IMMS6BY32, > BFD_RELOC_SH_IMMU6, > BFD_RELOC_SH_IMMS10, > BFD_RELOC_SH_IMMS10BY2, > BFD_RELOC_SH_IMMS10BY4, > BFD_RELOC_SH_IMMS10BY8, > BFD_RELOC_SH_IMMS16, > BFD_RELOC_SH_IMMU16, > BFD_RELOC_SH_IMM_LOW16, > BFD_RELOC_SH_IMM_LOW16_PCREL, > BFD_RELOC_SH_IMM_MEDLOW16, > BFD_RELOC_SH_IMM_MEDLOW16_PCREL, > BFD_RELOC_SH_IMM_MEDHI16, > BFD_RELOC_SH_IMM_MEDHI16_PCREL, > BFD_RELOC_SH_IMM_HI16, > BFD_RELOC_SH_IMM_HI16_PCREL, > BFD_RELOC_SH_PT_16, > BFD_RELOC_SH_TLS_GD_32, > BFD_RELOC_SH_TLS_LD_32, > BFD_RELOC_SH_TLS_LDO_32, > BFD_RELOC_SH_TLS_IE_32, > BFD_RELOC_SH_TLS_LE_32, > BFD_RELOC_SH_TLS_DTPMOD32, > BFD_RELOC_SH_TLS_DTPOFF32, > BFD_RELOC_SH_TLS_TPOFF32, > > > > BFD_RELOC_THUMB_PCREL_BRANCH9, > BFD_RELOC_THUMB_PCREL_BRANCH12, > BFD_RELOC_THUMB_PCREL_BRANCH23, > > > > > > BFD_RELOC_ARC_B22_PCREL, > > > > > BFD_RELOC_ARC_B26, > > > > > BFD_RELOC_D10V_10_PCREL_R, > > > > > > > BFD_RELOC_D10V_10_PCREL_L, > > > > BFD_RELOC_D10V_18, > > > > BFD_RELOC_D10V_18_PCREL, > > > > BFD_RELOC_D30V_6, > > > > BFD_RELOC_D30V_9_PCREL, > > > > > > BFD_RELOC_D30V_9_PCREL_R, > > > > BFD_RELOC_D30V_15, > > > > BFD_RELOC_D30V_15_PCREL, > > > > > > BFD_RELOC_D30V_15_PCREL_R, > > > > BFD_RELOC_D30V_21, > > > > BFD_RELOC_D30V_21_PCREL, > > > > > > BFD_RELOC_D30V_21_PCREL_R, > > > BFD_RELOC_D30V_32, > > > BFD_RELOC_D30V_32_PCREL, > > > BFD_RELOC_DLX_HI16_S, > > > BFD_RELOC_DLX_LO16, > > > BFD_RELOC_DLX_JMP26, > > > > BFD_RELOC_M32R_24, > > > BFD_RELOC_M32R_10_PCREL, > > > BFD_RELOC_M32R_18_PCREL, > > > BFD_RELOC_M32R_26_PCREL, > > > > BFD_RELOC_M32R_HI16_ULO, > > > > BFD_RELOC_M32R_HI16_SLO, > > > BFD_RELOC_M32R_LO16, > > > > BFD_RELOC_M32R_SDA16, > > > BFD_RELOC_V850_9_PCREL, > > > BFD_RELOC_V850_22_PCREL, > > > BFD_RELOC_V850_SDA_16_16_OFFSET, > > > > BFD_RELOC_V850_SDA_15_16_OFFSET, > > > BFD_RELOC_V850_ZDA_16_16_OFFSET, > > > > BFD_RELOC_V850_ZDA_15_16_OFFSET, > > > > BFD_RELOC_V850_TDA_6_8_OFFSET, > > > > BFD_RELOC_V850_TDA_7_8_OFFSET, > > > BFD_RELOC_V850_TDA_7_7_OFFSET, > > > BFD_RELOC_V850_TDA_16_16_OFFSET, > > > > BFD_RELOC_V850_TDA_4_5_OFFSET, > > > BFD_RELOC_V850_TDA_4_4_OFFSET, > > > > BFD_RELOC_V850_SDA_16_16_SPLIT_OFFSET, > > > > BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET, > > > BFD_RELOC_V850_CALLT_6_7_OFFSET, > > > BFD_RELOC_V850_CALLT_16_16_OFFSET, > > > BFD_RELOC_V850_LONGCALL, > > > BFD_RELOC_V850_LONGJUMP, > > > BFD_RELOC_V850_ALIGN, > > > > BFD_RELOC_MN10300_32_PCREL, > > > > BFD_RELOC_MN10300_16_PCREL, > > > > > BFD_RELOC_TIC30_LDP, > > > > > BFD_RELOC_TIC54X_PARTLS7, > > > > > BFD_RELOC_TIC54X_PARTMS9, > > > BFD_RELOC_TIC54X_23, > > > > > BFD_RELOC_TIC54X_16_OF_23, > > > > > BFD_RELOC_TIC54X_MS7_OF_23, > > > BFD_RELOC_FR30_48, > > > > BFD_RELOC_FR30_20, > > > > BFD_RELOC_FR30_6_IN_4, > > > > BFD_RELOC_FR30_8_IN_8, > > > > BFD_RELOC_FR30_9_IN_8, > > > > BFD_RELOC_FR30_10_IN_8, > > > > BFD_RELOC_FR30_9_PCREL, > > > > BFD_RELOC_FR30_12_PCREL, > > > BFD_RELOC_MCORE_PCREL_IMM8BY4, > BFD_RELOC_MCORE_PCREL_IMM11BY2, > BFD_RELOC_MCORE_PCREL_IMM4BY2, > BFD_RELOC_MCORE_PCREL_32, > BFD_RELOC_MCORE_PCREL_JSR_IMM11BY2, > BFD_RELOC_MCORE_RVA, > > > BFD_RELOC_MMIX_GETA, > BFD_RELOC_MMIX_GETA_1, > BFD_RELOC_MMIX_GETA_2, > BFD_RELOC_MMIX_GETA_3, > > > BFD_RELOC_MMIX_CBRANCH, > BFD_RELOC_MMIX_CBRANCH_J, > BFD_RELOC_MMIX_CBRANCH_1, > BFD_RELOC_MMIX_CBRANCH_2, > BFD_RELOC_MMIX_CBRANCH_3, > > > BFD_RELOC_MMIX_PUSHJ, > BFD_RELOC_MMIX_PUSHJ_1, > BFD_RELOC_MMIX_PUSHJ_2, > BFD_RELOC_MMIX_PUSHJ_3, > BFD_RELOC_MMIX_PUSHJ_STUBBABLE, > > > BFD_RELOC_MMIX_JMP, > BFD_RELOC_MMIX_JMP_1, > BFD_RELOC_MMIX_JMP_2, > BFD_RELOC_MMIX_JMP_3, > > > > BFD_RELOC_MMIX_ADDR19, > > > BFD_RELOC_MMIX_ADDR27, > > > > BFD_RELOC_MMIX_REG_OR_BYTE, > > > > BFD_RELOC_MMIX_REG, > > > > BFD_RELOC_MMIX_BASE_PLUS_OFFSET, > > > > BFD_RELOC_MMIX_LOCAL, > > > > BFD_RELOC_AVR_7_PCREL, > > > > BFD_RELOC_AVR_13_PCREL, > > > > BFD_RELOC_AVR_16_PM, > > > > BFD_RELOC_AVR_LO8_LDI, > > > > BFD_RELOC_AVR_HI8_LDI, > > > > BFD_RELOC_AVR_HH8_LDI, > > > > BFD_RELOC_AVR_LO8_LDI_NEG, > > > > > BFD_RELOC_AVR_HI8_LDI_NEG, > > > > > BFD_RELOC_AVR_HH8_LDI_NEG, > > > > BFD_RELOC_AVR_LO8_LDI_PM, > > > > BFD_RELOC_AVR_HI8_LDI_PM, > > > > BFD_RELOC_AVR_HH8_LDI_PM, > > > > BFD_RELOC_AVR_LO8_LDI_PM_NEG, > > > > > BFD_RELOC_AVR_HI8_LDI_PM_NEG, > > > > > BFD_RELOC_AVR_HH8_LDI_PM_NEG, > > > > BFD_RELOC_AVR_CALL, > > > BFD_RELOC_390_12, > > > BFD_RELOC_390_GOT12, > > > BFD_RELOC_390_PLT32, > > > BFD_RELOC_390_COPY, > > > BFD_RELOC_390_GLOB_DAT, > > > BFD_RELOC_390_JMP_SLOT, > > > BFD_RELOC_390_RELATIVE, > > > BFD_RELOC_390_GOTPC, > > > BFD_RELOC_390_GOT16, > > > BFD_RELOC_390_PC16DBL, > > > BFD_RELOC_390_PLT16DBL, > > > BFD_RELOC_390_PC32DBL, > > > BFD_RELOC_390_PLT32DBL, > > > BFD_RELOC_390_GOTPCDBL, > > > BFD_RELOC_390_GOT64, > > > BFD_RELOC_390_PLT64, > > > BFD_RELOC_390_GOTENT, > > > BFD_RELOC_390_GOTOFF64, > > > BFD_RELOC_390_GOTPLT12, > > > BFD_RELOC_390_GOTPLT16, > > > BFD_RELOC_390_GOTPLT32, > > > BFD_RELOC_390_GOTPLT64, > > > BFD_RELOC_390_GOTPLTENT, > > > BFD_RELOC_390_PLTOFF16, > > > BFD_RELOC_390_PLTOFF32, > > > BFD_RELOC_390_PLTOFF64, > > > BFD_RELOC_390_TLS_LOAD, > BFD_RELOC_390_TLS_GDCALL, > BFD_RELOC_390_TLS_LDCALL, > BFD_RELOC_390_TLS_GD32, > BFD_RELOC_390_TLS_GD64, > BFD_RELOC_390_TLS_GOTIE12, > BFD_RELOC_390_TLS_GOTIE32, > BFD_RELOC_390_TLS_GOTIE64, > BFD_RELOC_390_TLS_LDM32, > BFD_RELOC_390_TLS_LDM64, > BFD_RELOC_390_TLS_IE32, > BFD_RELOC_390_TLS_IE64, > BFD_RELOC_390_TLS_IEENT, > BFD_RELOC_390_TLS_LE32, > BFD_RELOC_390_TLS_LE64, > BFD_RELOC_390_TLS_LDO32, > BFD_RELOC_390_TLS_LDO64, > BFD_RELOC_390_TLS_DTPMOD, > BFD_RELOC_390_TLS_DTPOFF, > BFD_RELOC_390_TLS_TPOFF, > > > BFD_RELOC_390_20, > BFD_RELOC_390_GOT20, > BFD_RELOC_390_GOTPLT20, > BFD_RELOC_390_TLS_GOTIE20, > > > BFD_RELOC_IP2K_FR9, > > > BFD_RELOC_IP2K_BANK, > > > BFD_RELOC_IP2K_ADDR16CJP, > > > BFD_RELOC_IP2K_PAGE3, > > > BFD_RELOC_IP2K_LO8DATA, > BFD_RELOC_IP2K_HI8DATA, > BFD_RELOC_IP2K_EX8DATA, > > > BFD_RELOC_IP2K_LO8INSN, > BFD_RELOC_IP2K_HI8INSN, > > > BFD_RELOC_IP2K_PC_SKIP, > > > BFD_RELOC_IP2K_TEXT, > > > BFD_RELOC_IP2K_FR_OFFSET, > > > BFD_RELOC_VPE4KMATH_DATA, > BFD_RELOC_VPE4KMATH_INSN, ># 3222 "bfd.h" > BFD_RELOC_VTABLE_INHERIT, > BFD_RELOC_VTABLE_ENTRY, > > > BFD_RELOC_IA64_IMM14, > BFD_RELOC_IA64_IMM22, > BFD_RELOC_IA64_IMM64, > BFD_RELOC_IA64_DIR32MSB, > BFD_RELOC_IA64_DIR32LSB, > BFD_RELOC_IA64_DIR64MSB, > BFD_RELOC_IA64_DIR64LSB, > BFD_RELOC_IA64_GPREL22, > BFD_RELOC_IA64_GPREL64I, > BFD_RELOC_IA64_GPREL32MSB, > BFD_RELOC_IA64_GPREL32LSB, > BFD_RELOC_IA64_GPREL64MSB, > BFD_RELOC_IA64_GPREL64LSB, > BFD_RELOC_IA64_LTOFF22, > BFD_RELOC_IA64_LTOFF64I, > BFD_RELOC_IA64_PLTOFF22, > BFD_RELOC_IA64_PLTOFF64I, > BFD_RELOC_IA64_PLTOFF64MSB, > BFD_RELOC_IA64_PLTOFF64LSB, > BFD_RELOC_IA64_FPTR64I, > BFD_RELOC_IA64_FPTR32MSB, > BFD_RELOC_IA64_FPTR32LSB, > BFD_RELOC_IA64_FPTR64MSB, > BFD_RELOC_IA64_FPTR64LSB, > BFD_RELOC_IA64_PCREL21B, > BFD_RELOC_IA64_PCREL21BI, > BFD_RELOC_IA64_PCREL21M, > BFD_RELOC_IA64_PCREL21F, > BFD_RELOC_IA64_PCREL22, > BFD_RELOC_IA64_PCREL60B, > BFD_RELOC_IA64_PCREL64I, > BFD_RELOC_IA64_PCREL32MSB, > BFD_RELOC_IA64_PCREL32LSB, > BFD_RELOC_IA64_PCREL64MSB, > BFD_RELOC_IA64_PCREL64LSB, > BFD_RELOC_IA64_LTOFF_FPTR22, > BFD_RELOC_IA64_LTOFF_FPTR64I, > BFD_RELOC_IA64_LTOFF_FPTR32MSB, > BFD_RELOC_IA64_LTOFF_FPTR32LSB, > BFD_RELOC_IA64_LTOFF_FPTR64MSB, > BFD_RELOC_IA64_LTOFF_FPTR64LSB, > BFD_RELOC_IA64_SEGREL32MSB, > BFD_RELOC_IA64_SEGREL32LSB, > BFD_RELOC_IA64_SEGREL64MSB, > BFD_RELOC_IA64_SEGREL64LSB, > BFD_RELOC_IA64_SECREL32MSB, > BFD_RELOC_IA64_SECREL32LSB, > BFD_RELOC_IA64_SECREL64MSB, > BFD_RELOC_IA64_SECREL64LSB, > BFD_RELOC_IA64_REL32MSB, > BFD_RELOC_IA64_REL32LSB, > BFD_RELOC_IA64_REL64MSB, > BFD_RELOC_IA64_REL64LSB, > BFD_RELOC_IA64_LTV32MSB, > BFD_RELOC_IA64_LTV32LSB, > BFD_RELOC_IA64_LTV64MSB, > BFD_RELOC_IA64_LTV64LSB, > BFD_RELOC_IA64_IPLTMSB, > BFD_RELOC_IA64_IPLTLSB, > BFD_RELOC_IA64_COPY, > BFD_RELOC_IA64_LTOFF22X, > BFD_RELOC_IA64_LDXMOV, > BFD_RELOC_IA64_TPREL14, > BFD_RELOC_IA64_TPREL22, > BFD_RELOC_IA64_TPREL64I, > BFD_RELOC_IA64_TPREL64MSB, > BFD_RELOC_IA64_TPREL64LSB, > BFD_RELOC_IA64_LTOFF_TPREL22, > BFD_RELOC_IA64_DTPMOD64MSB, > BFD_RELOC_IA64_DTPMOD64LSB, > BFD_RELOC_IA64_LTOFF_DTPMOD22, > BFD_RELOC_IA64_DTPREL14, > BFD_RELOC_IA64_DTPREL22, > BFD_RELOC_IA64_DTPREL64I, > BFD_RELOC_IA64_DTPREL32MSB, > BFD_RELOC_IA64_DTPREL32LSB, > BFD_RELOC_IA64_DTPREL64MSB, > BFD_RELOC_IA64_DTPREL64LSB, > BFD_RELOC_IA64_LTOFF_DTPREL22, > > > > BFD_RELOC_M68HC11_HI8, > > > > BFD_RELOC_M68HC11_LO8, > > > > BFD_RELOC_M68HC11_3B, > > > > > > > BFD_RELOC_M68HC11_RL_JUMP, > > > > > > BFD_RELOC_M68HC11_RL_GROUP, > > > > > > BFD_RELOC_M68HC11_LO16, > > > > > > BFD_RELOC_M68HC11_PAGE, > > > > > > BFD_RELOC_M68HC11_24, > > > > BFD_RELOC_CRIS_BDISP8, > BFD_RELOC_CRIS_UNSIGNED_5, > BFD_RELOC_CRIS_SIGNED_6, > BFD_RELOC_CRIS_UNSIGNED_6, > BFD_RELOC_CRIS_UNSIGNED_4, > > > BFD_RELOC_CRIS_COPY, > BFD_RELOC_CRIS_GLOB_DAT, > BFD_RELOC_CRIS_JUMP_SLOT, > BFD_RELOC_CRIS_RELATIVE, > > > BFD_RELOC_CRIS_32_GOT, > > > BFD_RELOC_CRIS_16_GOT, > > > BFD_RELOC_CRIS_32_GOTPLT, > > > BFD_RELOC_CRIS_16_GOTPLT, > > > BFD_RELOC_CRIS_32_GOTREL, > > > BFD_RELOC_CRIS_32_PLT_GOTREL, > > > BFD_RELOC_CRIS_32_PLT_PCREL, > > > BFD_RELOC_860_COPY, > BFD_RELOC_860_GLOB_DAT, > BFD_RELOC_860_JUMP_SLOT, > BFD_RELOC_860_RELATIVE, > BFD_RELOC_860_PC26, > BFD_RELOC_860_PLT26, > BFD_RELOC_860_PC16, > BFD_RELOC_860_LOW0, > BFD_RELOC_860_SPLIT0, > BFD_RELOC_860_LOW1, > BFD_RELOC_860_SPLIT1, > BFD_RELOC_860_LOW2, > BFD_RELOC_860_SPLIT2, > BFD_RELOC_860_LOW3, > BFD_RELOC_860_LOGOT0, > BFD_RELOC_860_SPGOT0, > BFD_RELOC_860_LOGOT1, > BFD_RELOC_860_SPGOT1, > BFD_RELOC_860_LOGOTOFF0, > BFD_RELOC_860_SPGOTOFF0, > BFD_RELOC_860_LOGOTOFF1, > BFD_RELOC_860_SPGOTOFF1, > BFD_RELOC_860_LOGOTOFF2, > BFD_RELOC_860_LOGOTOFF3, > BFD_RELOC_860_LOPC, > BFD_RELOC_860_HIGHADJ, > BFD_RELOC_860_HAGOT, > BFD_RELOC_860_HAGOTOFF, > BFD_RELOC_860_HAPC, > BFD_RELOC_860_HIGH, > BFD_RELOC_860_HIGOT, > BFD_RELOC_860_HIGOTOFF, > > > BFD_RELOC_OPENRISC_ABS_26, > BFD_RELOC_OPENRISC_REL_26, > > > BFD_RELOC_H8_DIR16A8, > BFD_RELOC_H8_DIR16R8, > BFD_RELOC_H8_DIR24A8, > BFD_RELOC_H8_DIR24R8, > BFD_RELOC_H8_DIR32A16, > > > BFD_RELOC_XSTORMY16_REL_12, > BFD_RELOC_XSTORMY16_12, > BFD_RELOC_XSTORMY16_24, > BFD_RELOC_XSTORMY16_FPTR16, > > > BFD_RELOC_VAX_GLOB_DAT, > BFD_RELOC_VAX_JMP_SLOT, > BFD_RELOC_VAX_RELATIVE, > > > BFD_RELOC_MSP430_10_PCREL, > BFD_RELOC_MSP430_16_PCREL, > BFD_RELOC_MSP430_16, > BFD_RELOC_MSP430_16_PCREL_BYTE, > BFD_RELOC_MSP430_16_BYTE, > > > BFD_RELOC_IQ2000_OFFSET_16, > BFD_RELOC_IQ2000_OFFSET_21, > BFD_RELOC_IQ2000_UHI16, > > > > > BFD_RELOC_XTENSA_RTLD, > > > BFD_RELOC_XTENSA_GLOB_DAT, > BFD_RELOC_XTENSA_JMP_SLOT, > BFD_RELOC_XTENSA_RELATIVE, > > > > BFD_RELOC_XTENSA_PLT, > > > > > BFD_RELOC_XTENSA_OP0, > BFD_RELOC_XTENSA_OP1, > BFD_RELOC_XTENSA_OP2, > > > > > BFD_RELOC_XTENSA_ASM_EXPAND, > > > > > > BFD_RELOC_XTENSA_ASM_SIMPLIFY, > BFD_RELOC_UNUSED }; >typedef enum bfd_reloc_code_real bfd_reloc_code_real_type; >reloc_howto_type *bfd_reloc_type_lookup > (bfd *abfd, bfd_reloc_code_real_type code); > >const char *bfd_get_reloc_code_name (bfd_reloc_code_real_type code); > > > >typedef struct symbol_cache_entry >{ ># 3503 "bfd.h" > struct bfd *the_bfd; > > > > const char *name; > > > > > symvalue value; ># 3599 "bfd.h" > flagword flags; > > > > > struct bfd_section *section; > > > union > { > void *p; > bfd_vma i; > } > udata; >} >asymbol; > > > > >bfd_boolean bfd_is_local_label (bfd *abfd, asymbol *sym); > >bfd_boolean bfd_is_local_label_name (bfd *abfd, const char *name); > > > > > > > >bfd_boolean bfd_set_symtab > (bfd *abfd, asymbol **location, unsigned int count); > >void bfd_print_symbol_vandf (bfd *abfd, void *file, asymbol *symbol); > > > > >asymbol *_bfd_generic_make_empty_symbol (bfd *); > > > > >int bfd_decode_symclass (asymbol *symbol); > >bfd_boolean bfd_is_undefined_symclass (int symclass); > >void bfd_symbol_info (asymbol *symbol, symbol_info *ret); > >bfd_boolean bfd_copy_private_symbol_data > (bfd *ibfd, asymbol *isym, bfd *obfd, asymbol *osym); > > > > > > >struct bfd >{ > > unsigned int id; > > > const char *filename; > > > const struct bfd_target *xvec; ># 3674 "bfd.h" > void *iostream; > > > > bfd_boolean cacheable; > > > > > bfd_boolean target_defaulted; > > > > struct bfd *lru_prev, *lru_next; > > > > ufile_ptr where; > > > bfd_boolean opened_once; > > > > bfd_boolean mtime_set; > > > long mtime; > > > int ifd; > > > bfd_format format; > > > enum bfd_direction > { > no_direction = 0, > read_direction = 1, > write_direction = 2, > both_direction = 3 > } > direction; > > > flagword flags; > > > > > ufile_ptr origin; > > > > bfd_boolean output_has_begun; > > > struct bfd_hash_table section_htab; > > > struct bfd_section *sections; > > > struct bfd_section **section_tail; > > > unsigned int section_count; > > > > bfd_vma start_address; > > > unsigned int symcount; > > > struct symbol_cache_entry **outsymbols; > > > unsigned int dynsymcount; > > > const struct bfd_arch_info *arch_info; > > > void *arelt_data; > struct bfd *my_archive; > struct bfd *next; > struct bfd *archive_head; > bfd_boolean has_armap; > > > struct bfd *link_next; > > > > int archive_pass; > > > union > { > struct aout_data_struct *aout_data; > struct artdata *aout_ar_data; > struct _oasys_data *oasys_obj_data; > struct _oasys_ar_data *oasys_ar_data; > struct coff_tdata *coff_obj_data; > struct pe_tdata *pe_obj_data; > struct xcoff_tdata *xcoff_obj_data; > struct ecoff_tdata *ecoff_obj_data; > struct ieee_data_struct *ieee_data; > struct ieee_ar_data_struct *ieee_ar_data; > struct srec_data_struct *srec_data; > struct ihex_data_struct *ihex_data; > struct tekhex_data_struct *tekhex_data; > struct elf_obj_tdata *elf_obj_data; > struct nlm_obj_tdata *nlm_obj_data; > struct bout_data_struct *bout_data; > struct mmo_data_struct *mmo_data; > struct sun_core_struct *sun_core_data; > struct sco5_core_struct *sco5_core_data; > struct trad_core_struct *trad_core_data; > struct som_data_struct *som_data; > struct hpux_core_struct *hpux_core_data; > struct hppabsd_core_struct *hppabsd_core_data; > struct sgi_core_struct *sgi_core_data; > struct lynx_core_struct *lynx_core_data; > struct osf_core_struct *osf_core_data; > struct cisco_core_struct *cisco_core_data; > struct versados_data_struct *versados_data; > struct netbsd_core_struct *netbsd_core_data; > struct mach_o_data_struct *mach_o_data; > struct mach_o_fat_data_struct *mach_o_fat_data; > struct bfd_pef_data_struct *pef_data; > struct bfd_pef_xlib_data_struct *pef_xlib_data; > struct bfd_sym_data_struct *sym_data; > void *any; > } > tdata; > > > void *usrdata; > > > > > void *memory; >}; > >typedef enum bfd_error >{ > bfd_error_no_error = 0, > bfd_error_system_call, > bfd_error_invalid_target, > bfd_error_wrong_format, > bfd_error_wrong_object_format, > bfd_error_invalid_operation, > bfd_error_no_memory, > bfd_error_no_symbols, > bfd_error_no_armap, > bfd_error_no_more_archived_files, > bfd_error_malformed_archive, > bfd_error_file_not_recognized, > bfd_error_file_ambiguously_recognized, > bfd_error_no_contents, > bfd_error_nonrepresentable_section, > bfd_error_no_debug_section, > bfd_error_bad_value, > bfd_error_file_truncated, > bfd_error_file_too_big, > bfd_error_invalid_error_code >} >bfd_error_type; > >bfd_error_type bfd_get_error (void); > >void bfd_set_error (bfd_error_type error_tag); > >const char *bfd_errmsg (bfd_error_type error_tag); > >void bfd_perror (const char *message); > >typedef void (*bfd_error_handler_type) (const char *, ...); > >bfd_error_handler_type bfd_set_error_handler (bfd_error_handler_type); > >void bfd_set_error_program_name (const char *); > >bfd_error_handler_type bfd_get_error_handler (void); > >const char *bfd_archive_filename (bfd *); > >long bfd_get_reloc_upper_bound (bfd *abfd, asection *sect); > >long bfd_canonicalize_reloc > (bfd *abfd, asection *sec, arelent **loc, asymbol **syms); > >void bfd_set_reloc > (bfd *abfd, asection *sec, arelent **rel, unsigned int count); > >bfd_boolean bfd_set_file_flags (bfd *abfd, flagword flags); > >int bfd_get_arch_size (bfd *abfd); > >int bfd_get_sign_extend_vma (bfd *abfd); > >bfd_boolean bfd_set_start_address (bfd *abfd, bfd_vma vma); > >unsigned int bfd_get_gp_size (bfd *abfd); > >void bfd_set_gp_size (bfd *abfd, unsigned int i); > >bfd_vma bfd_scan_vma (const char *string, const char **end, int base); > >bfd_boolean bfd_copy_private_bfd_data (bfd *ibfd, bfd *obfd); > > > > >bfd_boolean bfd_merge_private_bfd_data (bfd *ibfd, bfd *obfd); > > > > >bfd_boolean bfd_set_private_flags (bfd *abfd, flagword flags); ># 3972 "bfd.h" >extern bfd_byte *bfd_get_relocated_section_contents > (bfd *, struct bfd_link_info *, struct bfd_link_order *, bfd_byte *, > bfd_boolean, asymbol **); > >bfd_boolean bfd_alt_mach_code (bfd *abfd, int alternative); > >struct bfd_preserve >{ > void *marker; > void *tdata; > flagword flags; > const struct bfd_arch_info *arch_info; > struct bfd_section *sections; > struct bfd_section **section_tail; > unsigned int section_count; > struct bfd_hash_table section_htab; >}; > >bfd_boolean bfd_preserve_save (bfd *, struct bfd_preserve *); > >void bfd_preserve_restore (bfd *, struct bfd_preserve *); > >void bfd_preserve_finish (bfd *, struct bfd_preserve *); > > >symindex bfd_get_next_mapent > (bfd *abfd, symindex previous, carsym **sym); > >bfd_boolean bfd_set_archive_head (bfd *output, bfd *new_head); > >bfd *bfd_openr_next_archived_file (bfd *archive, bfd *previous); > > >const char *bfd_core_file_failing_command (bfd *abfd); > >int bfd_core_file_failing_signal (bfd *abfd); > >bfd_boolean core_file_matches_executable_p > (bfd *core_bfd, bfd *exec_bfd); ># 4034 "bfd.h" >enum bfd_flavour >{ > bfd_target_unknown_flavour, > bfd_target_aout_flavour, > bfd_target_coff_flavour, > bfd_target_ecoff_flavour, > bfd_target_xcoff_flavour, > bfd_target_elf_flavour, > bfd_target_ieee_flavour, > bfd_target_nlm_flavour, > bfd_target_oasys_flavour, > bfd_target_tekhex_flavour, > bfd_target_srec_flavour, > bfd_target_ihex_flavour, > bfd_target_som_flavour, > bfd_target_os9k_flavour, > bfd_target_versados_flavour, > bfd_target_msdos_flavour, > bfd_target_ovax_flavour, > bfd_target_evax_flavour, > bfd_target_mmo_flavour, > bfd_target_mach_o_flavour, > bfd_target_pef_flavour, > bfd_target_pef_xlib_flavour, > bfd_target_sym_flavour >}; > >enum bfd_endian { BFD_ENDIAN_BIG, BFD_ENDIAN_LITTLE, BFD_ENDIAN_UNKNOWN }; > > >typedef struct bfd_link_info _bfd_link_info; > >typedef struct bfd_target >{ > > char *name; > > > > enum bfd_flavour flavour; > > > enum bfd_endian byteorder; > > > enum bfd_endian header_byteorder; > > > > flagword object_flags; > > > > flagword section_flags; > > > > char symbol_leading_char; > > > char ar_pad_char; > > > unsigned short ar_max_namelen; > > > > > bfd_vma (*bfd_getx64) (const bfd_byte *); > bfd_signed_vma (*bfd_getx_signed_64) (const bfd_byte *); > void (*bfd_putx64) (bfd_vma, bfd_byte *); > bfd_vma (*bfd_getx32) (const bfd_byte *); > bfd_signed_vma (*bfd_getx_signed_32) (const bfd_byte *); > void (*bfd_putx32) (bfd_vma, bfd_byte *); > bfd_vma (*bfd_getx16) (const bfd_byte *); > bfd_signed_vma (*bfd_getx_signed_16) (const bfd_byte *); > void (*bfd_putx16) (bfd_vma, bfd_byte *); > > > bfd_vma (*bfd_h_getx64) (const bfd_byte *); > bfd_signed_vma (*bfd_h_getx_signed_64) (const bfd_byte *); > void (*bfd_h_putx64) (bfd_vma, bfd_byte *); > bfd_vma (*bfd_h_getx32) (const bfd_byte *); > bfd_signed_vma (*bfd_h_getx_signed_32) (const bfd_byte *); > void (*bfd_h_putx32) (bfd_vma, bfd_byte *); > bfd_vma (*bfd_h_getx16) (const bfd_byte *); > bfd_signed_vma (*bfd_h_getx_signed_16) (const bfd_byte *); > void (*bfd_h_putx16) (bfd_vma, bfd_byte *); > > > > > > const struct bfd_target *(*_bfd_check_format[bfd_type_end]) (bfd *); > > > bfd_boolean (*_bfd_set_format[bfd_type_end]) (bfd *); > > > bfd_boolean (*_bfd_write_contents[bfd_type_end]) (bfd *); ># 4145 "bfd.h" > bfd_boolean (*_close_and_cleanup) (bfd *); > > bfd_boolean (*_bfd_free_cached_info) (bfd *); > > bfd_boolean (*_new_section_hook) (bfd *, sec_ptr); > > bfd_boolean (*_bfd_get_section_contents) > (bfd *, sec_ptr, void *, file_ptr, bfd_size_type); > bfd_boolean (*_bfd_get_section_contents_in_window) > (bfd *, sec_ptr, bfd_window *, file_ptr, bfd_size_type); ># 4167 "bfd.h" > bfd_boolean (*_bfd_copy_private_bfd_data) (bfd *, bfd *); > > > bfd_boolean (*_bfd_merge_private_bfd_data) (bfd *, bfd *); > > > bfd_boolean (*_bfd_copy_private_section_data) > (bfd *, sec_ptr, bfd *, sec_ptr); > > > bfd_boolean (*_bfd_copy_private_symbol_data) > (bfd *, asymbol *, bfd *, asymbol *); > > bfd_boolean (*_bfd_set_private_flags) (bfd *, flagword); > > > bfd_boolean (*_bfd_print_private_bfd_data) (bfd *, void *); > > > > > > > > char * (*_core_file_failing_command) (bfd *); > int (*_core_file_failing_signal) (bfd *); > bfd_boolean (*_core_file_matches_executable_p) (bfd *, bfd *); ># 4208 "bfd.h" > bfd_boolean (*_bfd_slurp_armap) (bfd *); > bfd_boolean (*_bfd_slurp_extended_name_table) (bfd *); > bfd_boolean (*_bfd_construct_extended_name_table) > (bfd *, char **, bfd_size_type *, const char **); > void (*_bfd_truncate_arname) (bfd *, const char *, char *); > bfd_boolean (*write_armap) > (bfd *, unsigned int, struct orl *, unsigned int, int); > void * (*_bfd_read_ar_hdr_fn) (bfd *); > bfd * (*openr_next_archived_file) (bfd *, bfd *); > > bfd * (*_bfd_get_elt_at_index) (bfd *, symindex); > int (*_bfd_stat_arch_elt) (bfd *, struct stat *); > bfd_boolean (*_bfd_update_armap_timestamp) (bfd *); ># 4236 "bfd.h" > long (*_bfd_get_symtab_upper_bound) (bfd *); > long (*_bfd_canonicalize_symtab) > (bfd *, struct symbol_cache_entry **); > struct symbol_cache_entry * > (*_bfd_make_empty_symbol) (bfd *); > void (*_bfd_print_symbol) > (bfd *, void *, struct symbol_cache_entry *, bfd_print_symbol_type); > > void (*_bfd_get_symbol_info) > (bfd *, struct symbol_cache_entry *, symbol_info *); > > bfd_boolean (*_bfd_is_local_label_name) (bfd *, const char *); > > alent * (*_get_lineno) (bfd *, struct symbol_cache_entry *); > bfd_boolean (*_bfd_find_nearest_line) > (bfd *, struct bfd_section *, struct symbol_cache_entry **, bfd_vma, > const char **, const char **, unsigned int *); > > > > asymbol * (*_bfd_make_debug_symbol) > (bfd *, void *, unsigned long size); > > > long (*_read_minisymbols) > (bfd *, bfd_boolean, void **, unsigned int *); > > > asymbol * (*_minisymbol_to_symbol) > (bfd *, bfd_boolean, const void *, asymbol *); > > > > > > > > long (*_get_reloc_upper_bound) (bfd *, sec_ptr); > long (*_bfd_canonicalize_reloc) > (bfd *, sec_ptr, arelent **, struct symbol_cache_entry **); > > reloc_howto_type * > (*reloc_type_lookup) (bfd *, bfd_reloc_code_real_type); > > > > > > > bfd_boolean (*_bfd_set_arch_mach) > (bfd *, enum bfd_architecture, unsigned long); > bfd_boolean (*_bfd_set_section_contents) > (bfd *, sec_ptr, void *, file_ptr, bfd_size_type); ># 4305 "bfd.h" > int (*_bfd_sizeof_headers) (bfd *, bfd_boolean); > bfd_byte * (*_bfd_get_relocated_section_contents) > (bfd *, struct bfd_link_info *, struct bfd_link_order *, > bfd_byte *, bfd_boolean, struct symbol_cache_entry **); > > bfd_boolean (*_bfd_relax_section) > (bfd *, struct bfd_section *, struct bfd_link_info *, bfd_boolean *); > > > > struct bfd_link_hash_table * > (*_bfd_link_hash_table_create) (bfd *); > > > void (*_bfd_link_hash_table_free) (struct bfd_link_hash_table *); > > > bfd_boolean (*_bfd_link_add_symbols) (bfd *, struct bfd_link_info *); > > > void (*_bfd_link_just_syms) (asection *, struct bfd_link_info *); > > > > bfd_boolean (*_bfd_final_link) (bfd *, struct bfd_link_info *); > > > bfd_boolean (*_bfd_link_split_section) (bfd *, struct bfd_section *); > > > bfd_boolean (*_bfd_gc_sections) (bfd *, struct bfd_link_info *); > > > bfd_boolean (*_bfd_merge_sections) (bfd *, struct bfd_link_info *); > > > bfd_boolean (*_bfd_discard_group) (bfd *, struct bfd_section *); ># 4351 "bfd.h" > long (*_bfd_get_dynamic_symtab_upper_bound) (bfd *); > > long (*_bfd_canonicalize_dynamic_symtab) > (bfd *, struct symbol_cache_entry **); > > long (*_bfd_get_dynamic_reloc_upper_bound) (bfd *); > > long (*_bfd_canonicalize_dynamic_reloc) > (bfd *, arelent **, struct symbol_cache_entry **); > > > const struct bfd_target * alternative_target; > > > > const void *backend_data; > >} bfd_target; > >bfd_boolean bfd_set_default_target (const char *name); > >const bfd_target *bfd_find_target (const char *target_name, bfd *abfd); > >const char ** bfd_target_list (void); > >const bfd_target *bfd_search_for_target > (int (*search_func) (const bfd_target *, void *), > void *); > > >bfd_boolean bfd_check_format (bfd *abfd, bfd_format format); > >bfd_boolean bfd_check_format_matches > (bfd *abfd, bfd_format format, char ***matching); > >bfd_boolean bfd_set_format (bfd *abfd, bfd_format format); > >const char *bfd_format_string (bfd_format format); > > >bfd_boolean bfd_link_split_section (bfd *abfd, asection *sec); > > > > > >bfd_byte *bfd_simple_get_relocated_section_contents > (bfd *abfd, asection *sec, bfd_byte *outbuf, asymbol **symbol_table); ># 41 "coffgen.c" 2 ># 1 "sysdep.h" 1 ># 27 "sysdep.h" ># 1 "config.h" 1 ># 28 "sysdep.h" 2 > > ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 ># 151 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 3 4 >typedef int ptrdiff_t; ># 213 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 3 4 >typedef unsigned int size_t; ># 325 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 3 4 >typedef long int wchar_t; ># 31 "sysdep.h" 2 > > ># 1 "/usr/include/stdio.h" 1 3 4 ># 28 "/usr/include/stdio.h" 3 4 ># 1 "/usr/include/features.h" 1 3 4 ># 295 "/usr/include/features.h" 3 4 ># 1 "/usr/include/sys/cdefs.h" 1 3 4 ># 296 "/usr/include/features.h" 2 3 4 ># 318 "/usr/include/features.h" 3 4 ># 1 "/usr/include/gnu/stubs.h" 1 3 4 ># 319 "/usr/include/features.h" 2 3 4 ># 29 "/usr/include/stdio.h" 2 3 4 > > > > > ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 ># 35 "/usr/include/stdio.h" 2 3 4 > ># 1 "/usr/include/bits/types.h" 1 3 4 ># 28 "/usr/include/bits/types.h" 3 4 ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 29 "/usr/include/bits/types.h" 2 3 4 > > ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 ># 32 "/usr/include/bits/types.h" 2 3 4 > > >typedef unsigned char __u_char; >typedef unsigned short int __u_short; >typedef unsigned int __u_int; >typedef unsigned long int __u_long; > > >typedef signed char __int8_t; >typedef unsigned char __uint8_t; >typedef signed short int __int16_t; >typedef unsigned short int __uint16_t; >typedef signed int __int32_t; >typedef unsigned int __uint32_t; > > > > >__extension__ typedef signed long long int __int64_t; >__extension__ typedef unsigned long long int __uint64_t; > > > > > > > >__extension__ typedef long long int __quad_t; >__extension__ typedef unsigned long long int __u_quad_t; ># 129 "/usr/include/bits/types.h" 3 4 ># 1 "/usr/include/bits/typesizes.h" 1 3 4 ># 130 "/usr/include/bits/types.h" 2 3 4 > > > > > > >__extension__ typedef unsigned long long int __dev_t; >__extension__ typedef unsigned int __uid_t; >__extension__ typedef unsigned int __gid_t; >__extension__ typedef unsigned long int __ino_t; >__extension__ typedef unsigned long long int __ino64_t; >__extension__ typedef unsigned int __mode_t; >__extension__ typedef unsigned int __nlink_t; >__extension__ typedef long int __off_t; >__extension__ typedef long long int __off64_t; >__extension__ typedef int __pid_t; >__extension__ typedef struct { int __val[2]; } __fsid_t; >__extension__ typedef long int __clock_t; >__extension__ typedef unsigned long int __rlim_t; >__extension__ typedef unsigned long long int __rlim64_t; >__extension__ typedef unsigned int __id_t; >__extension__ typedef long int __time_t; >__extension__ typedef unsigned int __useconds_t; >__extension__ typedef long int __suseconds_t; > >__extension__ typedef int __daddr_t; >__extension__ typedef long int __swblk_t; >__extension__ typedef int __key_t; > > >__extension__ typedef int __clockid_t; > > >__extension__ typedef void * __timer_t; > > >__extension__ typedef long int __blksize_t; > > > > >__extension__ typedef long int __blkcnt_t; >__extension__ typedef long long int __blkcnt64_t; > > >__extension__ typedef unsigned long int __fsblkcnt_t; >__extension__ typedef unsigned long long int __fsblkcnt64_t; > > >__extension__ typedef unsigned long int __fsfilcnt_t; >__extension__ typedef unsigned long long int __fsfilcnt64_t; > >__extension__ typedef int __ssize_t; > > > >typedef __off64_t __loff_t; >typedef __quad_t *__qaddr_t; >typedef char *__caddr_t; > > >__extension__ typedef int __intptr_t; > > >__extension__ typedef unsigned int __socklen_t; ># 37 "/usr/include/stdio.h" 2 3 4 ># 46 "/usr/include/stdio.h" 3 4 >typedef struct _IO_FILE FILE; ># 62 "/usr/include/stdio.h" 3 4 >typedef struct _IO_FILE __FILE; ># 72 "/usr/include/stdio.h" 3 4 ># 1 "/usr/include/libio.h" 1 3 4 ># 32 "/usr/include/libio.h" 3 4 ># 1 "/usr/include/_G_config.h" 1 3 4 ># 14 "/usr/include/_G_config.h" 3 4 ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 ># 354 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 3 4 >typedef unsigned int wint_t; ># 15 "/usr/include/_G_config.h" 2 3 4 ># 24 "/usr/include/_G_config.h" 3 4 ># 1 "/usr/include/wchar.h" 1 3 4 ># 48 "/usr/include/wchar.h" 3 4 ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 ># 49 "/usr/include/wchar.h" 2 3 4 > ># 1 "/usr/include/bits/wchar.h" 1 3 4 ># 51 "/usr/include/wchar.h" 2 3 4 ># 76 "/usr/include/wchar.h" 3 4 >typedef struct >{ > int __count; > union > { > wint_t __wch; > char __wchb[4]; > } __value; >} __mbstate_t; ># 25 "/usr/include/_G_config.h" 2 3 4 > >typedef struct >{ > __off_t __pos; > __mbstate_t __state; >} _G_fpos_t; >typedef struct >{ > __off64_t __pos; > __mbstate_t __state; >} _G_fpos64_t; ># 44 "/usr/include/_G_config.h" 3 4 ># 1 "/usr/include/gconv.h" 1 3 4 ># 28 "/usr/include/gconv.h" 3 4 ># 1 "/usr/include/wchar.h" 1 3 4 ># 48 "/usr/include/wchar.h" 3 4 ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 ># 49 "/usr/include/wchar.h" 2 3 4 ># 29 "/usr/include/gconv.h" 2 3 4 > > ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 ># 32 "/usr/include/gconv.h" 2 3 4 > > > > > >enum >{ > __GCONV_OK = 0, > __GCONV_NOCONV, > __GCONV_NODB, > __GCONV_NOMEM, > > __GCONV_EMPTY_INPUT, > __GCONV_FULL_OUTPUT, > __GCONV_ILLEGAL_INPUT, > __GCONV_INCOMPLETE_INPUT, > > __GCONV_ILLEGAL_DESCRIPTOR, > __GCONV_INTERNAL_ERROR >}; > > > >enum >{ > __GCONV_IS_LAST = 0x0001, > __GCONV_IGNORE_ERRORS = 0x0002 >}; > > > >struct __gconv_step; >struct __gconv_step_data; >struct __gconv_loaded_object; >struct __gconv_trans_data; > > > >typedef int (*__gconv_fct) (struct __gconv_step *, struct __gconv_step_data *, > __const unsigned char **, __const unsigned char *, > unsigned char **, size_t *, int, int); > > >typedef wint_t (*__gconv_btowc_fct) (struct __gconv_step *, unsigned char); > > >typedef int (*__gconv_init_fct) (struct __gconv_step *); >typedef void (*__gconv_end_fct) (struct __gconv_step *); > > > >typedef int (*__gconv_trans_fct) (struct __gconv_step *, > struct __gconv_step_data *, void *, > __const unsigned char *, > __const unsigned char **, > __const unsigned char *, unsigned char **, > size_t *); > > >typedef int (*__gconv_trans_context_fct) (void *, __const unsigned char *, > __const unsigned char *, > unsigned char *, unsigned char *); > > >typedef int (*__gconv_trans_query_fct) (__const char *, __const char ***, > size_t *); > > >typedef int (*__gconv_trans_init_fct) (void **, const char *); >typedef void (*__gconv_trans_end_fct) (void *); > >struct __gconv_trans_data >{ > > __gconv_trans_fct __trans_fct; > __gconv_trans_context_fct __trans_context_fct; > __gconv_trans_end_fct __trans_end_fct; > void *__data; > struct __gconv_trans_data *__next; >}; > > > >struct __gconv_step >{ > struct __gconv_loaded_object *__shlib_handle; > __const char *__modname; > > int __counter; > > char *__from_name; > char *__to_name; > > __gconv_fct __fct; > __gconv_btowc_fct __btowc_fct; > __gconv_init_fct __init_fct; > __gconv_end_fct __end_fct; > > > > int __min_needed_from; > int __max_needed_from; > int __min_needed_to; > int __max_needed_to; > > > int __stateful; > > void *__data; >}; > > > >struct __gconv_step_data >{ > unsigned char *__outbuf; > unsigned char *__outbufend; > > > > int __flags; > > > > int __invocation_counter; > > > > int __internal_use; > > __mbstate_t *__statep; > __mbstate_t __state; > > > > struct __gconv_trans_data *__trans; >}; > > > >typedef struct __gconv_info >{ > size_t __nsteps; > struct __gconv_step *__steps; > __extension__ struct __gconv_step_data __data []; >} *__gconv_t; ># 45 "/usr/include/_G_config.h" 2 3 4 >typedef union >{ > struct __gconv_info __cd; > struct > { > struct __gconv_info __cd; > struct __gconv_step_data __data; > } __combined; >} _G_iconv_t; > >typedef int _G_int16_t __attribute__ ((__mode__ (__HI__))); >typedef int _G_int32_t __attribute__ ((__mode__ (__SI__))); >typedef unsigned int _G_uint16_t __attribute__ ((__mode__ (__HI__))); >typedef unsigned int _G_uint32_t __attribute__ ((__mode__ (__SI__))); ># 33 "/usr/include/libio.h" 2 3 4 ># 53 "/usr/include/libio.h" 3 4 ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stdarg.h" 1 3 4 ># 43 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stdarg.h" 3 4 >typedef __builtin_va_list __gnuc_va_list; ># 54 "/usr/include/libio.h" 2 3 4 ># 163 "/usr/include/libio.h" 3 4 >struct _IO_jump_t; struct _IO_FILE; ># 173 "/usr/include/libio.h" 3 4 >typedef void _IO_lock_t; > > > > > >struct _IO_marker { > struct _IO_marker *_next; > struct _IO_FILE *_sbuf; > > > > int _pos; ># 196 "/usr/include/libio.h" 3 4 >}; > > >enum __codecvt_result >{ > __codecvt_ok, > __codecvt_partial, > __codecvt_error, > __codecvt_noconv >}; ># 264 "/usr/include/libio.h" 3 4 >struct _IO_FILE { > int _flags; > > > > > char* _IO_read_ptr; > char* _IO_read_end; > char* _IO_read_base; > char* _IO_write_base; > char* _IO_write_ptr; > char* _IO_write_end; > char* _IO_buf_base; > char* _IO_buf_end; > > char *_IO_save_base; > char *_IO_backup_base; > char *_IO_save_end; > > struct _IO_marker *_markers; > > struct _IO_FILE *_chain; > > int _fileno; > > > > int _flags2; > > __off_t _old_offset; > > > > unsigned short _cur_column; > signed char _vtable_offset; > char _shortbuf[1]; > > > > _IO_lock_t *_lock; ># 312 "/usr/include/libio.h" 3 4 > __off64_t _offset; > > > > > > void *__pad1; > void *__pad2; > > int _mode; > > char _unused2[15 * sizeof (int) - 2 * sizeof (void *)]; > >}; > > >typedef struct _IO_FILE _IO_FILE; > > >struct _IO_FILE_plus; > >extern struct _IO_FILE_plus _IO_2_1_stdin_; >extern struct _IO_FILE_plus _IO_2_1_stdout_; >extern struct _IO_FILE_plus _IO_2_1_stderr_; ># 351 "/usr/include/libio.h" 3 4 >typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); > > > > > > > >typedef __ssize_t __io_write_fn (void *__cookie, __const char *__buf, > size_t __n); > > > > > > > >typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); > > >typedef int __io_close_fn (void *__cookie); > > > > >typedef __io_read_fn cookie_read_function_t; >typedef __io_write_fn cookie_write_function_t; >typedef __io_seek_fn cookie_seek_function_t; >typedef __io_close_fn cookie_close_function_t; > > >typedef struct >{ > __io_read_fn *read; > __io_write_fn *write; > __io_seek_fn *seek; > __io_close_fn *close; >} _IO_cookie_io_functions_t; >typedef _IO_cookie_io_functions_t cookie_io_functions_t; > >struct _IO_cookie_file; > > >extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write, > void *__cookie, _IO_cookie_io_functions_t __fns); > > > > > > > >extern int __underflow (_IO_FILE *) ; >extern int __uflow (_IO_FILE *) ; >extern int __overflow (_IO_FILE *, int) ; >extern wint_t __wunderflow (_IO_FILE *) ; >extern wint_t __wuflow (_IO_FILE *) ; >extern wint_t __woverflow (_IO_FILE *, wint_t) ; ># 441 "/usr/include/libio.h" 3 4 >extern int _IO_getc (_IO_FILE *__fp) ; >extern int _IO_putc (int __c, _IO_FILE *__fp) ; >extern int _IO_feof (_IO_FILE *__fp) ; >extern int _IO_ferror (_IO_FILE *__fp) ; > >extern int _IO_peekc_locked (_IO_FILE *__fp) ; > > > > > >extern void _IO_flockfile (_IO_FILE *) ; >extern void _IO_funlockfile (_IO_FILE *) ; >extern int _IO_ftrylockfile (_IO_FILE *) ; ># 471 "/usr/include/libio.h" 3 4 >extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, > __gnuc_va_list, int *__restrict) ; >extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, > __gnuc_va_list) ; >extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t) ; >extern size_t _IO_sgetn (_IO_FILE *, void *, size_t) ; > >extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int) ; >extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int) ; > >extern void _IO_free_backup_area (_IO_FILE *) ; ># 73 "/usr/include/stdio.h" 2 3 4 > > > > >typedef __gnuc_va_list va_list; ># 86 "/usr/include/stdio.h" 3 4 > > >typedef _G_fpos_t fpos_t; > > > > > >typedef _G_fpos64_t fpos64_t; ># 138 "/usr/include/stdio.h" 3 4 ># 1 "/usr/include/bits/stdio_lim.h" 1 3 4 ># 139 "/usr/include/stdio.h" 2 3 4 > > > >extern struct _IO_FILE *stdin; >extern struct _IO_FILE *stdout; >extern struct _IO_FILE *stderr; > > > > > > > >extern int remove (__const char *__filename) ; > >extern int rename (__const char *__old, __const char *__new) ; ># 164 "/usr/include/stdio.h" 3 4 >extern FILE *tmpfile (void); ># 174 "/usr/include/stdio.h" 3 4 >extern FILE *tmpfile64 (void); > > > >extern char *tmpnam (char *__s) ; > > > > > >extern char *tmpnam_r (char *__s) ; ># 196 "/usr/include/stdio.h" 3 4 >extern char *tempnam (__const char *__dir, __const char *__pfx) > __attribute__ ((__malloc__)); ># 206 "/usr/include/stdio.h" 3 4 >extern int fclose (FILE *__stream); > > > > >extern int fflush (FILE *__stream); ># 221 "/usr/include/stdio.h" 3 4 >extern int fflush_unlocked (FILE *__stream); ># 231 "/usr/include/stdio.h" 3 4 >extern int fcloseall (void); ># 241 "/usr/include/stdio.h" 3 4 >extern FILE *fopen (__const char *__restrict __filename, > __const char *__restrict __modes); > > > > >extern FILE *freopen (__const char *__restrict __filename, > __const char *__restrict __modes, > FILE *__restrict __stream); ># 262 "/usr/include/stdio.h" 3 4 > > >extern FILE *fopen64 (__const char *__restrict __filename, > __const char *__restrict __modes); >extern FILE *freopen64 (__const char *__restrict __filename, > __const char *__restrict __modes, > FILE *__restrict __stream); > > > > >extern FILE *fdopen (int __fd, __const char *__modes) ; > > > > > >extern FILE *fopencookie (void *__restrict __magic_cookie, > __const char *__restrict __modes, > _IO_cookie_io_functions_t __io_funcs) ; > > >extern FILE *fmemopen (void *__s, size_t __len, __const char *__modes) ; > > > > >extern FILE *open_memstream (char **__restrict __bufloc, > size_t *__restrict __sizeloc) ; > > > > > > >extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) ; > > > >extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, > int __modes, size_t __n) ; > > > > > >extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, > size_t __size) ; > > >extern void setlinebuf (FILE *__stream) ; ># 321 "/usr/include/stdio.h" 3 4 >extern int fprintf (FILE *__restrict __stream, > __const char *__restrict __format, ...); > > > > >extern int printf (__const char *__restrict __format, ...); > >extern int sprintf (char *__restrict __s, > __const char *__restrict __format, ...) ; > > > > > >extern int vfprintf (FILE *__restrict __s, __const char *__restrict __format, > __gnuc_va_list __arg); > > > > >extern int vprintf (__const char *__restrict __format, __gnuc_va_list __arg); > >extern int vsprintf (char *__restrict __s, __const char *__restrict __format, > __gnuc_va_list __arg) ; > > > > > >extern int snprintf (char *__restrict __s, size_t __maxlen, > __const char *__restrict __format, ...) > __attribute__ ((__format__ (__printf__, 3, 4))); > >extern int vsnprintf (char *__restrict __s, size_t __maxlen, > __const char *__restrict __format, __gnuc_va_list __arg) > __attribute__ ((__format__ (__printf__, 3, 0))); > > > > > > >extern int vasprintf (char **__restrict __ptr, __const char *__restrict __f, > __gnuc_va_list __arg) > __attribute__ ((__format__ (__printf__, 2, 0))); >extern int __asprintf (char **__restrict __ptr, > __const char *__restrict __fmt, ...) > __attribute__ ((__format__ (__printf__, 2, 3))); >extern int asprintf (char **__restrict __ptr, > __const char *__restrict __fmt, ...) > __attribute__ ((__format__ (__printf__, 2, 3))); > > > > > > > >extern int vdprintf (int __fd, __const char *__restrict __fmt, > __gnuc_va_list __arg) > __attribute__ ((__format__ (__printf__, 2, 0))); >extern int dprintf (int __fd, __const char *__restrict __fmt, ...) > __attribute__ ((__format__ (__printf__, 2, 3))); ># 393 "/usr/include/stdio.h" 3 4 >extern int fscanf (FILE *__restrict __stream, > __const char *__restrict __format, ...); > > > > >extern int scanf (__const char *__restrict __format, ...); > >extern int sscanf (__const char *__restrict __s, > __const char *__restrict __format, ...) ; ># 411 "/usr/include/stdio.h" 3 4 >extern int vfscanf (FILE *__restrict __s, __const char *__restrict __format, > __gnuc_va_list __arg) > __attribute__ ((__format__ (__scanf__, 2, 0))); > > > > > >extern int vscanf (__const char *__restrict __format, __gnuc_va_list __arg) > __attribute__ ((__format__ (__scanf__, 1, 0))); > > >extern int vsscanf (__const char *__restrict __s, > __const char *__restrict __format, __gnuc_va_list __arg) > __attribute__ ((__format__ (__scanf__, 2, 0))); ># 435 "/usr/include/stdio.h" 3 4 >extern int fgetc (FILE *__stream); >extern int getc (FILE *__stream); > > > > > >extern int getchar (void); ># 454 "/usr/include/stdio.h" 3 4 >extern int getc_unlocked (FILE *__stream); >extern int getchar_unlocked (void); ># 465 "/usr/include/stdio.h" 3 4 >extern int fgetc_unlocked (FILE *__stream); ># 477 "/usr/include/stdio.h" 3 4 >extern int fputc (int __c, FILE *__stream); >extern int putc (int __c, FILE *__stream); > > > > > >extern int putchar (int __c); ># 498 "/usr/include/stdio.h" 3 4 >extern int fputc_unlocked (int __c, FILE *__stream); > > > > > > > >extern int putc_unlocked (int __c, FILE *__stream); >extern int putchar_unlocked (int __c); > > > > > > >extern int getw (FILE *__stream); > > >extern int putw (int __w, FILE *__stream); ># 526 "/usr/include/stdio.h" 3 4 >extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream); > > > > > > >extern char *gets (char *__s); ># 543 "/usr/include/stdio.h" 3 4 >extern char *fgets_unlocked (char *__restrict __s, int __n, > FILE *__restrict __stream); ># 559 "/usr/include/stdio.h" 3 4 >extern __ssize_t __getdelim (char **__restrict __lineptr, > size_t *__restrict __n, int __delimiter, > FILE *__restrict __stream); >extern __ssize_t getdelim (char **__restrict __lineptr, > size_t *__restrict __n, int __delimiter, > FILE *__restrict __stream); > > > > > > > >extern __ssize_t getline (char **__restrict __lineptr, > size_t *__restrict __n, > FILE *__restrict __stream); ># 583 "/usr/include/stdio.h" 3 4 >extern int fputs (__const char *__restrict __s, FILE *__restrict __stream); > > > > > >extern int puts (__const char *__s); > > > > > > >extern int ungetc (int __c, FILE *__stream); > > > > > > >extern size_t fread (void *__restrict __ptr, size_t __size, > size_t __n, FILE *__restrict __stream); > > > > >extern size_t fwrite (__const void *__restrict __ptr, size_t __size, > size_t __n, FILE *__restrict __s); ># 620 "/usr/include/stdio.h" 3 4 >extern int fputs_unlocked (__const char *__restrict __s, > FILE *__restrict __stream); ># 631 "/usr/include/stdio.h" 3 4 >extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, > size_t __n, FILE *__restrict __stream); >extern size_t fwrite_unlocked (__const void *__restrict __ptr, size_t __size, > size_t __n, FILE *__restrict __stream); ># 643 "/usr/include/stdio.h" 3 4 >extern int fseek (FILE *__stream, long int __off, int __whence); > > > > >extern long int ftell (FILE *__stream); > > > > >extern void rewind (FILE *__stream); ># 667 "/usr/include/stdio.h" 3 4 >extern int fseeko (FILE *__stream, __off_t __off, int __whence); > > > > >extern __off_t ftello (FILE *__stream); ># 686 "/usr/include/stdio.h" 3 4 > > > > > > >extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); > > > > >extern int fsetpos (FILE *__stream, __const fpos_t *__pos); ># 709 "/usr/include/stdio.h" 3 4 > > > >extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); >extern __off64_t ftello64 (FILE *__stream); >extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); >extern int fsetpos64 (FILE *__stream, __const fpos64_t *__pos); > > > > >extern void clearerr (FILE *__stream) ; > >extern int feof (FILE *__stream) ; > >extern int ferror (FILE *__stream) ; > > > > >extern void clearerr_unlocked (FILE *__stream) ; >extern int feof_unlocked (FILE *__stream) ; >extern int ferror_unlocked (FILE *__stream) ; ># 740 "/usr/include/stdio.h" 3 4 >extern void perror (__const char *__s); > > > > > > ># 1 "/usr/include/bits/sys_errlist.h" 1 3 4 ># 27 "/usr/include/bits/sys_errlist.h" 3 4 >extern int sys_nerr; >extern __const char *__const sys_errlist[]; > > >extern int _sys_nerr; >extern __const char *__const _sys_errlist[]; ># 748 "/usr/include/stdio.h" 2 3 4 > > > > >extern int fileno (FILE *__stream) ; > > > > >extern int fileno_unlocked (FILE *__stream) ; ># 767 "/usr/include/stdio.h" 3 4 >extern FILE *popen (__const char *__command, __const char *__modes); > > > > > >extern int pclose (FILE *__stream); > > > > > >extern char *ctermid (char *__s) ; > > > > > >extern char *cuserid (char *__s); > > > > >struct obstack; > > >extern int obstack_printf (struct obstack *__restrict __obstack, > __const char *__restrict __format, ...) > __attribute__ ((__format__ (__printf__, 2, 3))); >extern int obstack_vprintf (struct obstack *__restrict __obstack, > __const char *__restrict __format, > __gnuc_va_list __args) > __attribute__ ((__format__ (__printf__, 2, 0))); > > > > > > > >extern void flockfile (FILE *__stream) ; > > > >extern int ftrylockfile (FILE *__stream) ; > > >extern void funlockfile (FILE *__stream) ; ># 828 "/usr/include/stdio.h" 3 4 ># 1 "/usr/include/bits/stdio.h" 1 3 4 ># 33 "/usr/include/bits/stdio.h" 3 4 >extern __inline int >vprintf (__const char *__restrict __fmt, __gnuc_va_list __arg) >{ > return vfprintf (stdout, __fmt, __arg); >} > > >extern __inline int >getchar (void) >{ > return _IO_getc (stdin); >} > > > > >extern __inline int >getc_unlocked (FILE *__fp) >{ > return (__builtin_expect ((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end, 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); >} > > >extern __inline int >getchar_unlocked (void) >{ > return (__builtin_expect ((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end, 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); >} > > > > >extern __inline int >putchar (int __c) >{ > return _IO_putc (__c, stdout); >} > > > > >extern __inline int >fputc_unlocked (int __c, FILE *__stream) >{ > return (__builtin_expect ((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end, 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); >} > > > > > >extern __inline int >putc_unlocked (int __c, FILE *__stream) >{ > return (__builtin_expect ((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end, 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); >} > > >extern __inline int >putchar_unlocked (int __c) >{ > return (__builtin_expect ((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end, 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); >} > > > > > >extern __inline __ssize_t >getline (char **__lineptr, size_t *__n, FILE *__stream) >{ > return __getdelim (__lineptr, __n, '\n', __stream); >} > > > > > >extern __inline int >feof_unlocked (FILE *__stream) >{ > return (((__stream)->_flags & 0x10) != 0); >} > > >extern __inline int >ferror_unlocked (FILE *__stream) >{ > return (((__stream)->_flags & 0x20) != 0); >} ># 829 "/usr/include/stdio.h" 2 3 4 ># 34 "sysdep.h" 2 ># 1 "/usr/include/sys/types.h" 1 3 4 ># 29 "/usr/include/sys/types.h" 3 4 > > > > > > >typedef __u_char u_char; >typedef __u_short u_short; >typedef __u_int u_int; >typedef __u_long u_long; >typedef __quad_t quad_t; >typedef __u_quad_t u_quad_t; >typedef __fsid_t fsid_t; > > > > >typedef __loff_t loff_t; > > > >typedef __ino_t ino_t; > > > > > > >typedef __ino64_t ino64_t; > > > > >typedef __dev_t dev_t; > > > > >typedef __gid_t gid_t; > > > > >typedef __mode_t mode_t; > > > > >typedef __nlink_t nlink_t; > > > > >typedef __uid_t uid_t; > > > > > >typedef __off_t off_t; > > > > > > >typedef __off64_t off64_t; > > > > >typedef __pid_t pid_t; > > > > >typedef __id_t id_t; > > > > >typedef __ssize_t ssize_t; > > > > > >typedef __daddr_t daddr_t; >typedef __caddr_t caddr_t; > > > > > >typedef __key_t key_t; ># 133 "/usr/include/sys/types.h" 3 4 ># 1 "/usr/include/time.h" 1 3 4 ># 58 "/usr/include/time.h" 3 4 > > >typedef __clock_t clock_t; ># 74 "/usr/include/time.h" 3 4 > > >typedef __time_t time_t; ># 92 "/usr/include/time.h" 3 4 >typedef __clockid_t clockid_t; ># 104 "/usr/include/time.h" 3 4 >typedef __timer_t timer_t; ># 134 "/usr/include/sys/types.h" 2 3 4 > > > >typedef __useconds_t useconds_t; > > > >typedef __suseconds_t suseconds_t; > > > > > ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 ># 148 "/usr/include/sys/types.h" 2 3 4 > > > >typedef unsigned long int ulong; >typedef unsigned short int ushort; >typedef unsigned int uint; ># 191 "/usr/include/sys/types.h" 3 4 >typedef int int8_t __attribute__ ((__mode__ (__QI__))); >typedef int int16_t __attribute__ ((__mode__ (__HI__))); >typedef int int32_t __attribute__ ((__mode__ (__SI__))); >typedef int int64_t __attribute__ ((__mode__ (__DI__))); > > >typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); >typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); >typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); >typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); > >typedef int register_t __attribute__ ((__mode__ (__word__))); ># 213 "/usr/include/sys/types.h" 3 4 ># 1 "/usr/include/endian.h" 1 3 4 ># 37 "/usr/include/endian.h" 3 4 ># 1 "/usr/include/bits/endian.h" 1 3 4 ># 38 "/usr/include/endian.h" 2 3 4 ># 214 "/usr/include/sys/types.h" 2 3 4 > > ># 1 "/usr/include/sys/select.h" 1 3 4 ># 31 "/usr/include/sys/select.h" 3 4 ># 1 "/usr/include/bits/select.h" 1 3 4 ># 32 "/usr/include/sys/select.h" 2 3 4 > > ># 1 "/usr/include/bits/sigset.h" 1 3 4 ># 23 "/usr/include/bits/sigset.h" 3 4 >typedef int __sig_atomic_t; > > > > >typedef struct > { > unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; > } __sigset_t; ># 35 "/usr/include/sys/select.h" 2 3 4 > > > >typedef __sigset_t sigset_t; > > > > > ># 1 "/usr/include/time.h" 1 3 4 ># 118 "/usr/include/time.h" 3 4 >struct timespec > { > __time_t tv_sec; > long int tv_nsec; > }; ># 45 "/usr/include/sys/select.h" 2 3 4 > ># 1 "/usr/include/bits/time.h" 1 3 4 ># 69 "/usr/include/bits/time.h" 3 4 >struct timeval > { > __time_t tv_sec; > __suseconds_t tv_usec; > }; ># 47 "/usr/include/sys/select.h" 2 3 4 ># 55 "/usr/include/sys/select.h" 3 4 >typedef long int __fd_mask; ># 67 "/usr/include/sys/select.h" 3 4 >typedef struct > { > > > > __fd_mask fds_bits[1024 / (8 * sizeof (__fd_mask))]; > > > > > > } fd_set; > > > > > > >typedef __fd_mask fd_mask; ># 99 "/usr/include/sys/select.h" 3 4 ># 109 "/usr/include/sys/select.h" 3 4 >extern int select (int __nfds, fd_set *__restrict __readfds, > fd_set *__restrict __writefds, > fd_set *__restrict __exceptfds, > struct timeval *__restrict __timeout); ># 121 "/usr/include/sys/select.h" 3 4 >extern int pselect (int __nfds, fd_set *__restrict __readfds, > fd_set *__restrict __writefds, > fd_set *__restrict __exceptfds, > const struct timespec *__restrict __timeout, > const __sigset_t *__restrict __sigmask); ># 217 "/usr/include/sys/types.h" 2 3 4 > > ># 1 "/usr/include/sys/sysmacros.h" 1 3 4 ># 29 "/usr/include/sys/sysmacros.h" 3 4 >__extension__ >extern __inline unsigned int gnu_dev_major (unsigned long long int __dev) > ; >__extension__ >extern __inline unsigned int gnu_dev_minor (unsigned long long int __dev) > ; >__extension__ >extern __inline unsigned long long int gnu_dev_makedev (unsigned int __major, > unsigned int __minor) > ; > > >__extension__ extern __inline unsigned int >gnu_dev_major (unsigned long long int __dev) >{ > return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); >} > >__extension__ extern __inline unsigned int >gnu_dev_minor (unsigned long long int __dev) >{ > return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); >} > >__extension__ extern __inline unsigned long long int >gnu_dev_makedev (unsigned int __major, unsigned int __minor) >{ > return ((__minor & 0xff) | ((__major & 0xfff) << 8) > | (((unsigned long long int) (__minor & ~0xff)) << 12) > | (((unsigned long long int) (__major & ~0xfff)) << 32)); >} ># 220 "/usr/include/sys/types.h" 2 3 4 > > > > >typedef __blksize_t blksize_t; > > > > > > >typedef __blkcnt_t blkcnt_t; > > > >typedef __fsblkcnt_t fsblkcnt_t; > > > >typedef __fsfilcnt_t fsfilcnt_t; ># 258 "/usr/include/sys/types.h" 3 4 >typedef __blkcnt64_t blkcnt64_t; >typedef __fsblkcnt64_t fsblkcnt64_t; >typedef __fsfilcnt64_t fsfilcnt64_t; > > > > > ># 1 "/usr/include/bits/pthreadtypes.h" 1 3 4 ># 36 "/usr/include/bits/pthreadtypes.h" 3 4 >typedef unsigned long int pthread_t; > > >typedef union >{ > char __size[36]; > long int __align; >} pthread_attr_t; > > > > >typedef union >{ > struct > { > int __lock; > unsigned int __count; > int __owner; > > > int __kind; > unsigned int __nusers; > } __data; > char __size[24]; > long int __align; >} pthread_mutex_t; > >typedef union >{ > char __size[4]; > long int __align; >} pthread_mutexattr_t; > > > > >typedef union >{ > struct > { > int __lock; > int __clock; > unsigned long long int __total_seq; > unsigned long long int __wakeup_seq; > unsigned long long int __woken_seq; > void *__mutex; > } __data; > char __size[48]; > long long int __align; >} pthread_cond_t; > >typedef union >{ > char __size[4]; > long int __align; >} pthread_condattr_t; > > > >typedef unsigned int pthread_key_t; > > > >typedef int pthread_once_t; > > > > > >typedef union >{ > struct > { > int __lock; > unsigned int __nr_readers; > unsigned int __readers_wakeup; > unsigned int __writer_wakeup; > unsigned int __nr_readers_queued; > unsigned int __nr_writers_queued; > > > unsigned int __flags; > int __writer; > } __data; > char __size[32]; > long int __align; >} pthread_rwlock_t; > >typedef union >{ > char __size[8]; > long int __align; >} pthread_rwlockattr_t; > > > > > >typedef volatile int pthread_spinlock_t; > > > > >typedef union >{ > char __size[20]; > long int __align; >} pthread_barrier_t; > >typedef union >{ > char __size[4]; > int __align; >} pthread_barrierattr_t; ># 267 "/usr/include/sys/types.h" 2 3 4 ># 35 "sysdep.h" 2 ># 1 "/usr/include/sys/stat.h" 1 3 4 ># 37 "/usr/include/sys/stat.h" 3 4 ># 1 "/usr/include/time.h" 1 3 4 ># 38 "/usr/include/sys/stat.h" 2 3 4 ># 103 "/usr/include/sys/stat.h" 3 4 > > ># 1 "/usr/include/bits/stat.h" 1 3 4 ># 36 "/usr/include/bits/stat.h" 3 4 >struct stat > { > __dev_t st_dev; > unsigned short int __pad1; > > __ino_t st_ino; > > > > __mode_t st_mode; > __nlink_t st_nlink; > __uid_t st_uid; > __gid_t st_gid; > __dev_t st_rdev; > unsigned short int __pad2; > > __off_t st_size; > > > > __blksize_t st_blksize; > > > __blkcnt_t st_blocks; ># 70 "/usr/include/bits/stat.h" 3 4 > struct timespec st_atim; > struct timespec st_mtim; > struct timespec st_ctim; ># 85 "/usr/include/bits/stat.h" 3 4 > unsigned long int __unused4; > unsigned long int __unused5; > > > > }; > > >struct stat64 > { > __dev_t st_dev; > unsigned int __pad1; > > __ino_t __st_ino; > __mode_t st_mode; > __nlink_t st_nlink; > __uid_t st_uid; > __gid_t st_gid; > __dev_t st_rdev; > unsigned int __pad2; > __off64_t st_size; > __blksize_t st_blksize; > > __blkcnt64_t st_blocks; > > > > > > > > struct timespec st_atim; > struct timespec st_mtim; > struct timespec st_ctim; ># 127 "/usr/include/bits/stat.h" 3 4 > __ino64_t st_ino; > }; ># 106 "/usr/include/sys/stat.h" 2 3 4 ># 207 "/usr/include/sys/stat.h" 3 4 >extern int stat (__const char *__restrict __file, > struct stat *__restrict __buf) ; > > > >extern int fstat (int __fd, struct stat *__buf) ; ># 226 "/usr/include/sys/stat.h" 3 4 >extern int stat64 (__const char *__restrict __file, > struct stat64 *__restrict __buf) ; >extern int fstat64 (int __fd, struct stat64 *__buf) ; > > > > > > >extern int lstat (__const char *__restrict __file, > struct stat *__restrict __buf) ; ># 248 "/usr/include/sys/stat.h" 3 4 >extern int lstat64 (__const char *__restrict __file, > struct stat64 *__restrict __buf) ; > > > > > >extern int chmod (__const char *__file, __mode_t __mode) ; > > > > > >extern int lchmod (__const char *__file, __mode_t __mode) ; > > > > >extern int fchmod (int __fd, __mode_t __mode) ; > > > > > >extern __mode_t umask (__mode_t __mask) ; > > > > >extern __mode_t getumask (void) ; > > > >extern int mkdir (__const char *__path, __mode_t __mode) ; > > > > > >extern int mknod (__const char *__path, __mode_t __mode, __dev_t __dev) > ; > > > > >extern int mkfifo (__const char *__path, __mode_t __mode) ; ># 319 "/usr/include/sys/stat.h" 3 4 >extern int __fxstat (int __ver, int __fildes, struct stat *__stat_buf) ; >extern int __xstat (int __ver, __const char *__filename, > struct stat *__stat_buf) ; >extern int __lxstat (int __ver, __const char *__filename, > struct stat *__stat_buf) ; ># 343 "/usr/include/sys/stat.h" 3 4 >extern int __fxstat64 (int __ver, int __fildes, struct stat64 *__stat_buf) > ; >extern int __xstat64 (int __ver, __const char *__filename, > struct stat64 *__stat_buf) ; >extern int __lxstat64 (int __ver, __const char *__filename, > struct stat64 *__stat_buf) ; > >extern int __xmknod (int __ver, __const char *__path, __mode_t __mode, > __dev_t *__dev) ; > > > > >extern __inline__ int stat (__const char *__path, > struct stat *__statbuf) >{ > return __xstat (3, __path, __statbuf); >} > > >extern __inline__ int lstat (__const char *__path, > struct stat *__statbuf) >{ > return __lxstat (3, __path, __statbuf); >} > > >extern __inline__ int fstat (int __fd, struct stat *__statbuf) >{ > return __fxstat (3, __fd, __statbuf); >} > > >extern __inline__ int mknod (__const char *__path, __mode_t __mode, > __dev_t __dev) >{ > return __xmknod (1, __path, __mode, &__dev); >} > > > > > >extern __inline__ int stat64 (__const char *__path, > struct stat64 *__statbuf) >{ > return __xstat64 (3, __path, __statbuf); >} > > >extern __inline__ int lstat64 (__const char *__path, > struct stat64 *__statbuf) >{ > return __lxstat64 (3, __path, __statbuf); >} > > >extern __inline__ int fstat64 (int __fd, struct stat64 *__statbuf) >{ > return __fxstat64 (3, __fd, __statbuf); >} ># 36 "sysdep.h" 2 > ># 1 "/usr/include/errno.h" 1 3 4 ># 32 "/usr/include/errno.h" 3 4 > > > > ># 1 "/usr/include/bits/errno.h" 1 3 4 ># 25 "/usr/include/bits/errno.h" 3 4 ># 1 "/usr/include/linux/errno.h" 1 3 4 > > > ># 1 "/usr/include/asm/errno.h" 1 3 4 ># 5 "/usr/include/linux/errno.h" 2 3 4 ># 26 "/usr/include/bits/errno.h" 2 3 4 ># 38 "/usr/include/bits/errno.h" 3 4 >extern int *__errno_location (void) __attribute__ ((__const__)); ># 37 "/usr/include/errno.h" 2 3 4 ># 55 "/usr/include/errno.h" 3 4 >extern char *program_invocation_name, *program_invocation_short_name; ># 69 "/usr/include/errno.h" 3 4 >typedef int error_t; ># 38 "sysdep.h" 2 > > > > > ># 1 "/usr/include/string.h" 1 3 4 ># 28 "/usr/include/string.h" 3 4 > > > > > ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 ># 34 "/usr/include/string.h" 2 3 4 > > > > >extern void *memcpy (void *__restrict __dest, > __const void *__restrict __src, size_t __n) ; > > >extern void *memmove (void *__dest, __const void *__src, size_t __n) > ; > > > > > > >extern void *memccpy (void *__restrict __dest, __const void *__restrict __src, > int __c, size_t __n) > ; > > > > > >extern void *memset (void *__s, int __c, size_t __n) ; > > >extern int memcmp (__const void *__s1, __const void *__s2, size_t __n) > __attribute__ ((__pure__)); > > >extern void *memchr (__const void *__s, int __c, size_t __n) > __attribute__ ((__pure__)); > > > > > >extern void *rawmemchr (__const void *__s, int __c) __attribute__ ((__pure__)); > > >extern void *memrchr (__const void *__s, int __c, size_t __n) > __attribute__ ((__pure__)); > > > > > >extern char *strcpy (char *__restrict __dest, __const char *__restrict __src) > ; > >extern char *strncpy (char *__restrict __dest, > __const char *__restrict __src, size_t __n) ; > > >extern char *strcat (char *__restrict __dest, __const char *__restrict __src) > ; > >extern char *strncat (char *__restrict __dest, __const char *__restrict __src, > size_t __n) ; > > >extern int strcmp (__const char *__s1, __const char *__s2) > __attribute__ ((__pure__)); > >extern int strncmp (__const char *__s1, __const char *__s2, size_t __n) > __attribute__ ((__pure__)); > > >extern int strcoll (__const char *__s1, __const char *__s2) > __attribute__ ((__pure__)); > >extern size_t strxfrm (char *__restrict __dest, > __const char *__restrict __src, size_t __n) ; > > > > > > ># 1 "/usr/include/xlocale.h" 1 3 4 ># 28 "/usr/include/xlocale.h" 3 4 >typedef struct __locale_struct >{ > > struct locale_data *__locales[13]; > > > const unsigned short int *__ctype_b; > const int *__ctype_tolower; > const int *__ctype_toupper; > > > const char *__names[13]; >} *__locale_t; ># 115 "/usr/include/string.h" 2 3 4 > > >extern int strcoll_l (__const char *__s1, __const char *__s2, __locale_t __l) > __attribute__ ((__pure__)); > >extern size_t strxfrm_l (char *__dest, __const char *__src, size_t __n, > __locale_t __l) ; > > > > >extern char *strdup (__const char *__s) __attribute__ ((__malloc__)); > > > > > > >extern char *strndup (__const char *__string, size_t __n) > __attribute__ ((__malloc__)); ># 160 "/usr/include/string.h" 3 4 > > >extern char *strchr (__const char *__s, int __c) __attribute__ ((__pure__)); > >extern char *strrchr (__const char *__s, int __c) __attribute__ ((__pure__)); > > > > > >extern char *strchrnul (__const char *__s, int __c) __attribute__ ((__pure__)); > > > > > >extern size_t strcspn (__const char *__s, __const char *__reject) > __attribute__ ((__pure__)); > > >extern size_t strspn (__const char *__s, __const char *__accept) > __attribute__ ((__pure__)); > >extern char *strpbrk (__const char *__s, __const char *__accept) > __attribute__ ((__pure__)); > >extern char *strstr (__const char *__haystack, __const char *__needle) > __attribute__ ((__pure__)); > > > >extern char *strtok (char *__restrict __s, __const char *__restrict __delim) > ; > > > > >extern char *__strtok_r (char *__restrict __s, > __const char *__restrict __delim, > char **__restrict __save_ptr) ; > >extern char *strtok_r (char *__restrict __s, __const char *__restrict __delim, > char **__restrict __save_ptr) ; > > > > >extern char *strcasestr (__const char *__haystack, __const char *__needle) > __attribute__ ((__pure__)); > > > > > > >extern void *memmem (__const void *__haystack, size_t __haystacklen, > __const void *__needle, size_t __needlelen) > __attribute__ ((__pure__)); > > > >extern void *__mempcpy (void *__restrict __dest, > __const void *__restrict __src, size_t __n) ; >extern void *mempcpy (void *__restrict __dest, > __const void *__restrict __src, size_t __n) ; > > > > > >extern size_t strlen (__const char *__s) __attribute__ ((__pure__)); > > > > > >extern size_t strnlen (__const char *__string, size_t __maxlen) > __attribute__ ((__pure__)); > > > > > >extern char *strerror (int __errnum) ; > > > > >extern char *strerror_r (int __errnum, char *__buf, size_t __buflen) ; > > > > >extern void __bzero (void *__s, size_t __n) ; > > > >extern void bcopy (__const void *__src, void *__dest, size_t __n) ; > > >extern void bzero (void *__s, size_t __n) ; > > >extern int bcmp (__const void *__s1, __const void *__s2, size_t __n) > __attribute__ ((__pure__)); > > >extern char *index (__const char *__s, int __c) __attribute__ ((__pure__)); > > >extern char *rindex (__const char *__s, int __c) __attribute__ ((__pure__)); > > > >extern int ffs (int __i) __attribute__ ((__const__)); > > > > >extern int ffsl (long int __l) __attribute__ ((__const__)); > >__extension__ extern int ffsll (long long int __ll) > __attribute__ ((__const__)); > > > > >extern int strcasecmp (__const char *__s1, __const char *__s2) > __attribute__ ((__pure__)); > > >extern int strncasecmp (__const char *__s1, __const char *__s2, size_t __n) > __attribute__ ((__pure__)); > > > > > >extern int strcasecmp_l (__const char *__s1, __const char *__s2, > __locale_t __loc) __attribute__ ((__pure__)); > >extern int strncasecmp_l (__const char *__s1, __const char *__s2, > size_t __n, __locale_t __loc) > __attribute__ ((__pure__)); > > > > > >extern char *strsep (char **__restrict __stringp, > __const char *__restrict __delim) ; > > > > >extern int strverscmp (__const char *__s1, __const char *__s2) > __attribute__ ((__pure__)); > > >extern char *strsignal (int __sig) ; > > >extern char *__stpcpy (char *__restrict __dest, __const char *__restrict __src) > ; >extern char *stpcpy (char *__restrict __dest, __const char *__restrict __src) > ; > > > >extern char *__stpncpy (char *__restrict __dest, > __const char *__restrict __src, size_t __n) ; >extern char *stpncpy (char *__restrict __dest, > __const char *__restrict __src, size_t __n) ; > > >extern char *strfry (char *__string) ; > > >extern void *memfrob (void *__s, size_t __n) ; > > > > > > >extern char *basename (__const char *__filename) ; ># 372 "/usr/include/string.h" 3 4 ># 1 "/usr/include/bits/string.h" 1 3 4 ># 373 "/usr/include/string.h" 2 3 4 > > ># 1 "/usr/include/bits/string2.h" 1 3 4 ># 389 "/usr/include/bits/string2.h" 3 4 >extern void *__rawmemchr (const void *__s, int __c); ># 919 "/usr/include/bits/string2.h" 3 4 >extern __inline size_t __strcspn_c1 (__const char *__s, int __reject); >extern __inline size_t >__strcspn_c1 (__const char *__s, int __reject) >{ > register size_t __result = 0; > while (__s[__result] != '\0' && __s[__result] != __reject) > ++__result; > return __result; >} > >extern __inline size_t __strcspn_c2 (__const char *__s, int __reject1, > int __reject2); >extern __inline size_t >__strcspn_c2 (__const char *__s, int __reject1, int __reject2) >{ > register size_t __result = 0; > while (__s[__result] != '\0' && __s[__result] != __reject1 > && __s[__result] != __reject2) > ++__result; > return __result; >} > >extern __inline size_t __strcspn_c3 (__const char *__s, int __reject1, > int __reject2, int __reject3); >extern __inline size_t >__strcspn_c3 (__const char *__s, int __reject1, int __reject2, > int __reject3) >{ > register size_t __result = 0; > while (__s[__result] != '\0' && __s[__result] != __reject1 > && __s[__result] != __reject2 && __s[__result] != __reject3) > ++__result; > return __result; >} ># 976 "/usr/include/bits/string2.h" 3 4 >extern __inline size_t __strspn_c1 (__const char *__s, int __accept); >extern __inline size_t >__strspn_c1 (__const char *__s, int __accept) >{ > register size_t __result = 0; > > while (__s[__result] == __accept) > ++__result; > return __result; >} > >extern __inline size_t __strspn_c2 (__const char *__s, int __accept1, > int __accept2); >extern __inline size_t >__strspn_c2 (__const char *__s, int __accept1, int __accept2) >{ > register size_t __result = 0; > > while (__s[__result] == __accept1 || __s[__result] == __accept2) > ++__result; > return __result; >} > >extern __inline size_t __strspn_c3 (__const char *__s, int __accept1, > int __accept2, int __accept3); >extern __inline size_t >__strspn_c3 (__const char *__s, int __accept1, int __accept2, int __accept3) >{ > register size_t __result = 0; > > while (__s[__result] == __accept1 || __s[__result] == __accept2 > || __s[__result] == __accept3) > ++__result; > return __result; >} ># 1033 "/usr/include/bits/string2.h" 3 4 >extern __inline char *__strpbrk_c2 (__const char *__s, int __accept1, > int __accept2); >extern __inline char * >__strpbrk_c2 (__const char *__s, int __accept1, int __accept2) >{ > > while (*__s != '\0' && *__s != __accept1 && *__s != __accept2) > ++__s; > return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; >} > >extern __inline char *__strpbrk_c3 (__const char *__s, int __accept1, > int __accept2, int __accept3); >extern __inline char * >__strpbrk_c3 (__const char *__s, int __accept1, int __accept2, > int __accept3) >{ > > while (*__s != '\0' && *__s != __accept1 && *__s != __accept2 > && *__s != __accept3) > ++__s; > return *__s == '\0' ? ((void *)0) : (char *) (size_t) __s; >} ># 1085 "/usr/include/bits/string2.h" 3 4 >extern __inline char *__strtok_r_1c (char *__s, char __sep, char **__nextp); >extern __inline char * >__strtok_r_1c (char *__s, char __sep, char **__nextp) >{ > char *__result; > if (__s == ((void *)0)) > __s = *__nextp; > while (*__s == __sep) > ++__s; > __result = ((void *)0); > if (*__s != '\0') > { > __result = __s++; > while (*__s != '\0') > if (*__s++ == __sep) > { > __s[-1] = '\0'; > break; > } > *__nextp = __s; > } > return __result; >} ># 1117 "/usr/include/bits/string2.h" 3 4 >extern char *__strsep_g (char **__stringp, __const char *__delim); ># 1135 "/usr/include/bits/string2.h" 3 4 >extern __inline char *__strsep_1c (char **__s, char __reject); >extern __inline char * >__strsep_1c (char **__s, char __reject) >{ > register char *__retval = *__s; > if (__retval != ((void *)0) && (*__s = (__extension__ (__builtin_constant_p (__reject) && (__reject) == '\0' ? (char *) __rawmemchr (__retval, __reject) : strchr (__retval, __reject)))) != ((void *)0)) > *(*__s)++ = '\0'; > return __retval; >} > >extern __inline char *__strsep_2c (char **__s, char __reject1, char __reject2); >extern __inline char * >__strsep_2c (char **__s, char __reject1, char __reject2) >{ > register char *__retval = *__s; > if (__retval != ((void *)0)) > { > register char *__cp = __retval; > while (1) > { > if (*__cp == '\0') > { > __cp = ((void *)0); > break; > } > if (*__cp == __reject1 || *__cp == __reject2) > { > *__cp++ = '\0'; > break; > } > ++__cp; > } > *__s = __cp; > } > return __retval; >} > >extern __inline char *__strsep_3c (char **__s, char __reject1, char __reject2, > char __reject3); >extern __inline char * >__strsep_3c (char **__s, char __reject1, char __reject2, char __reject3) >{ > register char *__retval = *__s; > if (__retval != ((void *)0)) > { > register char *__cp = __retval; > while (1) > { > if (*__cp == '\0') > { > __cp = ((void *)0); > break; > } > if (*__cp == __reject1 || *__cp == __reject2 || *__cp == __reject3) > { > *__cp++ = '\0'; > break; > } > ++__cp; > } > *__s = __cp; > } > return __retval; >} ># 1211 "/usr/include/bits/string2.h" 3 4 ># 1 "/usr/include/stdlib.h" 1 3 4 ># 33 "/usr/include/stdlib.h" 3 4 ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 ># 34 "/usr/include/stdlib.h" 2 3 4 ># 554 "/usr/include/stdlib.h" 3 4 > > >extern void *malloc (size_t __size) __attribute__ ((__malloc__)); > >extern void *calloc (size_t __nmemb, size_t __size) > __attribute__ ((__malloc__)); ># 922 "/usr/include/stdlib.h" 3 4 ># 1212 "/usr/include/bits/string2.h" 2 3 4 > > > > >extern char *__strdup (__const char *__string) __attribute__ ((__malloc__)); ># 1235 "/usr/include/bits/string2.h" 3 4 >extern char *__strndup (__const char *__string, size_t __n) > __attribute__ ((__malloc__)); ># 376 "/usr/include/string.h" 2 3 4 ># 44 "sysdep.h" 2 ># 54 "sysdep.h" ># 1 "/usr/include/stdlib.h" 1 3 4 ># 33 "/usr/include/stdlib.h" 3 4 ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 ># 34 "/usr/include/stdlib.h" 2 3 4 ># 42 "/usr/include/stdlib.h" 3 4 ># 1 "/usr/include/bits/waitflags.h" 1 3 4 ># 43 "/usr/include/stdlib.h" 2 3 4 ># 1 "/usr/include/bits/waitstatus.h" 1 3 4 ># 65 "/usr/include/bits/waitstatus.h" 3 4 >union wait > { > int w_status; > struct > { > > unsigned int __w_termsig:7; > unsigned int __w_coredump:1; > unsigned int __w_retcode:8; > unsigned int:16; > > > > > > > > } __wait_terminated; > struct > { > > unsigned int __w_stopval:8; > unsigned int __w_stopsig:8; > unsigned int:16; > > > > > > > } __wait_stopped; > }; ># 44 "/usr/include/stdlib.h" 2 3 4 ># 68 "/usr/include/stdlib.h" 3 4 >typedef union > { > union wait *__uptr; > int *__iptr; > } __WAIT_STATUS __attribute__ ((__transparent_union__)); ># 93 "/usr/include/stdlib.h" 3 4 > > >typedef struct > { > int quot; > int rem; > } div_t; > > > >typedef struct > { > long int quot; > long int rem; > } ldiv_t; > > > > > > > >__extension__ typedef struct > { > long long int quot; > long long int rem; > } lldiv_t; ># 137 "/usr/include/stdlib.h" 3 4 >extern size_t __ctype_get_mb_cur_max (void) ; > > > > >extern double atof (__const char *__nptr) __attribute__ ((__pure__)); > >extern int atoi (__const char *__nptr) __attribute__ ((__pure__)); > >extern long int atol (__const char *__nptr) __attribute__ ((__pure__)); > > > > > >__extension__ extern long long int atoll (__const char *__nptr) > __attribute__ ((__pure__)); > > > > > >extern double strtod (__const char *__restrict __nptr, > char **__restrict __endptr) ; > > > > > >extern float strtof (__const char *__restrict __nptr, > char **__restrict __endptr) ; > >extern long double strtold (__const char *__restrict __nptr, > char **__restrict __endptr) ; > > > > > >extern long int strtol (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) ; > >extern unsigned long int strtoul (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) > ; > > > > >__extension__ >extern long long int strtoq (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) ; > >__extension__ >extern unsigned long long int strtouq (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) > ; > > > > > >__extension__ >extern long long int strtoll (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) ; > >__extension__ >extern unsigned long long int strtoull (__const char *__restrict __nptr, > char **__restrict __endptr, int __base) > ; ># 229 "/usr/include/stdlib.h" 3 4 >extern long int strtol_l (__const char *__restrict __nptr, > char **__restrict __endptr, int __base, > __locale_t __loc) ; > >extern unsigned long int strtoul_l (__const char *__restrict __nptr, > char **__restrict __endptr, > int __base, __locale_t __loc) ; > >__extension__ >extern long long int strtoll_l (__const char *__restrict __nptr, > char **__restrict __endptr, int __base, > __locale_t __loc) ; > >__extension__ >extern unsigned long long int strtoull_l (__const char *__restrict __nptr, > char **__restrict __endptr, > int __base, __locale_t __loc) > ; > >extern double strtod_l (__const char *__restrict __nptr, > char **__restrict __endptr, __locale_t __loc) > ; > >extern float strtof_l (__const char *__restrict __nptr, > char **__restrict __endptr, __locale_t __loc) ; > >extern long double strtold_l (__const char *__restrict __nptr, > char **__restrict __endptr, > __locale_t __loc) ; > > > > > > >extern double __strtod_internal (__const char *__restrict __nptr, > char **__restrict __endptr, int __group) > ; >extern float __strtof_internal (__const char *__restrict __nptr, > char **__restrict __endptr, int __group) > ; >extern long double __strtold_internal (__const char *__restrict __nptr, > char **__restrict __endptr, > int __group) ; > >extern long int __strtol_internal (__const char *__restrict __nptr, > char **__restrict __endptr, > int __base, int __group) ; > > > >extern unsigned long int __strtoul_internal (__const char *__restrict __nptr, > char **__restrict __endptr, > int __base, int __group) ; > > > > >__extension__ >extern long long int __strtoll_internal (__const char *__restrict __nptr, > char **__restrict __endptr, > int __base, int __group) ; > > > >__extension__ >extern unsigned long long int __strtoull_internal (__const char * > __restrict __nptr, > char **__restrict __endptr, > int __base, int __group) > ; ># 308 "/usr/include/stdlib.h" 3 4 >extern __inline double >strtod (__const char *__restrict __nptr, char **__restrict __endptr) >{ > return __strtod_internal (__nptr, __endptr, 0); >} >extern __inline long int >strtol (__const char *__restrict __nptr, char **__restrict __endptr, > int __base) >{ > return __strtol_internal (__nptr, __endptr, __base, 0); >} >extern __inline unsigned long int >strtoul (__const char *__restrict __nptr, char **__restrict __endptr, > int __base) >{ > return __strtoul_internal (__nptr, __endptr, __base, 0); >} > > > > >extern __inline float >strtof (__const char *__restrict __nptr, char **__restrict __endptr) >{ > return __strtof_internal (__nptr, __endptr, 0); >} >extern __inline long double >strtold (__const char *__restrict __nptr, char **__restrict __endptr) >{ > return __strtold_internal (__nptr, __endptr, 0); >} > > > > >__extension__ extern __inline long long int >strtoq (__const char *__restrict __nptr, char **__restrict __endptr, > int __base) >{ > return __strtoll_internal (__nptr, __endptr, __base, 0); >} >__extension__ extern __inline unsigned long long int >strtouq (__const char *__restrict __nptr, char **__restrict __endptr, > int __base) >{ > return __strtoull_internal (__nptr, __endptr, __base, 0); >} > > > > >__extension__ extern __inline long long int >strtoll (__const char *__restrict __nptr, char **__restrict __endptr, > int __base) >{ > return __strtoll_internal (__nptr, __endptr, __base, 0); >} >__extension__ extern __inline unsigned long long int >strtoull (__const char * __restrict __nptr, char **__restrict __endptr, > int __base) >{ > return __strtoull_internal (__nptr, __endptr, __base, 0); >} > > > > >extern __inline double >atof (__const char *__nptr) >{ > return strtod (__nptr, (char **) ((void *)0)); >} >extern __inline int >atoi (__const char *__nptr) >{ > return (int) strtol (__nptr, (char **) ((void *)0), 10); >} >extern __inline long int >atol (__const char *__nptr) >{ > return strtol (__nptr, (char **) ((void *)0), 10); >} > > > > >__extension__ extern __inline long long int >atoll (__const char *__nptr) >{ > return strtoll (__nptr, (char **) ((void *)0), 10); >} ># 408 "/usr/include/stdlib.h" 3 4 >extern char *l64a (long int __n) ; > > >extern long int a64l (__const char *__s) __attribute__ ((__pure__)); ># 423 "/usr/include/stdlib.h" 3 4 >extern long int random (void) ; > > >extern void srandom (unsigned int __seed) ; > > > > > >extern char *initstate (unsigned int __seed, char *__statebuf, > size_t __statelen) ; > > > >extern char *setstate (char *__statebuf) ; > > > > > > > >struct random_data > { > int32_t *fptr; > int32_t *rptr; > int32_t *state; > int rand_type; > int rand_deg; > int rand_sep; > int32_t *end_ptr; > }; > >extern int random_r (struct random_data *__restrict __buf, > int32_t *__restrict __result) ; > >extern int srandom_r (unsigned int __seed, struct random_data *__buf) ; > >extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, > size_t __statelen, > struct random_data *__restrict __buf) ; > >extern int setstate_r (char *__restrict __statebuf, > struct random_data *__restrict __buf) ; > > > > > > >extern int rand (void) ; > >extern void srand (unsigned int __seed) ; > > > > >extern int rand_r (unsigned int *__seed) ; > > > > > > > >extern double drand48 (void) ; >extern double erand48 (unsigned short int __xsubi[3]) ; > > >extern long int lrand48 (void) ; >extern long int nrand48 (unsigned short int __xsubi[3]) ; > > >extern long int mrand48 (void) ; >extern long int jrand48 (unsigned short int __xsubi[3]) ; > > >extern void srand48 (long int __seedval) ; >extern unsigned short int *seed48 (unsigned short int __seed16v[3]) ; >extern void lcong48 (unsigned short int __param[7]) ; > > > > > >struct drand48_data > { > unsigned short int __x[3]; > unsigned short int __old_x[3]; > unsigned short int __c; > unsigned short int __init; > unsigned long long int __a; > }; > > >extern int drand48_r (struct drand48_data *__restrict __buffer, > double *__restrict __result) ; >extern int erand48_r (unsigned short int __xsubi[3], > struct drand48_data *__restrict __buffer, > double *__restrict __result) ; > > >extern int lrand48_r (struct drand48_data *__restrict __buffer, > long int *__restrict __result) ; >extern int nrand48_r (unsigned short int __xsubi[3], > struct drand48_data *__restrict __buffer, > long int *__restrict __result) ; > > >extern int mrand48_r (struct drand48_data *__restrict __buffer, > long int *__restrict __result) ; >extern int jrand48_r (unsigned short int __xsubi[3], > struct drand48_data *__restrict __buffer, > long int *__restrict __result) ; > > >extern int srand48_r (long int __seedval, struct drand48_data *__buffer) > ; > >extern int seed48_r (unsigned short int __seed16v[3], > struct drand48_data *__buffer) ; > >extern int lcong48_r (unsigned short int __param[7], > struct drand48_data *__buffer) ; ># 564 "/usr/include/stdlib.h" 3 4 > > > >extern void *realloc (void *__ptr, size_t __size) __attribute__ ((__malloc__)); > >extern void free (void *__ptr) ; > > > > >extern void cfree (void *__ptr) ; > > > ># 1 "/usr/include/alloca.h" 1 3 4 ># 25 "/usr/include/alloca.h" 3 4 ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 ># 26 "/usr/include/alloca.h" 2 3 4 > > > > > > > >extern void *alloca (size_t __size) ; ># 579 "/usr/include/stdlib.h" 2 3 4 > > > > >extern void *valloc (size_t __size) __attribute__ ((__malloc__)); > > > > >extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) > __attribute__ ((__malloc__)); > > > > >extern void abort (void) __attribute__ ((__noreturn__)); > > > >extern int atexit (void (*__func) (void)) ; > > > > > >extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) > ; > > > > > > >extern void exit (int __status) __attribute__ ((__noreturn__)); > > > > > > >extern void _Exit (int __status) __attribute__ ((__noreturn__)); > > > > > > >extern char *getenv (__const char *__name) ; > > > > >extern char *__secure_getenv (__const char *__name) ; > > > > > >extern int putenv (char *__string) ; > > > > > >extern int setenv (__const char *__name, __const char *__value, int __replace) > ; > > >extern int unsetenv (__const char *__name) ; > > > > > > >extern int clearenv (void) ; ># 663 "/usr/include/stdlib.h" 3 4 >extern char *mktemp (char *__template) ; ># 674 "/usr/include/stdlib.h" 3 4 >extern int mkstemp (char *__template); ># 683 "/usr/include/stdlib.h" 3 4 >extern int mkstemp64 (char *__template); ># 693 "/usr/include/stdlib.h" 3 4 >extern char *mkdtemp (char *__template) ; ># 702 "/usr/include/stdlib.h" 3 4 >extern int system (__const char *__command); > > > > > > > >extern char *canonicalize_file_name (__const char *__name) ; ># 720 "/usr/include/stdlib.h" 3 4 >extern char *realpath (__const char *__restrict __name, > char *__restrict __resolved) ; > > > > > > >typedef int (*__compar_fn_t) (__const void *, __const void *); > > >typedef __compar_fn_t comparison_fn_t; > > > > > > >extern void *bsearch (__const void *__key, __const void *__base, > size_t __nmemb, size_t __size, __compar_fn_t __compar); > > > >extern void qsort (void *__base, size_t __nmemb, size_t __size, > __compar_fn_t __compar); > > > >extern int abs (int __x) __attribute__ ((__const__)); >extern long int labs (long int __x) __attribute__ ((__const__)); > > > >__extension__ extern long long int llabs (long long int __x) > __attribute__ ((__const__)); > > > > > > > >extern div_t div (int __numer, int __denom) > __attribute__ ((__const__)); >extern ldiv_t ldiv (long int __numer, long int __denom) > __attribute__ ((__const__)); > > > > >__extension__ extern lldiv_t lldiv (long long int __numer, > long long int __denom) > __attribute__ ((__const__)); ># 784 "/usr/include/stdlib.h" 3 4 >extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, > int *__restrict __sign) ; > > > > >extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, > int *__restrict __sign) ; > > > > >extern char *gcvt (double __value, int __ndigit, char *__buf) ; > > > > >extern char *qecvt (long double __value, int __ndigit, > int *__restrict __decpt, int *__restrict __sign) ; >extern char *qfcvt (long double __value, int __ndigit, > int *__restrict __decpt, int *__restrict __sign) ; >extern char *qgcvt (long double __value, int __ndigit, char *__buf) ; > > > > >extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, > int *__restrict __sign, char *__restrict __buf, > size_t __len) ; >extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, > int *__restrict __sign, char *__restrict __buf, > size_t __len) ; > >extern int qecvt_r (long double __value, int __ndigit, > int *__restrict __decpt, int *__restrict __sign, > char *__restrict __buf, size_t __len) ; >extern int qfcvt_r (long double __value, int __ndigit, > int *__restrict __decpt, int *__restrict __sign, > char *__restrict __buf, size_t __len) ; > > > > > > > >extern int mblen (__const char *__s, size_t __n) ; > > >extern int mbtowc (wchar_t *__restrict __pwc, > __const char *__restrict __s, size_t __n) ; > > >extern int wctomb (char *__s, wchar_t __wchar) ; > > > >extern size_t mbstowcs (wchar_t *__restrict __pwcs, > __const char *__restrict __s, size_t __n) ; > >extern size_t wcstombs (char *__restrict __s, > __const wchar_t *__restrict __pwcs, size_t __n) > ; ># 855 "/usr/include/stdlib.h" 3 4 >extern int rpmatch (__const char *__response) ; ># 866 "/usr/include/stdlib.h" 3 4 >extern int getsubopt (char **__restrict __optionp, > char *__const *__restrict __tokens, > char **__restrict __valuep) ; > > > > > >extern void setkey (__const char *__key) ; > > > > > > > >extern int posix_openpt (int __oflag); > > > > > > > >extern int grantpt (int __fd) ; > > > >extern int unlockpt (int __fd) ; > > > > >extern char *ptsname (int __fd) ; > > > > > > >extern int ptsname_r (int __fd, char *__buf, size_t __buflen) ; > > >extern int getpt (void); > > > > > > >extern int getloadavg (double __loadavg[], int __nelem) ; ># 55 "sysdep.h" 2 > > > ># 1 "/usr/include/sys/time.h" 1 3 4 ># 26 "/usr/include/sys/time.h" 3 4 ># 1 "/usr/include/time.h" 1 3 4 ># 27 "/usr/include/sys/time.h" 2 3 4 > ># 1 "/usr/include/bits/time.h" 1 3 4 ># 29 "/usr/include/sys/time.h" 2 3 4 ># 38 "/usr/include/sys/time.h" 3 4 ># 56 "/usr/include/sys/time.h" 3 4 >struct timezone > { > int tz_minuteswest; > int tz_dsttime; > }; > >typedef struct timezone *__restrict __timezone_ptr_t; ># 72 "/usr/include/sys/time.h" 3 4 >extern int gettimeofday (struct timeval *__restrict __tv, > __timezone_ptr_t __tz) ; > > > > >extern int settimeofday (__const struct timeval *__tv, > __const struct timezone *__tz) ; > > > > > >extern int adjtime (__const struct timeval *__delta, > struct timeval *__olddelta) ; > > > > >enum __itimer_which > { > > ITIMER_REAL = 0, > > > ITIMER_VIRTUAL = 1, > > > > ITIMER_PROF = 2 > > }; > > > >struct itimerval > { > > struct timeval it_interval; > > struct timeval it_value; > }; > > > > >typedef enum __itimer_which __itimer_which_t; > > > > > > >extern int getitimer (__itimer_which_t __which, > struct itimerval *__value) ; > > > > >extern int setitimer (__itimer_which_t __which, > __const struct itimerval *__restrict __new, > struct itimerval *__restrict __old) ; > > > > >extern int utimes (__const char *__file, __const struct timeval __tvp[2]) > ; > > > >extern int lutimes (__const char *__file, __const struct timeval __tvp[2]) > ; > > >extern int futimes (int __fd, __const struct timeval __tvp[2]) ; ># 181 "/usr/include/sys/time.h" 3 4 ># 59 "sysdep.h" 2 ># 1 "/usr/include/time.h" 1 3 4 ># 30 "/usr/include/time.h" 3 4 ># 38 "/usr/include/time.h" 3 4 ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 ># 39 "/usr/include/time.h" 2 3 4 > > > ># 1 "/usr/include/bits/time.h" 1 3 4 ># 43 "/usr/include/time.h" 2 3 4 ># 129 "/usr/include/time.h" 3 4 > > >struct tm >{ > int tm_sec; > int tm_min; > int tm_hour; > int tm_mday; > int tm_mon; > int tm_year; > int tm_wday; > int tm_yday; > int tm_isdst; > > > long int tm_gmtoff; > __const char *tm_zone; > > > > >}; ># 159 "/usr/include/time.h" 3 4 >struct itimerspec > { > struct timespec it_interval; > struct timespec it_value; > }; > > >struct sigevent; ># 178 "/usr/include/time.h" 3 4 > > > >extern clock_t clock (void) ; > > >extern time_t time (time_t *__timer) ; > > >extern double difftime (time_t __time1, time_t __time0) > __attribute__ ((__const__)); > > >extern time_t mktime (struct tm *__tp) ; > > > > > >extern size_t strftime (char *__restrict __s, size_t __maxsize, > __const char *__restrict __format, > __const struct tm *__restrict __tp) ; > > > > > >extern char *strptime (__const char *__restrict __s, > __const char *__restrict __fmt, struct tm *__tp) > ; > > > > > > > >extern size_t strftime_l (char *__restrict __s, size_t __maxsize, > __const char *__restrict __format, > __const struct tm *__restrict __tp, > __locale_t __loc) ; > >extern char *strptime_l (__const char *__restrict __s, > __const char *__restrict __fmt, struct tm *__tp, > __locale_t __loc) ; > > > > > > >extern struct tm *gmtime (__const time_t *__timer) ; > > > >extern struct tm *localtime (__const time_t *__timer) ; > > > > > >extern struct tm *gmtime_r (__const time_t *__restrict __timer, > struct tm *__restrict __tp) ; > > > >extern struct tm *localtime_r (__const time_t *__restrict __timer, > struct tm *__restrict __tp) ; > > > > > >extern char *asctime (__const struct tm *__tp) ; > > >extern char *ctime (__const time_t *__timer) ; > > > > > > > >extern char *asctime_r (__const struct tm *__restrict __tp, > char *__restrict __buf) ; > > >extern char *ctime_r (__const time_t *__restrict __timer, > char *__restrict __buf) ; > > > > >extern char *__tzname[2]; >extern int __daylight; >extern long int __timezone; > > > > >extern char *tzname[2]; > > > >extern void tzset (void) ; > > > >extern int daylight; >extern long int timezone; > > > > > >extern int stime (__const time_t *__when) ; ># 309 "/usr/include/time.h" 3 4 >extern time_t timegm (struct tm *__tp) ; > > >extern time_t timelocal (struct tm *__tp) ; > > >extern int dysize (int __year) __attribute__ ((__const__)); ># 324 "/usr/include/time.h" 3 4 >extern int nanosleep (__const struct timespec *__requested_time, > struct timespec *__remaining); > > > >extern int clock_getres (clockid_t __clock_id, struct timespec *__res) ; > > >extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) ; > > >extern int clock_settime (clockid_t __clock_id, __const struct timespec *__tp) > ; > > > > > > >extern int clock_nanosleep (clockid_t __clock_id, int __flags, > __const struct timespec *__req, > struct timespec *__rem); > > >extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) ; > > > > >extern int timer_create (clockid_t __clock_id, > struct sigevent *__restrict __evp, > timer_t *__restrict __timerid) ; > > >extern int timer_delete (timer_t __timerid) ; > > >extern int timer_settime (timer_t __timerid, int __flags, > __const struct itimerspec *__restrict __value, > struct itimerspec *__restrict __ovalue) ; > > >extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) > ; > > >extern int timer_getoverrun (timer_t __timerid) ; ># 386 "/usr/include/time.h" 3 4 >extern int getdate_err; ># 395 "/usr/include/time.h" 3 4 >extern struct tm *getdate (__const char *__string); ># 409 "/usr/include/time.h" 3 4 >extern int getdate_r (__const char *__restrict __string, > struct tm *__restrict __resbufp); ># 60 "sysdep.h" 2 ># 69 "sysdep.h" ># 1 "/usr/include/unistd.h" 1 3 4 ># 28 "/usr/include/unistd.h" 3 4 ># 171 "/usr/include/unistd.h" 3 4 ># 1 "/usr/include/bits/posix_opt.h" 1 3 4 ># 172 "/usr/include/unistd.h" 2 3 4 > > > ># 1 "/usr/include/bits/environments.h" 1 3 4 ># 23 "/usr/include/bits/environments.h" 3 4 ># 1 "/usr/include/bits/wordsize.h" 1 3 4 ># 24 "/usr/include/bits/environments.h" 2 3 4 ># 176 "/usr/include/unistd.h" 2 3 4 ># 195 "/usr/include/unistd.h" 3 4 ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 ># 196 "/usr/include/unistd.h" 2 3 4 ># 236 "/usr/include/unistd.h" 3 4 >typedef __intptr_t intptr_t; > > > > > > >typedef __socklen_t socklen_t; ># 256 "/usr/include/unistd.h" 3 4 >extern int access (__const char *__name, int __type) ; > > > > >extern int euidaccess (__const char *__name, int __type) ; ># 286 "/usr/include/unistd.h" 3 4 >extern __off_t lseek (int __fd, __off_t __offset, int __whence) ; ># 298 "/usr/include/unistd.h" 3 4 >extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) ; > > > > > > >extern int close (int __fd); > > > > > > >extern ssize_t read (int __fd, void *__buf, size_t __nbytes); > > > > > >extern ssize_t write (int __fd, __const void *__buf, size_t __n); ># 328 "/usr/include/unistd.h" 3 4 >extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, > __off_t __offset); > > > > > > >extern ssize_t pwrite (int __fd, __const void *__buf, size_t __n, > __off_t __offset); ># 356 "/usr/include/unistd.h" 3 4 >extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, > __off64_t __offset); > > >extern ssize_t pwrite64 (int __fd, __const void *__buf, size_t __n, > __off64_t __offset); > > > > > > > >extern int pipe (int __pipedes[2]) ; ># 378 "/usr/include/unistd.h" 3 4 >extern unsigned int alarm (unsigned int __seconds) ; ># 390 "/usr/include/unistd.h" 3 4 >extern unsigned int sleep (unsigned int __seconds); > > > > > > >extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) > ; > > > > > > >extern int usleep (__useconds_t __useconds); ># 414 "/usr/include/unistd.h" 3 4 >extern int pause (void); > > > >extern int chown (__const char *__file, __uid_t __owner, __gid_t __group) > ; > > > >extern int fchown (int __fd, __uid_t __owner, __gid_t __group) ; > > > > >extern int lchown (__const char *__file, __uid_t __owner, __gid_t __group) > ; > > > > >extern int chdir (__const char *__path) ; > > > >extern int fchdir (int __fd) ; ># 448 "/usr/include/unistd.h" 3 4 >extern char *getcwd (char *__buf, size_t __size) ; > > > > > >extern char *get_current_dir_name (void) ; > > > > > > >extern char *getwd (char *__buf) ; > > > > >extern int dup (int __fd) ; > > >extern int dup2 (int __fd, int __fd2) ; > > >extern char **__environ; > >extern char **environ; > > > > > >extern int execve (__const char *__path, char *__const __argv[], > char *__const __envp[]) ; > > > > >extern int fexecve (int __fd, char *__const __argv[], char *__const __envp[]) > ; > > > > >extern int execv (__const char *__path, char *__const __argv[]) ; > > > >extern int execle (__const char *__path, __const char *__arg, ...) ; > > > >extern int execl (__const char *__path, __const char *__arg, ...) ; > > > >extern int execvp (__const char *__file, char *__const __argv[]) ; > > > > >extern int execlp (__const char *__file, __const char *__arg, ...) ; > > > > >extern int nice (int __inc) ; > > > > >extern void _exit (int __status) __attribute__ ((__noreturn__)); > > > > > ># 1 "/usr/include/bits/confname.h" 1 3 4 ># 25 "/usr/include/bits/confname.h" 3 4 >enum > { > _PC_LINK_MAX, > > _PC_MAX_CANON, > > _PC_MAX_INPUT, > > _PC_NAME_MAX, > > _PC_PATH_MAX, > > _PC_PIPE_BUF, > > _PC_CHOWN_RESTRICTED, > > _PC_NO_TRUNC, > > _PC_VDISABLE, > > _PC_SYNC_IO, > > _PC_ASYNC_IO, > > _PC_PRIO_IO, > > _PC_SOCK_MAXBUF, > > _PC_FILESIZEBITS, > > _PC_REC_INCR_XFER_SIZE, > > _PC_REC_MAX_XFER_SIZE, > > _PC_REC_MIN_XFER_SIZE, > > _PC_REC_XFER_ALIGN, > > _PC_ALLOC_SIZE_MIN, > > _PC_SYMLINK_MAX, > > _PC_2_SYMLINKS > > }; > > >enum > { > _SC_ARG_MAX, > > _SC_CHILD_MAX, > > _SC_CLK_TCK, > > _SC_NGROUPS_MAX, > > _SC_OPEN_MAX, > > _SC_STREAM_MAX, > > _SC_TZNAME_MAX, > > _SC_JOB_CONTROL, > > _SC_SAVED_IDS, > > _SC_REALTIME_SIGNALS, > > _SC_PRIORITY_SCHEDULING, > > _SC_TIMERS, > > _SC_ASYNCHRONOUS_IO, > > _SC_PRIORITIZED_IO, > > _SC_SYNCHRONIZED_IO, > > _SC_FSYNC, > > _SC_MAPPED_FILES, > > _SC_MEMLOCK, > > _SC_MEMLOCK_RANGE, > > _SC_MEMORY_PROTECTION, > > _SC_MESSAGE_PASSING, > > _SC_SEMAPHORES, > > _SC_SHARED_MEMORY_OBJECTS, > > _SC_AIO_LISTIO_MAX, > > _SC_AIO_MAX, > > _SC_AIO_PRIO_DELTA_MAX, > > _SC_DELAYTIMER_MAX, > > _SC_MQ_OPEN_MAX, > > _SC_MQ_PRIO_MAX, > > _SC_VERSION, > > _SC_PAGESIZE, > > > _SC_RTSIG_MAX, > > _SC_SEM_NSEMS_MAX, > > _SC_SEM_VALUE_MAX, > > _SC_SIGQUEUE_MAX, > > _SC_TIMER_MAX, > > > > > _SC_BC_BASE_MAX, > > _SC_BC_DIM_MAX, > > _SC_BC_SCALE_MAX, > > _SC_BC_STRING_MAX, > > _SC_COLL_WEIGHTS_MAX, > > _SC_EQUIV_CLASS_MAX, > > _SC_EXPR_NEST_MAX, > > _SC_LINE_MAX, > > _SC_RE_DUP_MAX, > > _SC_CHARCLASS_NAME_MAX, > > > _SC_2_VERSION, > > _SC_2_C_BIND, > > _SC_2_C_DEV, > > _SC_2_FORT_DEV, > > _SC_2_FORT_RUN, > > _SC_2_SW_DEV, > > _SC_2_LOCALEDEF, > > > _SC_PII, > > _SC_PII_XTI, > > _SC_PII_SOCKET, > > _SC_PII_INTERNET, > > _SC_PII_OSI, > > _SC_POLL, > > _SC_SELECT, > > _SC_UIO_MAXIOV, > > _SC_IOV_MAX = _SC_UIO_MAXIOV, > > _SC_PII_INTERNET_STREAM, > > _SC_PII_INTERNET_DGRAM, > > _SC_PII_OSI_COTS, > > _SC_PII_OSI_CLTS, > > _SC_PII_OSI_M, > > _SC_T_IOV_MAX, > > > > _SC_THREADS, > > _SC_THREAD_SAFE_FUNCTIONS, > > _SC_GETGR_R_SIZE_MAX, > > _SC_GETPW_R_SIZE_MAX, > > _SC_LOGIN_NAME_MAX, > > _SC_TTY_NAME_MAX, > > _SC_THREAD_DESTRUCTOR_ITERATIONS, > > _SC_THREAD_KEYS_MAX, > > _SC_THREAD_STACK_MIN, > > _SC_THREAD_THREADS_MAX, > > _SC_THREAD_ATTR_STACKADDR, > > _SC_THREAD_ATTR_STACKSIZE, > > _SC_THREAD_PRIORITY_SCHEDULING, > > _SC_THREAD_PRIO_INHERIT, > > _SC_THREAD_PRIO_PROTECT, > > _SC_THREAD_PROCESS_SHARED, > > > _SC_NPROCESSORS_CONF, > > _SC_NPROCESSORS_ONLN, > > _SC_PHYS_PAGES, > > _SC_AVPHYS_PAGES, > > _SC_ATEXIT_MAX, > > _SC_PASS_MAX, > > > _SC_XOPEN_VERSION, > > _SC_XOPEN_XCU_VERSION, > > _SC_XOPEN_UNIX, > > _SC_XOPEN_CRYPT, > > _SC_XOPEN_ENH_I18N, > > _SC_XOPEN_SHM, > > > _SC_2_CHAR_TERM, > > _SC_2_C_VERSION, > > _SC_2_UPE, > > > _SC_XOPEN_XPG2, > > _SC_XOPEN_XPG3, > > _SC_XOPEN_XPG4, > > > _SC_CHAR_BIT, > > _SC_CHAR_MAX, > > _SC_CHAR_MIN, > > _SC_INT_MAX, > > _SC_INT_MIN, > > _SC_LONG_BIT, > > _SC_WORD_BIT, > > _SC_MB_LEN_MAX, > > _SC_NZERO, > > _SC_SSIZE_MAX, > > _SC_SCHAR_MAX, > > _SC_SCHAR_MIN, > > _SC_SHRT_MAX, > > _SC_SHRT_MIN, > > _SC_UCHAR_MAX, > > _SC_UINT_MAX, > > _SC_ULONG_MAX, > > _SC_USHRT_MAX, > > > _SC_NL_ARGMAX, > > _SC_NL_LANGMAX, > > _SC_NL_MSGMAX, > > _SC_NL_NMAX, > > _SC_NL_SETMAX, > > _SC_NL_TEXTMAX, > > > _SC_XBS5_ILP32_OFF32, > > _SC_XBS5_ILP32_OFFBIG, > > _SC_XBS5_LP64_OFF64, > > _SC_XBS5_LPBIG_OFFBIG, > > > _SC_XOPEN_LEGACY, > > _SC_XOPEN_REALTIME, > > _SC_XOPEN_REALTIME_THREADS, > > > _SC_ADVISORY_INFO, > > _SC_BARRIERS, > > _SC_BASE, > > _SC_C_LANG_SUPPORT, > > _SC_C_LANG_SUPPORT_R, > > _SC_CLOCK_SELECTION, > > _SC_CPUTIME, > > _SC_THREAD_CPUTIME, > > _SC_DEVICE_IO, > > _SC_DEVICE_SPECIFIC, > > _SC_DEVICE_SPECIFIC_R, > > _SC_FD_MGMT, > > _SC_FIFO, > > _SC_PIPE, > > _SC_FILE_ATTRIBUTES, > > _SC_FILE_LOCKING, > > _SC_FILE_SYSTEM, > > _SC_MONOTONIC_CLOCK, > > _SC_MULTI_PROCESS, > > _SC_SINGLE_PROCESS, > > _SC_NETWORKING, > > _SC_READER_WRITER_LOCKS, > > _SC_SPIN_LOCKS, > > _SC_REGEXP, > > _SC_REGEX_VERSION, > > _SC_SHELL, > > _SC_SIGNALS, > > _SC_SPAWN, > > _SC_SPORADIC_SERVER, > > _SC_THREAD_SPORADIC_SERVER, > > _SC_SYSTEM_DATABASE, > > _SC_SYSTEM_DATABASE_R, > > _SC_TIMEOUTS, > > _SC_TYPED_MEMORY_OBJECTS, > > _SC_USER_GROUPS, > > _SC_USER_GROUPS_R, > > _SC_2_PBS, > > _SC_2_PBS_ACCOUNTING, > > _SC_2_PBS_LOCATE, > > _SC_2_PBS_MESSAGE, > > _SC_2_PBS_TRACK, > > _SC_SYMLOOP_MAX, > > _SC_STREAMS, > > _SC_2_PBS_CHECKPOINT, > > > _SC_V6_ILP32_OFF32, > > _SC_V6_ILP32_OFFBIG, > > _SC_V6_LP64_OFF64, > > _SC_V6_LPBIG_OFFBIG, > > > _SC_HOST_NAME_MAX, > > _SC_TRACE, > > _SC_TRACE_EVENT_FILTER, > > _SC_TRACE_INHERIT, > > _SC_TRACE_LOG > > }; > > >enum > { > _CS_PATH, > > > _CS_V6_WIDTH_RESTRICTED_ENVS, > > > _CS_GNU_LIBC_VERSION, > > _CS_GNU_LIBPTHREAD_VERSION, > > > _CS_LFS_CFLAGS = 1000, > > _CS_LFS_LDFLAGS, > > _CS_LFS_LIBS, > > _CS_LFS_LINTFLAGS, > > _CS_LFS64_CFLAGS, > > _CS_LFS64_LDFLAGS, > > _CS_LFS64_LIBS, > > _CS_LFS64_LINTFLAGS, > > > _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, > > _CS_XBS5_ILP32_OFF32_LDFLAGS, > > _CS_XBS5_ILP32_OFF32_LIBS, > > _CS_XBS5_ILP32_OFF32_LINTFLAGS, > > _CS_XBS5_ILP32_OFFBIG_CFLAGS, > > _CS_XBS5_ILP32_OFFBIG_LDFLAGS, > > _CS_XBS5_ILP32_OFFBIG_LIBS, > > _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, > > _CS_XBS5_LP64_OFF64_CFLAGS, > > _CS_XBS5_LP64_OFF64_LDFLAGS, > > _CS_XBS5_LP64_OFF64_LIBS, > > _CS_XBS5_LP64_OFF64_LINTFLAGS, > > _CS_XBS5_LPBIG_OFFBIG_CFLAGS, > > _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, > > _CS_XBS5_LPBIG_OFFBIG_LIBS, > > _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, > > > _CS_POSIX_V6_ILP32_OFF32_CFLAGS, > > _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, > > _CS_POSIX_V6_ILP32_OFF32_LIBS, > > _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, > > _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, > > _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, > > _CS_POSIX_V6_ILP32_OFFBIG_LIBS, > > _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, > > _CS_POSIX_V6_LP64_OFF64_CFLAGS, > > _CS_POSIX_V6_LP64_OFF64_LDFLAGS, > > _CS_POSIX_V6_LP64_OFF64_LIBS, > > _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, > > _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, > > _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, > > _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, > > _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS > > }; ># 526 "/usr/include/unistd.h" 2 3 4 > > >extern long int pathconf (__const char *__path, int __name) ; > > >extern long int fpathconf (int __fd, int __name) ; > > >extern long int sysconf (int __name) __attribute__ ((__const__)); > > > >extern size_t confstr (int __name, char *__buf, size_t __len) ; > > > > >extern __pid_t getpid (void) ; > > >extern __pid_t getppid (void) ; > > > > >extern __pid_t getpgrp (void) ; ># 561 "/usr/include/unistd.h" 3 4 >extern __pid_t __getpgid (__pid_t __pid) ; > >extern __pid_t getpgid (__pid_t __pid) ; > > > > > > >extern int setpgid (__pid_t __pid, __pid_t __pgid) ; ># 587 "/usr/include/unistd.h" 3 4 >extern int setpgrp (void) ; ># 605 "/usr/include/unistd.h" 3 4 >extern __pid_t setsid (void) ; > > > >extern __pid_t getsid (__pid_t __pid) ; > > > >extern __uid_t getuid (void) ; > > >extern __uid_t geteuid (void) ; > > >extern __gid_t getgid (void) ; > > >extern __gid_t getegid (void) ; > > > > >extern int getgroups (int __size, __gid_t __list[]) ; > > > >extern int group_member (__gid_t __gid) ; > > > > > > >extern int setuid (__uid_t __uid) ; > > > > >extern int setreuid (__uid_t __ruid, __uid_t __euid) ; > > > > >extern int seteuid (__uid_t __uid) ; > > > > > > >extern int setgid (__gid_t __gid) ; > > > > >extern int setregid (__gid_t __rgid, __gid_t __egid) ; > > > > >extern int setegid (__gid_t __gid) ; > > > > > >extern int getresuid (__uid_t *__euid, __uid_t *__ruid, __uid_t *__suid); > > > >extern int getresgid (__gid_t *__egid, __gid_t *__rgid, __gid_t *__sgid); > > > >extern int setresuid (__uid_t __euid, __uid_t __ruid, __uid_t __suid); > > > >extern int setresgid (__gid_t __egid, __gid_t __rgid, __gid_t __sgid); > > > > > > >extern __pid_t fork (void) ; > > > > > > >extern __pid_t vfork (void) ; > > > > > >extern char *ttyname (int __fd) ; > > > >extern int ttyname_r (int __fd, char *__buf, size_t __buflen) ; > > > >extern int isatty (int __fd) ; > > > > > >extern int ttyslot (void) ; > > > > >extern int link (__const char *__from, __const char *__to) ; > > > >extern int symlink (__const char *__from, __const char *__to) ; > > > > >extern int readlink (__const char *__restrict __path, char *__restrict __buf, > size_t __len) ; > > > >extern int unlink (__const char *__name) ; > > >extern int rmdir (__const char *__path) ; > > > >extern __pid_t tcgetpgrp (int __fd) ; > > >extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) ; > > > > > > >extern char *getlogin (void); > > > > > > > >extern int getlogin_r (char *__name, size_t __name_len); > > > > >extern int setlogin (__const char *__name) ; ># 775 "/usr/include/unistd.h" 3 4 ># 1 "../include/getopt.h" 1 3 4 ># 36 "../include/getopt.h" 3 4 >extern char *optarg; ># 50 "../include/getopt.h" 3 4 >extern int optind; > > > > >extern int opterr; > > > >extern int optopt; ># 82 "../include/getopt.h" 3 4 >struct option >{ > > const char *name; > > > > > > int has_arg; > int *flag; > int val; >}; ># 113 "../include/getopt.h" 3 4 >extern int getopt (int argc, char *const *argv, const char *shortopts); > > > > > > > >extern int getopt_long (int argc, char *const *argv, const char *shortopts, > const struct option *longopts, int *longind); >extern int getopt_long_only (int argc, char *const *argv, > const char *shortopts, > const struct option *longopts, int *longind); > > >extern int _getopt_internal (int argc, char *const *argv, > const char *shortopts, > const struct option *longopts, int *longind, > int long_only); ># 776 "/usr/include/unistd.h" 2 3 4 > > > > > > > >extern int gethostname (char *__name, size_t __len) ; > > > > > > >extern int sethostname (__const char *__name, size_t __len) ; > > > >extern int sethostid (long int __id) ; > > > > > >extern int getdomainname (char *__name, size_t __len) ; >extern int setdomainname (__const char *__name, size_t __len) ; > > > > > >extern int vhangup (void) ; > > >extern int revoke (__const char *__file) ; > > > > > > > >extern int profil (unsigned short int *__sample_buffer, size_t __size, > size_t __offset, unsigned int __scale) ; > > > > > >extern int acct (__const char *__name) ; > > > >extern char *getusershell (void) ; >extern void endusershell (void) ; >extern void setusershell (void) ; > > > > > >extern int daemon (int __nochdir, int __noclose) ; > > > > > > >extern int chroot (__const char *__path) ; > > > >extern char *getpass (__const char *__prompt); ># 857 "/usr/include/unistd.h" 3 4 >extern int fsync (int __fd); > > > > > > >extern long int gethostid (void); > > >extern void sync (void) ; > > > > >extern int getpagesize (void) __attribute__ ((__const__)); > > > > >extern int truncate (__const char *__file, __off_t __length) ; ># 888 "/usr/include/unistd.h" 3 4 >extern int truncate64 (__const char *__file, __off64_t __length) ; > > > > >extern int ftruncate (int __fd, __off_t __length) ; ># 903 "/usr/include/unistd.h" 3 4 >extern int ftruncate64 (int __fd, __off64_t __length) ; > > > > > >extern int getdtablesize (void) ; ># 918 "/usr/include/unistd.h" 3 4 >extern int brk (void *__addr) ; > > > > > >extern void *sbrk (intptr_t __delta) ; ># 939 "/usr/include/unistd.h" 3 4 >extern long int syscall (long int __sysno, ...) ; ># 962 "/usr/include/unistd.h" 3 4 >extern int lockf (int __fd, int __cmd, __off_t __len); ># 972 "/usr/include/unistd.h" 3 4 >extern int lockf64 (int __fd, int __cmd, __off64_t __len); ># 993 "/usr/include/unistd.h" 3 4 >extern int fdatasync (int __fildes) ; > > > > > > > >extern char *crypt (__const char *__key, __const char *__salt) ; > > > >extern void encrypt (char *__block, int __edflag) ; > > > > > > >extern void swab (__const void *__restrict __from, void *__restrict __to, > ssize_t __n) ; > > > > > > > >extern char *ctermid (char *__s) ; ># 70 "sysdep.h" 2 > > > > > ># 1 "../include/fopen-same.h" 1 ># 76 "sysdep.h" 2 > > > ># 1 "/usr/include/fcntl.h" 1 3 4 ># 29 "/usr/include/fcntl.h" 3 4 > > > > ># 1 "/usr/include/bits/fcntl.h" 1 3 4 ># 136 "/usr/include/bits/fcntl.h" 3 4 >struct flock > { > short int l_type; > short int l_whence; > > __off_t l_start; > __off_t l_len; > > > > > __pid_t l_pid; > }; > > >struct flock64 > { > short int l_type; > short int l_whence; > __off64_t l_start; > __off64_t l_len; > __pid_t l_pid; > }; ># 181 "/usr/include/bits/fcntl.h" 3 4 > > > >extern ssize_t readahead (int __fd, __off64_t __offset, size_t __count) > ; ># 34 "/usr/include/fcntl.h" 2 3 4 ># 63 "/usr/include/fcntl.h" 3 4 >extern int fcntl (int __fd, int __cmd, ...); ># 72 "/usr/include/fcntl.h" 3 4 >extern int open (__const char *__file, int __oflag, ...); ># 81 "/usr/include/fcntl.h" 3 4 >extern int open64 (__const char *__file, int __oflag, ...); ># 90 "/usr/include/fcntl.h" 3 4 >extern int creat (__const char *__file, __mode_t __mode); ># 100 "/usr/include/fcntl.h" 3 4 >extern int creat64 (__const char *__file, __mode_t __mode); ># 136 "/usr/include/fcntl.h" 3 4 >extern int posix_fadvise (int __fd, __off_t __offset, __off_t __len, > int __advise) ; ># 148 "/usr/include/fcntl.h" 3 4 >extern int posix_fadvise64 (int __fd, __off64_t __offset, __off64_t __len, > int __advise) ; ># 158 "/usr/include/fcntl.h" 3 4 >extern int posix_fallocate (int __fd, __off_t __offset, __off_t __len); ># 169 "/usr/include/fcntl.h" 3 4 >extern int posix_fallocate64 (int __fd, __off64_t __offset, __off64_t __len); ># 80 "sysdep.h" 2 ># 106 "sysdep.h" ># 1 "../include/filenames.h" 1 ># 107 "sysdep.h" 2 ># 135 "sysdep.h" ># 1 "/usr/include/libintl.h" 1 3 4 ># 35 "/usr/include/libintl.h" 3 4 > > > > > >extern char *gettext (__const char *__msgid) ; > > > >extern char *dgettext (__const char *__domainname, __const char *__msgid) > ; >extern char *__dgettext (__const char *__domainname, __const char *__msgid) > __attribute__ ((__format_arg__ (2))); > > > >extern char *dcgettext (__const char *__domainname, > __const char *__msgid, int __category) ; >extern char *__dcgettext (__const char *__domainname, > __const char *__msgid, int __category) > __attribute__ ((__format_arg__ (2))); > > > > >extern char *ngettext (__const char *__msgid1, __const char *__msgid2, > unsigned long int __n) > __attribute__ ((__format_arg__ (1))) __attribute__ ((__format_arg__ (2))); > > > >extern char *dngettext (__const char *__domainname, __const char *__msgid1, > __const char *__msgid2, unsigned long int __n) > __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3))); > > > >extern char *dcngettext (__const char *__domainname, __const char *__msgid1, > __const char *__msgid2, unsigned long int __n, > int __category) > __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3))); > > > > > >extern char *textdomain (__const char *__domainname) ; > > > >extern char *bindtextdomain (__const char *__domainname, > __const char *__dirname) ; > > > >extern char *bind_textdomain_codeset (__const char *__domainname, > __const char *__codeset) ; > > > > > > > ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 ># 100 "/usr/include/libintl.h" 2 3 4 > > ># 1 "/usr/include/locale.h" 1 3 4 ># 29 "/usr/include/locale.h" 3 4 ># 1 "/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.3/include/stddef.h" 1 3 4 ># 30 "/usr/include/locale.h" 2 3 4 ># 1 "/usr/include/bits/locale.h" 1 3 4 ># 27 "/usr/include/bits/locale.h" 3 4 >enum >{ > __LC_CTYPE = 0, > __LC_NUMERIC = 1, > __LC_TIME = 2, > __LC_COLLATE = 3, > __LC_MONETARY = 4, > __LC_MESSAGES = 5, > __LC_ALL = 6, > __LC_PAPER = 7, > __LC_NAME = 8, > __LC_ADDRESS = 9, > __LC_TELEPHONE = 10, > __LC_MEASUREMENT = 11, > __LC_IDENTIFICATION = 12 >}; ># 31 "/usr/include/locale.h" 2 3 4 ># 52 "/usr/include/locale.h" 3 4 >struct lconv >{ > > > char *decimal_point; > char *thousands_sep; > > > > > > char *grouping; > > > > > > char *int_curr_symbol; > char *currency_symbol; > char *mon_decimal_point; > char *mon_thousands_sep; > char *mon_grouping; > char *positive_sign; > char *negative_sign; > char int_frac_digits; > char frac_digits; > > char p_cs_precedes; > > char p_sep_by_space; > > char n_cs_precedes; > > char n_sep_by_space; > > > > > > > char p_sign_posn; > char n_sign_posn; > > > char int_p_cs_precedes; > > char int_p_sep_by_space; > > char int_n_cs_precedes; > > char int_n_sep_by_space; > > > > > > > char int_p_sign_posn; > char int_n_sign_posn; ># 119 "/usr/include/locale.h" 3 4 >}; > > > > > >extern char *setlocale (int __category, __const char *__locale) ; > > >extern struct lconv *localeconv (void) ; ># 148 "/usr/include/locale.h" 3 4 >typedef __locale_t locale_t; > > > > > >extern __locale_t newlocale (int __category_mask, __const char *__locale, > __locale_t __base) ; ># 189 "/usr/include/locale.h" 3 4 >extern __locale_t duplocale (__locale_t __dataset) ; > > > >extern void freelocale (__locale_t __dataset) ; > > > > > > >extern __locale_t uselocale (__locale_t __dataset) ; ># 103 "/usr/include/libintl.h" 2 3 4 ># 120 "/usr/include/libintl.h" 3 4 ># 136 "sysdep.h" 2 ># 42 "coffgen.c" 2 ># 1 "libbfd.h" 1 ># 49 "libbfd.h" >struct bfd_in_memory >{ > > bfd_size_type size; > > bfd_byte *buffer; >}; > > > > >struct artdata { > file_ptr first_file_filepos; > > struct ar_cache *cache; > bfd *archive_head; > carsym *symdefs; > symindex symdef_count; > char *extended_names; > > long armap_timestamp; > > > > > > file_ptr armap_datepos; > > void *tdata; >}; > > > > >struct areltdata { > char * arch_header; > unsigned int parsed_size; > char *filename; >}; > > > >extern void *bfd_malloc > (bfd_size_type); >extern void *bfd_realloc > (void *, bfd_size_type); >extern void *bfd_zmalloc > (bfd_size_type); > >extern bfd_error_handler_type _bfd_error_handler; > > > >extern void *bfd_alloc > (bfd *, bfd_size_type); >extern void *bfd_zalloc > (bfd *, bfd_size_type); >extern void bfd_release > (bfd *, void *); > >bfd * _bfd_create_empty_archive_element_shell > (bfd *obfd); >bfd * _bfd_look_for_bfd_in_cache > (bfd *, file_ptr); >bfd_boolean _bfd_add_bfd_to_archive_cache > (bfd *, file_ptr, bfd *); >bfd_boolean _bfd_generic_mkarchive > (bfd *abfd); >const bfd_target *bfd_generic_archive_p > (bfd *abfd); >bfd_boolean bfd_slurp_armap > (bfd *abfd); >bfd_boolean bfd_slurp_bsd_armap_f2 > (bfd *abfd); > > >bfd_boolean _bfd_slurp_extended_name_table > (bfd *abfd); >extern bfd_boolean _bfd_construct_extended_name_table > (bfd *, bfd_boolean, char **, bfd_size_type *); >bfd_boolean _bfd_write_archive_contents > (bfd *abfd); >bfd_boolean _bfd_compute_and_write_armap > (bfd *, unsigned int elength); >bfd *_bfd_get_elt_at_filepos > (bfd *archive, file_ptr filepos); >extern bfd *_bfd_generic_get_elt_at_index > (bfd *, symindex); >bfd * _bfd_new_bfd > (void); >void _bfd_delete_bfd > (bfd *); > >bfd_boolean bfd_false > (bfd *ignore); >bfd_boolean bfd_true > (bfd *ignore); >void *bfd_nullvoidptr > (bfd *ignore); >int bfd_0 > (bfd *ignore); >unsigned int bfd_0u > (bfd *ignore); >long bfd_0l > (bfd *ignore); >long _bfd_n1 > (bfd *ignore); >void bfd_void > (bfd *ignore); > >bfd *_bfd_new_bfd_contained_in > (bfd *); >const bfd_target *_bfd_dummy_target > (bfd *abfd); > >void bfd_dont_truncate_arname > (bfd *abfd, const char *filename, char *hdr); >void bfd_bsd_truncate_arname > (bfd *abfd, const char *filename, char *hdr); >void bfd_gnu_truncate_arname > (bfd *abfd, const char *filename, char *hdr); > >bfd_boolean bsd_write_armap > (bfd *arch, unsigned int elength, struct orl *map, unsigned int orl_count, > int stridx); > >bfd_boolean coff_write_armap > (bfd *arch, unsigned int elength, struct orl *map, unsigned int orl_count, > int stridx); > >extern void *_bfd_generic_read_ar_hdr > (bfd *); > >extern void *_bfd_generic_read_ar_hdr_mag > (bfd *, const char *); > >bfd * bfd_generic_openr_next_archived_file > (bfd *archive, bfd *last_file); > >int bfd_generic_stat_arch_elt > (bfd *, struct stat *); ># 201 "libbfd.h" >extern bfd_boolean _bfd_generic_get_section_contents > (bfd *, asection *, void *, file_ptr, bfd_size_type); >extern bfd_boolean _bfd_generic_get_section_contents_in_window > (bfd *, asection *, bfd_window *, file_ptr, bfd_size_type); ># 225 "libbfd.h" >extern char *_bfd_nocore_core_file_failing_command > (bfd *); >extern int _bfd_nocore_core_file_failing_signal > (bfd *); >extern bfd_boolean _bfd_nocore_core_file_matches_executable_p > (bfd *, bfd *); ># 259 "libbfd.h" >extern bfd_boolean _bfd_archive_bsd_construct_extended_name_table > (bfd *, char **, bfd_size_type *, const char **); ># 269 "libbfd.h" >extern bfd_boolean _bfd_archive_bsd_update_armap_timestamp > (bfd *); > > > > > > > >extern bfd_boolean _bfd_archive_coff_construct_extended_name_table > (bfd *, char **, bfd_size_type *, const char **); ># 341 "libbfd.h" >extern bfd_boolean _bfd_generic_set_section_contents > (bfd *, asection *, void *, file_ptr, bfd_size_type); ># 391 "libbfd.h" >extern bfd_boolean bfd_generic_is_local_label_name > (bfd *, const char *); > > >extern long _bfd_generic_read_minisymbols > (bfd *, bfd_boolean, void **, unsigned int *); >extern asymbol *_bfd_generic_minisymbol_to_symbol > (bfd *, bfd_boolean, const void *, asymbol *); > > >extern bfd_boolean _bfd_stab_section_find_nearest_line > (bfd *, asymbol **, asection *, bfd_vma, bfd_boolean *, > const char **, const char **, unsigned int *, void **); > > >extern bfd_boolean _bfd_dwarf1_find_nearest_line > (bfd *, asection *, asymbol **, bfd_vma, const char **, > const char **, unsigned int *); > > >extern bfd_boolean _bfd_dwarf2_find_nearest_line > (bfd *, asection *, asymbol **, bfd_vma, const char **, const char **, > unsigned int *, unsigned int, void **); > > >extern struct bfd_hash_entry *bfd_section_hash_newfunc > (struct bfd_hash_entry *, struct bfd_hash_table *, const char *); > > >extern struct bfd_hash_entry *_bfd_link_hash_newfunc > (struct bfd_hash_entry *entry, struct bfd_hash_table *table, > const char *string); > > >extern bfd_boolean _bfd_link_hash_table_init > (struct bfd_link_hash_table *, bfd *, > struct bfd_hash_entry *(*) (struct bfd_hash_entry *, > struct bfd_hash_table *, > const char *)); > > >extern struct bfd_link_hash_table *_bfd_generic_link_hash_table_create > (bfd *); > > >extern void _bfd_generic_link_hash_table_free > (struct bfd_link_hash_table *); > > >extern bfd_boolean _bfd_generic_link_add_symbols > (bfd *, struct bfd_link_info *); > > > > >extern bfd_boolean _bfd_generic_link_add_symbols_collect > (bfd *, struct bfd_link_info *); > > >extern bfd_boolean _bfd_generic_link_add_archive_symbols > (bfd *, struct bfd_link_info *, > bfd_boolean (*) (bfd *, struct bfd_link_info *, bfd_boolean *)); > > >typedef struct bfd_link_hash_entry _bfd_link_hash_entry; > > >extern bfd_boolean _bfd_generic_link_add_one_symbol > (struct bfd_link_info *, bfd *, const char *name, flagword, > asection *, bfd_vma, const char *, bfd_boolean copy, > bfd_boolean constructor, struct bfd_link_hash_entry **); > > >extern void _bfd_generic_link_just_syms > (asection *, struct bfd_link_info *); > > >extern bfd_boolean _bfd_generic_final_link > (bfd *, struct bfd_link_info *); > >extern bfd_boolean _bfd_generic_link_split_section > (bfd *, struct bfd_section *); > > >extern bfd_boolean _bfd_generic_reloc_link_order > (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *); > > >extern bfd_boolean _bfd_default_link_order > (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *); > > >extern unsigned int _bfd_count_link_order_relocs > (struct bfd_link_order *); > > >extern bfd_reloc_status_type _bfd_final_link_relocate > (reloc_howto_type *, bfd *, asection *, bfd_byte *, > bfd_vma, bfd_vma, bfd_vma); > > >extern bfd_reloc_status_type _bfd_relocate_contents > (reloc_howto_type *, bfd *, bfd_vma, bfd_byte *); > > > >extern bfd_boolean _bfd_link_section_stabs > (bfd *, void **, asection *, asection *, void **, bfd_size_type *); > > >extern bfd_boolean _bfd_discard_section_stabs > (bfd *, asection *, void *, bfd_boolean (*) (bfd_vma, void *), void *); > > > >extern bfd_boolean _bfd_write_section_stabs > (bfd *, void **, asection *, void **, bfd_byte *); > > > >extern bfd_boolean _bfd_write_stab_strings > (bfd *, void **); > > > > >extern bfd_vma _bfd_stab_section_offset > (bfd *, void **, asection *, void **, bfd_vma); > > > >extern bfd_boolean _bfd_merge_section > (bfd *, void **, asection *, void **); > > > >extern bfd_boolean _bfd_merge_sections > (bfd *, void *, void (*) (bfd *, asection *)); > > > >extern bfd_boolean _bfd_write_merged_section > (bfd *, asection *, void *); > > > >extern bfd_vma _bfd_merged_section_offset > (bfd *, asection **, void *, bfd_vma, bfd_vma); > > >extern struct bfd_strtab_hash *_bfd_stringtab_init > (void); > > >extern struct bfd_strtab_hash *_bfd_xcoff_stringtab_init > (void); > > >extern void _bfd_stringtab_free > (struct bfd_strtab_hash *); > > >extern bfd_size_type _bfd_stringtab_size > (struct bfd_strtab_hash *); > > >extern bfd_size_type _bfd_stringtab_add > (struct bfd_strtab_hash *, const char *, bfd_boolean hash, bfd_boolean copy); > > >extern bfd_boolean _bfd_stringtab_emit > (bfd *, struct bfd_strtab_hash *); > > >extern bfd_boolean _bfd_generic_verify_endian_match > (bfd *, bfd *); ># 582 "libbfd.h" >void bfd_assert > (const char*,int); > > > > > > > >extern void _bfd_abort > (const char *, int, const char *) __attribute__ ((__noreturn__)); ># 602 "libbfd.h" >FILE * bfd_cache_lookup_worker > (bfd *); > >extern bfd *bfd_last_cache; > > > >extern const bfd_target * const *bfd_target_vector; >extern const bfd_target *bfd_default_vector[]; > > >extern const bfd_target * const *bfd_associated_vector; > > > > > >struct ecoff_find_line; > > >extern bfd_boolean _bfd_ecoff_locate_line > (bfd *, asection *, bfd_vma, struct ecoff_debug_info * const, > const struct ecoff_debug_swap * const, struct ecoff_find_line *, > const char **, const char **, unsigned int *); >extern bfd_boolean _bfd_ecoff_get_accumulated_pdr > (void *, bfd_byte *); >extern bfd_boolean _bfd_ecoff_get_accumulated_sym > (void *, bfd_byte *); >extern bfd_boolean _bfd_ecoff_get_accumulated_ss > (void *, bfd_byte *); > >extern bfd_vma _bfd_get_gp_value > (bfd *); >extern void _bfd_set_gp_value > (bfd *, bfd_vma); > > > > > >extern bfd_boolean _bfd_sh_align_load_span > (bfd *, asection *, bfd_byte *, > bfd_boolean (*) (bfd *, asection *, void *, bfd_byte *, bfd_vma), > void *, bfd_vma **, bfd_vma *, bfd_vma, bfd_vma, bfd_boolean *); > > > >bfd_boolean bfd_write_bigendian_4byte_int (bfd *, unsigned int); > >unsigned int bfd_log2 (bfd_vma x); > > > >struct _bfd_window_internal { > struct _bfd_window_internal *next; > void *data; > bfd_size_type size; > int refcount : 31; > unsigned mapped : 1; >}; > > >extern bfd *bfd_last_cache; > > > > > >bfd_boolean bfd_cache_init (bfd *abfd); > >bfd_boolean bfd_cache_close (bfd *abfd); > >FILE* bfd_open_file (bfd *abfd); > >FILE *bfd_cache_lookup_worker (bfd *abfd); ># 1489 "libbfd.h" >reloc_howto_type *bfd_default_reloc_type_lookup > (bfd *abfd, bfd_reloc_code_real_type code); > >bfd_boolean bfd_generic_relax_section > (bfd *abfd, > asection *section, > struct bfd_link_info *, > bfd_boolean *); > >bfd_boolean bfd_generic_gc_sections > (bfd *, struct bfd_link_info *); > >bfd_boolean bfd_generic_merge_sections > (bfd *, struct bfd_link_info *); > >bfd_byte *bfd_generic_get_relocated_section_contents > (bfd *abfd, > struct bfd_link_info *link_info, > struct bfd_link_order *link_order, > bfd_byte *data, > bfd_boolean relocatable, > asymbol **symbols); > > >extern const bfd_arch_info_type bfd_default_arch_struct; >bfd_boolean bfd_default_set_arch_mach > (bfd *abfd, enum bfd_architecture arch, unsigned long mach); > >const bfd_arch_info_type *bfd_default_compatible > (const bfd_arch_info_type *a, const bfd_arch_info_type *b); > >bfd_boolean bfd_default_scan > (const struct bfd_arch_info *info, const char *string); > > >struct elf_internal_shdr *bfd_elf_find_section (bfd *abfd, char *name); ># 43 "coffgen.c" 2 ># 1 "../include/coff/internal.h" 1 ># 34 "../include/coff/internal.h" >struct internal_extra_pe_filehdr >{ > > unsigned short e_magic; > unsigned short e_cblp; > unsigned short e_cp; > unsigned short e_crlc; > unsigned short e_cparhdr; > unsigned short e_minalloc; > unsigned short e_maxalloc; > unsigned short e_ss; > unsigned short e_sp; > unsigned short e_csum; > unsigned short e_ip; > unsigned short e_cs; > unsigned short e_lfarlc; > unsigned short e_ovno; > unsigned short e_res[4]; > unsigned short e_oemid; > unsigned short e_oeminfo; > unsigned short e_res2[10]; > bfd_vma e_lfanew; > unsigned long dos_message[16]; > bfd_vma nt_signature; >}; > >struct internal_filehdr >{ > struct internal_extra_pe_filehdr pe; > > > unsigned short f_magic; > unsigned short f_nscns; > long f_timdat; > bfd_vma f_symptr; > long f_nsyms; > unsigned short f_opthdr; > unsigned short f_flags; > unsigned short f_target_id; >}; ># 100 "../include/coff/internal.h" >typedef struct _IMAGE_DATA_DIRECTORY >{ > bfd_vma VirtualAddress; > long Size; >} IMAGE_DATA_DIRECTORY; ># 122 "../include/coff/internal.h" >struct internal_extra_pe_aouthdr >{ > > bfd_vma ImageBase; > > > bfd_vma SectionAlignment; > bfd_vma FileAlignment; > short MajorOperatingSystemVersion; > short MinorOperatingSystemVersion; > short MajorImageVersion; > short MinorImageVersion; > short MajorSubsystemVersion; > short MinorSubsystemVersion; > long Reserved1; > long SizeOfImage; > long SizeOfHeaders; > long CheckSum; > short Subsystem; ># 149 "../include/coff/internal.h" > short DllCharacteristics; > bfd_vma SizeOfStackReserve; > bfd_vma SizeOfStackCommit; > > bfd_vma SizeOfHeapReserve; > bfd_vma SizeOfHeapCommit; > long LoaderFlags; > long NumberOfRvaAndSizes; > IMAGE_DATA_DIRECTORY DataDirectory[16]; >}; > > >struct internal_aouthdr >{ > short magic; > short vstamp; > bfd_vma tsize; > bfd_vma dsize; > bfd_vma bsize; > bfd_vma entry; > bfd_vma text_start; > bfd_vma data_start; > > > unsigned long tagentries; > > > bfd_vma o_toc; > short o_snentry; > short o_sntext; > short o_sndata; > short o_sntoc; > short o_snloader; > short o_snbss; > short o_algntext; > short o_algndata; > short o_modtype; > short o_cputype; > bfd_vma o_maxstack; > bfd_vma o_maxdata; > > > bfd_vma bss_start; > bfd_vma gp_value; > unsigned long gprmask; > unsigned long cprmask[4]; > unsigned long fprmask; > > > long o_inlib; > long o_sri; > long vid[2]; > > struct internal_extra_pe_aouthdr pe; >}; ># 300 "../include/coff/internal.h" >struct internal_scnhdr >{ > char s_name[(8)]; > > > > > > bfd_vma s_paddr; > > bfd_vma s_vaddr; > bfd_vma s_size; > bfd_vma s_scnptr; > bfd_vma s_relptr; > bfd_vma s_lnnoptr; > unsigned long s_nreloc; > unsigned long s_nlnno; > long s_flags; > long s_align; > unsigned char s_page; >}; ># 356 "../include/coff/internal.h" >struct internal_lineno >{ > union > { > bfd_signed_vma l_symndx; > bfd_signed_vma l_paddr; > } l_addr; > unsigned long l_lnno; >}; > > > > > > > >struct internal_syment >{ > union > { > char _n_name[8]; > struct > { > long _n_zeroes; > long _n_offset; > } _n_n; > char *_n_nptr[2]; > } _n; > bfd_vma n_value; > short n_scnum; > unsigned short n_flags; > unsigned short n_type; > unsigned char n_sclass; > unsigned char n_numaux; >}; ># 446 "../include/coff/internal.h" >union internal_auxent >{ > struct > { > > union > { > long l; > struct coff_ptr_struct *p; > } x_tagndx; > > union > { > struct > { > unsigned short x_lnno; > unsigned short x_size; > } x_lnsz; > long x_fsize; > } x_misc; > > union > { > struct > { > bfd_signed_vma x_lnnoptr; > union > { > long l; > struct coff_ptr_struct *p; > } x_endndx; > } x_fcn; > > struct > { > unsigned short x_dimen[4]; > } x_ary; > } x_fcnary; > > unsigned short x_tvndx; > } x_sym; > > union > { > char x_fname[14]; > struct > { > long x_zeroes; > long x_offset; > } x_n; > } x_file; > > struct > { > long x_scnlen; > unsigned short x_nreloc; > unsigned short x_nlinno; > unsigned long x_checksum; > unsigned short x_associated; > unsigned char x_comdat; > } x_scn; > > struct > { > long x_tvfill; > unsigned short x_tvlen; > unsigned short x_tvran[2]; > } x_tv; > > > > > struct > { > union > { > bfd_signed_vma l; > struct coff_ptr_struct *p; > } x_scnlen; > long x_parmhash; > unsigned short x_snhash; > unsigned char x_smtyp; > > > unsigned char x_smclas; > long x_stab; > unsigned short x_snstab; > } x_csect; ># 570 "../include/coff/internal.h" > struct > { > > > long x_stindx; > } x_sc; > > struct > { > unsigned long x_balntry; > } x_bal; > > struct > { > unsigned long x_timestamp; > char x_idstring[20]; > } x_ident; > >}; > > > >struct internal_reloc >{ > bfd_vma r_vaddr; > long r_symndx; > unsigned short r_type; > unsigned char r_size; > unsigned char r_extern; > unsigned long r_offset; >}; ># 44 "coffgen.c" 2 ># 1 "libcoff.h" 1 ># 27 "libcoff.h" ># 1 "../include/bfdlink.h" 1 ># 26 "../include/bfdlink.h" >enum bfd_link_strip >{ > strip_none, > strip_debugger, > strip_some, > strip_all >}; > > > >enum bfd_link_discard >{ > discard_sec_merge, > > discard_none, > discard_l, > discard_all >}; > > > > >enum bfd_link_hash_table_type > { > bfd_link_generic_hash_table, > bfd_link_elf_hash_table > }; > > > > >enum bfd_link_hash_type >{ > bfd_link_hash_new, > bfd_link_hash_undefined, > bfd_link_hash_undefweak, > bfd_link_hash_defined, > bfd_link_hash_defweak, > bfd_link_hash_common, > bfd_link_hash_indirect, > bfd_link_hash_warning >}; > >enum bfd_link_common_skip_ar_aymbols >{ > bfd_link_common_skip_none, > bfd_link_common_skip_text, > bfd_link_common_skip_data, > bfd_link_common_skip_all >}; > > > > >struct bfd_link_hash_entry >{ > > struct bfd_hash_entry root; > > enum bfd_link_hash_type type; ># 105 "../include/bfdlink.h" > struct bfd_link_hash_entry *next; > > union > { > > > struct > { > bfd *abfd; > } undef; > > struct > { > bfd_vma value; > asection *section; > } def; > > struct > { > struct bfd_link_hash_entry *link; > const char *warning; > } i; > > struct > { ># 139 "../include/bfdlink.h" > bfd_size_type size; > struct bfd_link_hash_common_entry > { > unsigned int alignment_power; > asection *section; > } *p; > } c; > } u; >}; > > > > >struct bfd_link_hash_table >{ > > struct bfd_hash_table table; > > > > > const bfd_target *creator; > > > struct bfd_link_hash_entry *undefs; > > struct bfd_link_hash_entry *undefs_tail; > > enum bfd_link_hash_table_type type; >}; > > > > >extern struct bfd_link_hash_entry *bfd_link_hash_lookup > (struct bfd_link_hash_table *, const char *, bfd_boolean create, > bfd_boolean copy, bfd_boolean follow); > > > > > >extern struct bfd_link_hash_entry *bfd_wrapped_link_hash_lookup > (bfd *, struct bfd_link_info *, const char *, bfd_boolean, > bfd_boolean, bfd_boolean); > > >extern void bfd_link_hash_traverse > (struct bfd_link_hash_table *, > bfd_boolean (*) (struct bfd_link_hash_entry *, void *), > void *); > > >extern void bfd_link_add_undef > (struct bfd_link_hash_table *, struct bfd_link_hash_entry *); > >struct bfd_sym_chain >{ > struct bfd_sym_chain *next; > const char *name; >}; > > > >enum report_method >{ > > > > RM_NOT_YET_SET = 0, > RM_IGNORE, > RM_GENERATE_WARNING, > RM_GENERATE_ERROR >}; > > > > >struct bfd_link_info >{ > > unsigned int relocatable: 1; > > > > unsigned int emitrelocations: 1; > > > > > unsigned int task_link: 1; > > > unsigned int shared: 1; > > > unsigned int symbolic: 1; > > > > unsigned int export_dynamic: 1; > > > unsigned int static_link: 1; > > > > > > unsigned int traditional_format: 1; > > > > unsigned int optimize: 1; > > > unsigned int allow_multiple_definition: 1; > > > unsigned int allow_undefined_version: 1; > > > > unsigned int keep_memory: 1; > > > > unsigned int notice_all: 1; > > > > unsigned int nocopyreloc: 1; > > > unsigned int new_dtags: 1; > > > > unsigned int combreloc: 1; > > > > unsigned int eh_frame_hdr: 1; > > > unsigned int strip_discarded: 1; > > > unsigned int relax_finalizing: 1; > > > unsigned int pie: 1; > > > unsigned int executable : 1; > > > > unsigned int execstack: 1; > > > > unsigned int noexecstack: 1; > > > > > > > enum report_method unresolved_syms_in_objects; > > > > enum report_method unresolved_syms_in_shared_libs; > > > enum bfd_link_strip strip; > > > enum bfd_link_discard discard; > > > > enum bfd_link_common_skip_ar_aymbols common_skip_ar_aymbols; > > > const struct bfd_link_callbacks *callbacks; > > > struct bfd_link_hash_table *hash; > > > > struct bfd_hash_table *keep_hash; > > > > > struct bfd_hash_table *notice_hash; > > > > struct bfd_hash_table *wrap_hash; > > > > bfd *input_bfds; > > > > > > > asection *create_object_symbols_section; > > > > struct bfd_sym_chain *gc_sym_list; > > > void *base_file; > > > > const char *init_function; > > > > const char *fini_function; > > > > > int mpc860c0; > > > > > int pei386_auto_import; > > > > > int pei386_runtime_pseudo_reloc; > > > unsigned int spare_dynamic_tags; > > > bfd_vma flags; > > > bfd_vma flags_1; >}; ># 401 "../include/bfdlink.h" >struct bfd_link_callbacks >{ > > > > > bfd_boolean (*add_archive_element) > (struct bfd_link_info *, bfd *abfd, const char *name); > > > > > > > bfd_boolean (*multiple_definition) > (struct bfd_link_info *, const char *name, > bfd *obfd, asection *osec, bfd_vma oval, > bfd *nbfd, asection *nsec, bfd_vma nval); ># 430 "../include/bfdlink.h" > bfd_boolean (*multiple_common) > (struct bfd_link_info *, const char *name, > bfd *obfd, enum bfd_link_hash_type otype, bfd_vma osize, > bfd *nbfd, enum bfd_link_hash_type ntype, bfd_vma nsize); > > > > > > > bfd_boolean (*add_to_set) > (struct bfd_link_info *, struct bfd_link_hash_entry *entry, > bfd_reloc_code_real_type reloc, bfd *abfd, asection *sec, bfd_vma value); > > > > > > > bfd_boolean (*constructor) > (struct bfd_link_info *, bfd_boolean constructor, const char *name, > bfd *abfd, asection *sec, bfd_vma value); > > > > > > > > bfd_boolean (*warning) > (struct bfd_link_info *, const char *warning, const char *symbol, > bfd *abfd, asection *section, bfd_vma address); > > > > > > bfd_boolean (*undefined_symbol) > (struct bfd_link_info *, const char *name, bfd *abfd, > asection *section, bfd_vma address, bfd_boolean fatal); > > > > > > > > bfd_boolean (*reloc_overflow) > (struct bfd_link_info *, const char *name, const char *reloc_name, > bfd_vma addend, bfd *abfd, asection *section, bfd_vma address); > > > > > > > > bfd_boolean (*reloc_dangerous) > (struct bfd_link_info *, const char *message, > bfd *abfd, asection *section, bfd_vma address); > > > > > > > bfd_boolean (*unattached_reloc) > (struct bfd_link_info *, const char *name, > bfd *abfd, asection *section, bfd_vma address); > > > > > bfd_boolean (*notice) > (struct bfd_link_info *, const char *name, > bfd *abfd, asection *section, bfd_vma address); > > > > bfd_boolean (*error_handler) > (int id, const char *fmt, ...); > > > >}; > > > > > > >enum bfd_link_order_type >{ > bfd_undefined_link_order, > bfd_indirect_link_order, > bfd_data_link_order, > bfd_section_reloc_link_order, > bfd_symbol_reloc_link_order >}; > > > > >struct bfd_link_order >{ > > struct bfd_link_order *next; > > enum bfd_link_order_type type; > > bfd_vma offset; > > bfd_size_type size; > > union > { > struct > { > > > > > > > asection *section; > } indirect; > struct > { > > > > > unsigned int size; > > bfd_byte *contents; > } data; > struct > { > > > > struct bfd_link_order_reloc *p; > } reloc; > } u; >}; ># 588 "../include/bfdlink.h" >struct bfd_link_order_reloc >{ > > bfd_reloc_code_real_type reloc; > > union > { > > > > asection *section; > > > const char *name; > } u; > > > > > > > bfd_vma addend; >}; > > >extern struct bfd_link_order *bfd_new_link_order (bfd *, asection *); ># 622 "../include/bfdlink.h" >struct bfd_elf_version_expr >{ > > struct bfd_elf_version_expr *next; > > const char *pattern; > > const char *symbol; > > unsigned int symver : 1; > > unsigned int script : 1; > > > > > unsigned int mask : 3; >}; > >struct bfd_elf_version_expr_head >{ > > struct bfd_elf_version_expr *list; > > void *htab; > > struct bfd_elf_version_expr *remaining; > > unsigned int mask; >}; > > > >struct bfd_elf_version_deps >{ > > struct bfd_elf_version_deps *next; > > struct bfd_elf_version_tree *version_needed; >}; > > > >struct bfd_elf_version_tree >{ > > struct bfd_elf_version_tree *next; > > const char *name; > > unsigned int vernum; > > struct bfd_elf_version_expr_head globals; > > struct bfd_elf_version_expr_head locals; > > struct bfd_elf_version_deps *deps; > > unsigned int name_indx; > > int used; > > struct bfd_elf_version_expr *(*match) > (struct bfd_elf_version_expr_head *head, > struct bfd_elf_version_expr *prev, const char *sym); >}; ># 28 "libcoff.h" 2 ># 54 "libcoff.h" >typedef struct coff_tdata >{ > struct coff_symbol_struct *symbols; > unsigned int *conversion_table; > int conv_table_size; > file_ptr sym_filepos; > > struct coff_ptr_struct *raw_syments; > unsigned long raw_syment_count; > > > long int relocbase; > > > > > unsigned local_n_btmask; > unsigned local_n_btshft; > unsigned local_n_tmask; > unsigned local_n_tshift; > unsigned local_symesz; > unsigned local_auxesz; > unsigned local_linesz; > > > > void * external_syms; > > bfd_boolean keep_syms; > > > > char *strings; > > bfd_boolean keep_strings; > > bfd_boolean strings_written; > > > int pe; > > struct coff_link_hash_entry **sym_hashes; > > > int *local_toc_sym_map; > > struct bfd_link_info *link_info; > > > void * line_info; > > > void * dwarf2_find_line_info; > > > long timestamp; > > > > flagword flags; > >} coff_data_type; > > >typedef struct pe_tdata >{ > coff_data_type coff; > struct internal_extra_pe_aouthdr pe_opthdr; > int dll; > int has_reloc_section; > bfd_boolean (*in_reloc_p) (bfd *, reloc_howto_type *); > flagword real_flags; > int target_subsystem; > bfd_boolean force_minimum_alignment; >} pe_data_type; > > > > > >struct xcoff_tdata >{ > > coff_data_type coff; > > > bfd_boolean xcoff64; > > > bfd_boolean full_aouthdr; > > > bfd_vma toc; > > > int sntoc; > > > int snentry; > > > int text_align_power; > > > int data_align_power; > > > short modtype; > > > short cputype; > > > bfd_vma maxdata; > > > bfd_vma maxstack; > > > asection **csects; > unsigned long *debug_indices; > unsigned int import_file_id; >}; ># 187 "libcoff.h" >struct coff_section_tdata >{ > > struct internal_reloc *relocs; > > bfd_boolean keep_relocs; > > bfd_byte *contents; > > bfd_boolean keep_contents; > > bfd_vma offset; > unsigned int i; > const char *function; > int line_base; > > void * stab_info; > > void * tdata; >}; > > > > > > > >struct xcoff_section_tdata >{ > > > asection *enclosing; > > > unsigned int lineno_count; > > > unsigned long first_symndx; > unsigned long last_symndx; >}; > > > > > > > >struct pei_section_tdata >{ > > bfd_size_type virt_size; > > long pe_flags; >}; > > > > > > > >struct coff_link_hash_entry >{ > struct bfd_link_hash_entry root; > > > > long indx; > > > unsigned short type; > > > unsigned char class; > > > char numaux; > > > bfd *auxbfd; > > > union internal_auxent *aux; > > > unsigned short coff_link_hash_flags; > > >}; > > > >struct coff_link_hash_table >{ > struct bfd_link_hash_table root; > > void * stab_info; >}; ># 306 "libcoff.h" >extern const bfd_target *coff_object_p > (bfd *); >extern struct bfd_section *coff_section_from_bfd_index > (bfd *, int); >extern long coff_get_symtab_upper_bound > (bfd *); >extern long coff_canonicalize_symtab > (bfd *, asymbol **); >extern int coff_count_linenumbers > (bfd *); >extern struct coff_symbol_struct *coff_symbol_from > (bfd *, asymbol *); >extern bfd_boolean coff_renumber_symbols > (bfd *, int *); >extern void coff_mangle_symbols > (bfd *); >extern bfd_boolean coff_write_symbols > (bfd *); >extern bfd_boolean coff_write_linenumbers > (bfd *); >extern alent *coff_get_lineno > (bfd *, asymbol *); >extern asymbol *coff_section_symbol > (bfd *, char *); >extern bfd_boolean _bfd_coff_get_external_symbols > (bfd *); >extern const char *_bfd_coff_read_string_table > (bfd *); >extern bfd_boolean _bfd_coff_free_symbols > (bfd *); >extern struct coff_ptr_struct *coff_get_normalized_symtab > (bfd *); >extern long coff_get_reloc_upper_bound > (bfd *, sec_ptr); >extern asymbol *coff_make_empty_symbol > (bfd *); >extern void coff_print_symbol > (bfd *, void * filep, asymbol *, bfd_print_symbol_type); >extern void coff_get_symbol_info > (bfd *, asymbol *, symbol_info *ret); >extern bfd_boolean _bfd_coff_is_local_label_name > (bfd *, const char *); >extern asymbol *coff_bfd_make_debug_symbol > (bfd *, void *, unsigned long); >extern bfd_boolean coff_find_nearest_line > (bfd *, asection *, asymbol **, bfd_vma, const char **, const char **, unsigned int *); > >extern int coff_sizeof_headers > (bfd *, bfd_boolean); >extern bfd_boolean bfd_coff_reloc16_relax_section > (bfd *, asection *, struct bfd_link_info *, bfd_boolean *); >extern bfd_byte *bfd_coff_reloc16_get_relocated_section_contents > (bfd *, struct bfd_link_info *, struct bfd_link_order *, bfd_byte *, bfd_boolean, asymbol **); > >extern bfd_vma bfd_coff_reloc16_get_value > (arelent *, struct bfd_link_info *, asection *); >extern void bfd_perform_slip > (bfd *, unsigned int, asection *, bfd_vma); ># 375 "libcoff.h" >struct coff_debug_merge_element >{ > > struct coff_debug_merge_element *next; > > > const char *name; > > > unsigned int type; > > > long tagndx; >}; > > > >struct coff_debug_merge_type >{ > > struct coff_debug_merge_type *next; > > > int class; > > > long indx; > > > struct coff_debug_merge_element *elements; >}; > > > >struct coff_debug_merge_hash_entry >{ > struct bfd_hash_entry root; > > > struct coff_debug_merge_type *types; >}; > > > >struct coff_debug_merge_hash_table >{ > struct bfd_hash_table root; >}; ># 443 "libcoff.h" >struct coff_link_section_info >{ > > struct internal_reloc *relocs; > > > struct coff_link_hash_entry **rel_hashes; >}; > > > >struct coff_final_link_info >{ > > struct bfd_link_info *info; > > bfd *output_bfd; > > bfd_boolean failed; > > > > bfd_boolean global_to_static; > > struct bfd_strtab_hash *strtab; > > > struct coff_link_section_info *section_info; > > long last_file_index; > > struct internal_syment last_file; > > > long last_bf_index; > > union internal_auxent last_bf; > > struct coff_debug_merge_hash_table debug_merge; > > struct internal_syment *internal_syms; > > asection **sec_ptrs; > > > long *sym_indices; > > bfd_byte *outsyms; > > > bfd_byte *linenos; > > bfd_byte *contents; > > bfd_byte *external_relocs; > > struct internal_reloc *internal_relocs; >}; > > > > > >struct coff_section_alignment_entry >{ > > const char *name; > > > > > unsigned int comparison_length; ># 524 "libcoff.h" > unsigned int default_alignment_min; > > > > > unsigned int default_alignment_max; > > > > > unsigned int alignment_power; >}; > >extern struct bfd_hash_entry *_bfd_coff_link_hash_newfunc > (struct bfd_hash_entry *, struct bfd_hash_table *, const char *); >extern bfd_boolean _bfd_coff_link_hash_table_init > (struct coff_link_hash_table *, bfd *, struct bfd_hash_entry *(*) (struct bfd_hash_entry *, struct bfd_hash_table *, const char *)); > > > >extern struct bfd_link_hash_table *_bfd_coff_link_hash_table_create > (bfd *); >extern const char *_bfd_coff_internal_syment_name > (bfd *, const struct internal_syment *, char *); >extern bfd_boolean _bfd_coff_link_add_symbols > (bfd *, struct bfd_link_info *); >extern bfd_boolean _bfd_coff_final_link > (bfd *, struct bfd_link_info *); >extern struct internal_reloc *_bfd_coff_read_internal_relocs > (bfd *, asection *, bfd_boolean, bfd_byte *, bfd_boolean, struct internal_reloc *); > >extern bfd_boolean _bfd_coff_generic_relocate_section > (bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *, struct internal_reloc *, struct internal_syment *, asection **); > > >extern struct bfd_hash_entry *_bfd_coff_debug_merge_hash_newfunc > (struct bfd_hash_entry *, struct bfd_hash_table *, const char *); >extern bfd_boolean _bfd_coff_write_global_sym > (struct coff_link_hash_entry *, void *); >extern bfd_boolean _bfd_coff_write_task_globals > (struct coff_link_hash_entry *, void *); >extern bfd_boolean _bfd_coff_link_input_bfd > (struct coff_final_link_info *, bfd *); >extern bfd_boolean _bfd_coff_reloc_link_order > (bfd *, struct coff_final_link_info *, asection *, struct bfd_link_order *); ># 577 "libcoff.h" >extern long _bfd_xcoff_get_dynamic_symtab_upper_bound > (bfd *); >extern long _bfd_xcoff_canonicalize_dynamic_symtab > (bfd *, asymbol **); >extern long _bfd_xcoff_get_dynamic_reloc_upper_bound > (bfd *); >extern long _bfd_xcoff_canonicalize_dynamic_reloc > (bfd *, arelent **, asymbol **); >extern struct bfd_link_hash_table *_bfd_xcoff_bfd_link_hash_table_create > (bfd *); >extern void _bfd_xcoff_bfd_link_hash_table_free > (struct bfd_link_hash_table *); >extern bfd_boolean _bfd_xcoff_bfd_link_add_symbols > (bfd *, struct bfd_link_info *); >extern bfd_boolean _bfd_xcoff_bfd_final_link > (bfd *, struct bfd_link_info *); >extern bfd_boolean _bfd_ppc_xcoff_relocate_section > (bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *, struct internal_reloc *, struct internal_syment *, asection **); > > > > > >extern bfd_boolean ppc_allocate_toc_section > (struct bfd_link_info *); >extern bfd_boolean ppc_process_before_allocation > (bfd *, struct bfd_link_info *); > > >typedef struct coff_ptr_struct >{ > > > unsigned int offset; > > > > unsigned int fix_value : 1; > > > > unsigned int fix_tag : 1; > > > > unsigned int fix_end : 1; > > > > unsigned int fix_scnlen : 1; > > > > unsigned int fix_line : 1; > > > > union > { > union internal_auxent auxent; > struct internal_syment syment; > } u; >} combined_entry_type; > > > > >typedef struct coff_symbol_struct >{ > > asymbol symbol; > > > combined_entry_type *native; > > > struct lineno_cache_entry *lineno; > > > bfd_boolean done_lineno; >} coff_symbol_type; > > >enum coff_symbol_classification >{ > > COFF_SYMBOL_GLOBAL, > > COFF_SYMBOL_COMMON, > > COFF_SYMBOL_UNDEFINED, > > COFF_SYMBOL_LOCAL, > > COFF_SYMBOL_PE_SECTION >}; > >typedef struct >{ > void (*_bfd_coff_swap_aux_in) > (bfd *, void *, int, int, int, int, void *); > > void (*_bfd_coff_swap_sym_in) > (bfd *, void *, void *); > > void (*_bfd_coff_swap_lineno_in) > (bfd *, void *, void *); > > unsigned int (*_bfd_coff_swap_aux_out) > (bfd *, void *, int, int, int, int, void *); > > unsigned int (*_bfd_coff_swap_sym_out) > (bfd *, void *, void *); > > unsigned int (*_bfd_coff_swap_lineno_out) > (bfd *, void *, void *); > > unsigned int (*_bfd_coff_swap_reloc_out) > (bfd *, void *, void *); > > unsigned int (*_bfd_coff_swap_filehdr_out) > (bfd *, void *, void *); > > unsigned int (*_bfd_coff_swap_aouthdr_out) > (bfd *, void *, void *); > > unsigned int (*_bfd_coff_swap_scnhdr_out) > (bfd *, void *, void *); > > unsigned int _bfd_filhsz; > unsigned int _bfd_aoutsz; > unsigned int _bfd_scnhsz; > unsigned int _bfd_symesz; > unsigned int _bfd_auxesz; > unsigned int _bfd_relsz; > unsigned int _bfd_linesz; > unsigned int _bfd_filnmlen; > bfd_boolean _bfd_coff_long_filenames; > bfd_boolean _bfd_coff_long_section_names; > unsigned int _bfd_coff_default_section_alignment_power; > bfd_boolean _bfd_coff_force_symnames_in_strings; > unsigned int _bfd_coff_debug_string_prefix_length; > > void (*_bfd_coff_swap_filehdr_in) > (bfd *, void *, void *); > > void (*_bfd_coff_swap_aouthdr_in) > (bfd *, void *, void *); > > void (*_bfd_coff_swap_scnhdr_in) > (bfd *, void *, void *); > > void (*_bfd_coff_swap_reloc_in) > (bfd *abfd, void *, void *); > > bfd_boolean (*_bfd_coff_bad_format_hook) > (bfd *, void *); > > bfd_boolean (*_bfd_coff_set_arch_mach_hook) > (bfd *, void *); > > void * (*_bfd_coff_mkobject_hook) > (bfd *, void *, void *); > > bfd_boolean (*_bfd_styp_to_sec_flags_hook) > (bfd *, void *, const char *, asection *, flagword *); > > void (*_bfd_set_alignment_hook) > (bfd *, asection *, void *); > > bfd_boolean (*_bfd_coff_slurp_symbol_table) > (bfd *); > > bfd_boolean (*_bfd_coff_symname_in_debug) > (bfd *, struct internal_syment *); > > bfd_boolean (*_bfd_coff_pointerize_aux_hook) > (bfd *, combined_entry_type *, combined_entry_type *, unsigned int, combined_entry_type *); > > > bfd_boolean (*_bfd_coff_print_aux) > (bfd *, FILE *, combined_entry_type *, combined_entry_type *, combined_entry_type *, unsigned int); > > > void (*_bfd_coff_reloc16_extra_cases) > (bfd *, struct bfd_link_info *, struct bfd_link_order *, arelent *, bfd_byte *, unsigned int *, unsigned int *); > > > int (*_bfd_coff_reloc16_estimate) > (bfd *, asection *, arelent *, unsigned int, struct bfd_link_info *); > > > enum coff_symbol_classification (*_bfd_coff_classify_symbol) > (bfd *, struct internal_syment *); > > bfd_boolean (*_bfd_coff_compute_section_file_positions) > (bfd *); > > bfd_boolean (*_bfd_coff_start_final_link) > (bfd *, struct bfd_link_info *); > > bfd_boolean (*_bfd_coff_relocate_section) > (bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *, struct internal_reloc *, struct internal_syment *, asection **); > > > reloc_howto_type *(*_bfd_coff_rtype_to_howto) > (bfd *, asection *, struct internal_reloc *, struct coff_link_hash_entry *, struct internal_syment *, bfd_vma *); > > > > bfd_boolean (*_bfd_coff_adjust_symndx) > (bfd *, struct bfd_link_info *, bfd *, asection *, struct internal_reloc *, bfd_boolean *); > > > bfd_boolean (*_bfd_coff_link_add_one_symbol) > (struct bfd_link_info *, bfd *, const char *, flagword, asection *, bfd_vma, const char *, bfd_boolean, bfd_boolean, struct bfd_link_hash_entry **); > > > > bfd_boolean (*_bfd_coff_link_output_has_begun) > (bfd *, struct coff_final_link_info *); > > bfd_boolean (*_bfd_coff_final_link_postscript) > (bfd *, struct coff_final_link_info *); > >} bfd_coff_backend_data; ># 45 "coffgen.c" 2 > >static void coff_fix_symbol_name > (bfd *, asymbol *, combined_entry_type *, bfd_size_type *, asection **, bfd_size_type *); > >static bfd_boolean coff_write_symbol > (bfd *, asymbol *, combined_entry_type *, bfd_vma *, bfd_size_type *, asection **, bfd_size_type *); > >static bfd_boolean coff_write_alien_symbol > (bfd *, asymbol *, bfd_vma *, bfd_size_type *, asection **, bfd_size_type *); > >static bfd_boolean coff_write_native_symbol > (bfd *, coff_symbol_type *, bfd_vma *, bfd_size_type *, asection **, bfd_size_type *); > >static void coff_pointerize_aux > (bfd *, combined_entry_type *, combined_entry_type *, unsigned int, combined_entry_type *); > >static bfd_boolean make_a_section_from_file > (bfd *, struct internal_scnhdr *, unsigned int); >static const bfd_target *coff_real_object_p > (bfd *, unsigned, struct internal_filehdr *, struct internal_aouthdr *); > >static void fixup_symbol_value > (bfd *, coff_symbol_type *, struct internal_syment *); >static char *build_debug_section > (bfd *); >static char *copy_name > (bfd *, char *, size_t); > > > > > >static bfd_boolean >make_a_section_from_file (abfd, hdr, target_index) > bfd *abfd; > struct internal_scnhdr *hdr; > unsigned int target_index; >{ > asection *return_section; > char *name; > bfd_boolean result = 1; > flagword flags; > > name = ((void *)0); > > > if ((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_long_section_names) > && hdr->s_name[0] == '/') > { > char buf[(8)]; > long strindex; > char *p; > const char *strings; > > memcpy (buf, hdr->s_name + 1, (8) - 1); > buf[(8) - 1] = '\0'; > strindex = strtol (buf, &p, 10); > if (*p == '\0' && strindex >= 0) > { > strings = _bfd_coff_read_string_table (abfd); > if (strings == ((void *)0)) > return 0; > > > > strings += strindex; > name = bfd_alloc (abfd, (bfd_size_type) strlen (strings) + 1); > if (name == ((void *)0)) > return 0; > strcpy (name, strings); > } > } > > if (name == ((void *)0)) > { > > name = bfd_alloc (abfd, (bfd_size_type) sizeof (hdr->s_name) + 1); > if (name == ((void *)0)) > return 0; > (__extension__ (__builtin_constant_p ((char *) &hdr->s_name[0]) && __builtin_constant_p (sizeof (hdr->s_name)) ? (strlen ((char *) &hdr->s_name[0]) + 1 >= ((size_t) (sizeof (hdr->s_name))) ? (char *) memcpy (name, (char *) &hdr->s_name[0], sizeof (hdr->s_name)) : strncpy (name, (char *) &hdr->s_name[0], sizeof (hdr->s_name))) : strncpy (name, (char *) &hdr->s_name[0], sizeof (hdr->s_name)))); > name[sizeof (hdr->s_name)] = 0; > } > > return_section = bfd_make_section_anyway (abfd, name); > if (return_section == ((void *)0)) > return 0; > > return_section->vma = hdr->s_vaddr; > return_section->lma = hdr->s_paddr; > return_section->_raw_size = hdr->s_size; > return_section->filepos = hdr->s_scnptr; > return_section->rel_filepos = hdr->s_relptr; > return_section->reloc_count = hdr->s_nreloc; > > ((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_set_alignment_hook) (abfd, return_section, hdr)); > > return_section->line_filepos = hdr->s_lnnoptr; > > return_section->lineno_count = hdr->s_nlnno; > return_section->userdata = ((void *)0); > return_section->next = (asection *) ((void *)0); > return_section->target_index = target_index; > > if (! ((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_styp_to_sec_flags_hook) (abfd, hdr, name, return_section, & flags))) > > result = 0; > > return_section->flags = flags; > > > > if ((return_section->flags & 0x800) != 0) > return_section->lineno_count = 0; > > if (hdr->s_nreloc != 0) > return_section->flags |= 0x004; > > if (hdr->s_scnptr != 0) > return_section->flags |= 0x200; > > return result; >} > > > > >static const bfd_target * >coff_real_object_p (abfd, nscns, internal_f, internal_a) > bfd *abfd; > unsigned nscns; > struct internal_filehdr *internal_f; > struct internal_aouthdr *internal_a; >{ > flagword oflags = abfd->flags; > bfd_vma ostart = ((abfd)->start_address); > void * tdata; > void * tdata_save; > bfd_size_type readsize; > unsigned int scnhsz; > char *external_sections; > > if (!(internal_f->f_flags & (0x0001))) > abfd->flags |= 0x01; > if ((internal_f->f_flags & (0x0002))) > abfd->flags |= 0x02; > if (!(internal_f->f_flags & (0x0004))) > abfd->flags |= 0x04; > if (!(internal_f->f_flags & (0x0008))) > abfd->flags |= 0x20; > > > if ((internal_f->f_flags & (0x0002)) != 0) > abfd->flags |= 0x100; > > ((abfd)->symcount) = internal_f->f_nsyms; > if (internal_f->f_nsyms) > abfd->flags |= 0x10; > > if (internal_a != (struct internal_aouthdr *) ((void *)0)) > ((abfd)->start_address) = internal_a->entry; > else > ((abfd)->start_address) = 0; > > > > tdata_save = abfd->tdata.any; > tdata = ((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_mkobject_hook) (abfd, (void *) internal_f, (void *) internal_a)); > if (tdata == ((void *)0)) > goto fail2; > > scnhsz = (((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_scnhsz); > readsize = (bfd_size_type) nscns * scnhsz; > external_sections = (char *) bfd_alloc (abfd, readsize); > if (!external_sections) > goto fail; > > if (bfd_bread ((void *) external_sections, readsize, abfd) != readsize) > goto fail; > > > > if (! ((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_set_arch_mach_hook) (abfd, (void *) internal_f))) > goto fail; > > > if (nscns != 0) > { > unsigned int i; > for (i = 0; i < nscns; i++) > { > struct internal_scnhdr tmp; > ((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_swap_scnhdr_in) (abfd, (void *) (external_sections + i * scnhsz), (void *) & tmp)); > > > if (! make_a_section_from_file (abfd, &tmp, i + 1)) > goto fail; > } > } > > return abfd->xvec; > > fail: > bfd_release (abfd, tdata); > fail2: > abfd->tdata.any = tdata_save; > abfd->flags = oflags; > ((abfd)->start_address) = ostart; > return (const bfd_target *) ((void *)0); >} > > > > >const bfd_target * >coff_object_p (abfd) > bfd *abfd; >{ > bfd_size_type filhsz; > bfd_size_type aoutsz; > unsigned int nscns; > void * filehdr; > struct internal_filehdr internal_f; > struct internal_aouthdr internal_a; > > > filhsz = (((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_filhsz); > aoutsz = (((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_aoutsz); > > filehdr = bfd_alloc (abfd, filhsz); > if (filehdr == ((void *)0)) > return ((void *)0); > if (bfd_bread (filehdr, filhsz, abfd) != filhsz) > { > if (bfd_get_error () != bfd_error_system_call) > bfd_set_error (bfd_error_wrong_format); > bfd_release (abfd, filehdr); > return ((void *)0); > } > ((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_swap_filehdr_in) (abfd, filehdr, &internal_f)); > bfd_release (abfd, filehdr); ># 294 "coffgen.c" > if (! ((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_bad_format_hook) (abfd, &internal_f)) > || internal_f.f_opthdr > aoutsz) > { > bfd_set_error (bfd_error_wrong_format); > return ((void *)0); > } > nscns = internal_f.f_nscns; > > if (internal_f.f_opthdr) > { > void * opthdr; > > opthdr = bfd_alloc (abfd, aoutsz); > if (opthdr == ((void *)0)) > return ((void *)0); > if (bfd_bread (opthdr, (bfd_size_type) internal_f.f_opthdr, abfd) > != internal_f.f_opthdr) > { > bfd_release (abfd, opthdr); > return ((void *)0); > } > ((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_swap_aouthdr_in) (abfd, opthdr, (void *) &internal_a)); > bfd_release (abfd, opthdr); > } > > return coff_real_object_p (abfd, nscns, &internal_f, > (internal_f.f_opthdr != 0 > ? &internal_a > : (struct internal_aouthdr *) ((void *)0))); >} > > > >asection * >coff_section_from_bfd_index (abfd, index) > bfd *abfd; > int index; >{ > struct bfd_section *answer = abfd->sections; > > if (index == ((short)-1)) > return ((asection *) &bfd_abs_section); > if (index == ((short)0)) > return ((asection *) &bfd_und_section); > if (index == ((short)-2)) > return ((asection *) &bfd_abs_section); > > while (answer) > { > if (answer->target_index == index) > return answer; > answer = answer->next; > } > > > > return ((asection *) &bfd_und_section); >} > > > >long >coff_get_symtab_upper_bound (abfd) > bfd *abfd; >{ > if (!((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_slurp_symbol_table) (abfd))) > return -1; > > return (((abfd)->symcount) + 1) * (sizeof (coff_symbol_type *)); >} > > > >long >coff_canonicalize_symtab (abfd, alocation) > bfd *abfd; > asymbol **alocation; >{ > unsigned int counter; > coff_symbol_type *symbase; > coff_symbol_type **location = (coff_symbol_type **) alocation; > > if (!((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_slurp_symbol_table) (abfd))) > return -1; > > symbase = (((abfd)->tdata.coff_obj_data)->symbols); > counter = ((abfd)->symcount); > while (counter-- > 0) > *location++ = symbase++; > > *location = ((void *)0); > > return ((abfd)->symcount); >} > > > > >const char * >_bfd_coff_internal_syment_name (abfd, sym, buf) > bfd *abfd; > const struct internal_syment *sym; > char *buf; >{ > > > if (sym->_n._n_n._n_zeroes != 0 > || sym->_n._n_n._n_offset == 0) > { > memcpy (buf, sym->_n._n_name, 8); > buf[8] = '\0'; > return buf; > } > else > { > const char *strings; > > { if (!(sym->_n._n_n._n_offset >= (4))) bfd_assert("coffgen.c",411); }; > strings = (((abfd)->tdata.coff_obj_data)->strings); > if (strings == ((void *)0)) > { > strings = _bfd_coff_read_string_table (abfd); > if (strings == ((void *)0)) > return ((void *)0); > } > return strings + sym->_n._n_n._n_offset; > } >} ># 432 "coffgen.c" >struct internal_reloc * >_bfd_coff_read_internal_relocs (abfd, sec, cache, external_relocs, > require_internal, internal_relocs) > bfd *abfd; > asection *sec; > bfd_boolean cache; > bfd_byte *external_relocs; > bfd_boolean require_internal; > struct internal_reloc *internal_relocs; >{ > bfd_size_type relsz; > bfd_byte *free_external = ((void *)0); > struct internal_reloc *free_internal = ((void *)0); > bfd_byte *erel; > bfd_byte *erel_end; > struct internal_reloc *irel; > bfd_size_type amt; > > if (((struct coff_section_tdata *) (sec)->used_by_bfd) != ((void *)0) > && ((struct coff_section_tdata *) (sec)->used_by_bfd)->relocs != ((void *)0)) > { > if (! require_internal) > return ((struct coff_section_tdata *) (sec)->used_by_bfd)->relocs; > memcpy (internal_relocs, ((struct coff_section_tdata *) (sec)->used_by_bfd)->relocs, > sec->reloc_count * sizeof (struct internal_reloc)); > return internal_relocs; > } > > relsz = (((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_relsz); > > amt = sec->reloc_count * relsz; > if (external_relocs == ((void *)0)) > { > free_external = (bfd_byte *) bfd_malloc (amt); > if (free_external == ((void *)0) && sec->reloc_count > 0) > goto error_return; > external_relocs = free_external; > } > > if (bfd_seek (abfd, sec->rel_filepos, 0) != 0 > || bfd_bread (external_relocs, amt, abfd) != amt) > goto error_return; > > if (internal_relocs == ((void *)0)) > { > amt = sec->reloc_count; > amt *= sizeof (struct internal_reloc); > free_internal = (struct internal_reloc *) bfd_malloc (amt); > if (free_internal == ((void *)0) && sec->reloc_count > 0) > goto error_return; > internal_relocs = free_internal; > } > > > erel = external_relocs; > erel_end = erel + relsz * sec->reloc_count; > irel = internal_relocs; > for (; erel < erel_end; erel += relsz, irel++) > ((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_swap_reloc_in) (abfd, (void *) erel, (void *) irel)); > > if (free_external != ((void *)0)) > { > free (free_external); > free_external = ((void *)0); > } > > if (cache && free_internal != ((void *)0)) > { > if (((struct coff_section_tdata *) (sec)->used_by_bfd) == ((void *)0)) > { > amt = sizeof (struct coff_section_tdata); > sec->used_by_bfd = (void *) bfd_zalloc (abfd, amt); > if (sec->used_by_bfd == ((void *)0)) > goto error_return; > ((struct coff_section_tdata *) (sec)->used_by_bfd)->contents = ((void *)0); > } > ((struct coff_section_tdata *) (sec)->used_by_bfd)->relocs = free_internal; > } > > return internal_relocs; > > error_return: > if (free_external != ((void *)0)) > free (free_external); > if (free_internal != ((void *)0)) > free (free_internal); > return ((void *)0); >} > > > >int >coff_count_linenumbers (abfd) > bfd *abfd; >{ > unsigned int limit = ((abfd)->symcount); > unsigned int i; > int total = 0; > asymbol **p; > asection *s; > > if (limit == 0) > { > > > for (s = abfd->sections; s != ((void *)0); s = s->next) > total += s->lineno_count; > return total; > } > > for (s = abfd->sections; s != ((void *)0); s = s->next) > { if (!(s->lineno_count == 0)) bfd_assert("coffgen.c",543); }; > > for (p = abfd->outsymbols, i = 0; i < limit; i++, p++) > { > asymbol *q_maybe = *p; > > if ((((((q_maybe)->the_bfd))->xvec->flavour) == bfd_target_coff_flavour || ((((q_maybe)->the_bfd))->xvec->flavour) == bfd_target_xcoff_flavour)) > { > coff_symbol_type *q = ((coff_symbol_type *)(&((q_maybe)->the_bfd))); > > > > > if (q->lineno != ((void *)0) > && q->symbol.section->owner != ((void *)0)) > { > > > alent *l = q->lineno; > > do > { > asection * sec = q->symbol.section->output_section; > > > if (! ( ((sec) == ((asection *) &bfd_abs_section)) || ((sec) == ((asection *) &bfd_und_section)) || ((sec) == ((asection *) &bfd_com_section)) || ((sec) == ((asection *) &bfd_ind_section)))) > sec->lineno_count ++; > > ++total; > ++l; > } > while (l->line_number != 0); > } > } > } > > return total; >} > > > > >coff_symbol_type * >coff_symbol_from (ignore_abfd, symbol) > bfd *ignore_abfd __attribute__ ((__unused__)); > asymbol *symbol; >{ > if (!(((((symbol)->the_bfd))->xvec->flavour) == bfd_target_coff_flavour || ((((symbol)->the_bfd))->xvec->flavour) == bfd_target_xcoff_flavour)) > return (coff_symbol_type *) ((void *)0); > > if (((symbol)->the_bfd)->tdata.coff_obj_data == (coff_data_type *) ((void *)0)) > return (coff_symbol_type *) ((void *)0); > > return (coff_symbol_type *) symbol; >} > >static void >fixup_symbol_value (abfd, coff_symbol_ptr, syment) > bfd *abfd; > coff_symbol_type *coff_symbol_ptr; > struct internal_syment *syment; >{ > > > if ((((coff_symbol_ptr->symbol.section)->flags & 0x8000) != 0)) > { > > syment->n_scnum = ((short)0); > syment->n_value = coff_symbol_ptr->symbol.value; > } > else if ((coff_symbol_ptr->symbol.flags & 0x08) != 0 > && (coff_symbol_ptr->symbol.flags & 0x20000) == 0) > { > syment->n_value = coff_symbol_ptr->symbol.value; > } > else if (((coff_symbol_ptr->symbol.section) == ((asection *) &bfd_und_section))) > { > syment->n_scnum = ((short)0); > syment->n_value = 0; > } > > else > { > if (coff_symbol_ptr->symbol.section) > { > syment->n_scnum = > coff_symbol_ptr->symbol.section->output_section->target_index; > > syment->n_value = (coff_symbol_ptr->symbol.value > + coff_symbol_ptr->symbol.section->output_offset); > if (! (((abfd)->tdata.coff_obj_data)->pe)) > { > syment->n_value += (syment->n_sclass == 20) > ? coff_symbol_ptr->symbol.section->output_section->lma > : coff_symbol_ptr->symbol.section->output_section->vma; > } > } > else > { > { if (!(0)) bfd_assert("coffgen.c",642); }; > > syment->n_scnum = ((short)-1); > syment->n_value = coff_symbol_ptr->symbol.value; > } > } >} ># 657 "coffgen.c" >bfd_boolean >coff_renumber_symbols (bfd_ptr, first_undef) > bfd *bfd_ptr; > int *first_undef; >{ > unsigned int symbol_count = ((bfd_ptr)->symcount); > asymbol **symbol_ptr_ptr = bfd_ptr->outsymbols; > unsigned int native_index = 0; > struct internal_syment *last_file = (struct internal_syment *) ((void *)0); > unsigned int symbol_index; ># 678 "coffgen.c" > { > asymbol **newsyms; > unsigned int i; > bfd_size_type amt; > > amt = sizeof (asymbol *) * ((bfd_size_type) symbol_count + 1); > newsyms = (asymbol **) bfd_alloc (bfd_ptr, amt); > if (!newsyms) > return 0; > bfd_ptr->outsymbols = newsyms; > for (i = 0; i < symbol_count; i++) > if ((symbol_ptr_ptr[i]->flags & 0x400) != 0 > || (!((symbol_ptr_ptr[i]->section) == ((asection *) &bfd_und_section)) > && !(((symbol_ptr_ptr[i]->section)->flags & 0x8000) != 0) > && ((symbol_ptr_ptr[i]->flags & 0x10) != 0 > || ((symbol_ptr_ptr[i]->flags & (0x02 | 0x80)) > == 0)))) > *newsyms++ = symbol_ptr_ptr[i]; > > for (i = 0; i < symbol_count; i++) > if ((symbol_ptr_ptr[i]->flags & 0x400) == 0 > && !((symbol_ptr_ptr[i]->section) == ((asection *) &bfd_und_section)) > && ((((symbol_ptr_ptr[i]->section)->flags & 0x8000) != 0) > || ((symbol_ptr_ptr[i]->flags & 0x10) == 0 > && ((symbol_ptr_ptr[i]->flags & (0x02 | 0x80)) > != 0)))) > *newsyms++ = symbol_ptr_ptr[i]; > > *first_undef = newsyms - bfd_ptr->outsymbols; > > for (i = 0; i < symbol_count; i++) > if ((symbol_ptr_ptr[i]->flags & 0x400) == 0 > && ((symbol_ptr_ptr[i]->section) == ((asection *) &bfd_und_section))) > *newsyms++ = symbol_ptr_ptr[i]; > *newsyms = (asymbol *) ((void *)0); > symbol_ptr_ptr = bfd_ptr->outsymbols; > } > > for (symbol_index = 0; symbol_index < symbol_count; symbol_index++) > { > coff_symbol_type *coff_symbol_ptr = coff_symbol_from (bfd_ptr, symbol_ptr_ptr[symbol_index]); > symbol_ptr_ptr[symbol_index]->udata.i = symbol_index; > if (coff_symbol_ptr && coff_symbol_ptr->native) > { > combined_entry_type *s = coff_symbol_ptr->native; > int i; > > if (s->u.syment.n_sclass == 103) > { > if (last_file != (struct internal_syment *) ((void *)0)) > last_file->n_value = native_index; > last_file = &(s->u.syment); > } > else > { > > > > > fixup_symbol_value (bfd_ptr, coff_symbol_ptr, &(s->u.syment)); > } > for (i = 0; i < s->u.syment.n_numaux + 1; i++) > s[i].offset = native_index++; > } > else > { > native_index++; > } > } > (((bfd_ptr)->tdata.coff_obj_data)->conv_table_size) = native_index; > > return 1; >} > > > > > >void >coff_mangle_symbols (bfd_ptr) > bfd *bfd_ptr; >{ > unsigned int symbol_count = ((bfd_ptr)->symcount); > asymbol **symbol_ptr_ptr = bfd_ptr->outsymbols; > unsigned int symbol_index; > > for (symbol_index = 0; symbol_index < symbol_count; symbol_index++) > { > coff_symbol_type *coff_symbol_ptr = > coff_symbol_from (bfd_ptr, symbol_ptr_ptr[symbol_index]); > > if (coff_symbol_ptr && coff_symbol_ptr->native) > { > int i; > combined_entry_type *s = coff_symbol_ptr->native; > > if (s->fix_value) > { > > s->u.syment.n_value = > (bfd_vma)((combined_entry_type *) > ((unsigned long) s->u.syment.n_value))->offset; > s->fix_value = 0; > } > if (s->fix_line) > { > > > > s->u.syment.n_value = > (coff_symbol_ptr->symbol.section->output_section->line_filepos > + s->u.syment.n_value * (((bfd_coff_backend_data *) (bfd_ptr)->xvec->backend_data)->_bfd_linesz)); > coff_symbol_ptr->symbol.section = > coff_section_from_bfd_index (bfd_ptr, ((short)-2)); > { if (!(coff_symbol_ptr->symbol.flags & 0x08)) bfd_assert("coffgen.c",792); }; > } > for (i = 0; i < s->u.syment.n_numaux; i++) > { > combined_entry_type *a = s + i + 1; > if (a->fix_tag) > { > a->u.auxent.x_sym.x_tagndx.l = > a->u.auxent.x_sym.x_tagndx.p->offset; > a->fix_tag = 0; > } > if (a->fix_end) > { > a->u.auxent.x_sym.x_fcnary.x_fcn.x_endndx.l = > a->u.auxent.x_sym.x_fcnary.x_fcn.x_endndx.p->offset; > a->fix_end = 0; > } > if (a->fix_scnlen) > { > a->u.auxent.x_csect.x_scnlen.l = > a->u.auxent.x_csect.x_scnlen.p->offset; > a->fix_scnlen = 0; > } > } > } > } >} > >static void >coff_fix_symbol_name (abfd, symbol, native, string_size_p, > debug_string_section_p, debug_string_size_p) > bfd *abfd; > asymbol *symbol; > combined_entry_type *native; > bfd_size_type *string_size_p; > asection **debug_string_section_p; > bfd_size_type *debug_string_size_p; >{ > unsigned int name_length; > union internal_auxent *auxent; > char *name = (char *) (symbol->name); > > if (name == (char *) ((void *)0)) > { > > symbol->name = "strange"; > name = (char *) symbol->name; > } > name_length = strlen (name); > > if (native->u.syment.n_sclass == 103 > && native->u.syment.n_numaux > 0) > { > unsigned int filnmlen; > > if ((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_force_symnames_in_strings)) > { > native->u.syment._n._n_n._n_offset = > (*string_size_p + (4)); > native->u.syment._n._n_n._n_zeroes = 0; > *string_size_p += 6; > } > else > (__extension__ (__builtin_constant_p (".file") && __builtin_constant_p (8) ? (strlen (".file") + 1 >= ((size_t) (8)) ? (char *) memcpy (native->u.syment._n._n_name, ".file", 8) : strncpy (native->u.syment._n._n_name, ".file", 8)) : strncpy (native->u.syment._n._n_name, ".file", 8))); > > auxent = &(native + 1)->u.auxent; > > filnmlen = (((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_filnmlen); > > if ((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_long_filenames)) > { > if (name_length <= filnmlen) > { > (__extension__ (__builtin_constant_p (name) && __builtin_constant_p (filnmlen) ? (strlen (name) + 1 >= ((size_t) (filnmlen)) ? (char *) memcpy (auxent->x_file.x_fname, name, filnmlen) : strncpy (auxent->x_file.x_fname, name, filnmlen)) : strncpy (auxent->x_file.x_fname, name, filnmlen))); > } > else > { > auxent->x_file.x_n.x_offset = *string_size_p + (4); > auxent->x_file.x_n.x_zeroes = 0; > *string_size_p += name_length + 1; > } > } > else > { > (__extension__ (__builtin_constant_p (name) && __builtin_constant_p (filnmlen) ? (strlen (name) + 1 >= ((size_t) (filnmlen)) ? (char *) memcpy (auxent->x_file.x_fname, name, filnmlen) : strncpy (auxent->x_file.x_fname, name, filnmlen)) : strncpy (auxent->x_file.x_fname, name, filnmlen))); > if (name_length > filnmlen) > name[filnmlen] = '\0'; > } > } > else > { > if (name_length <= 8 && !(((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_force_symnames_in_strings)) > { > > (__extension__ (__builtin_constant_p (symbol->name) && __builtin_constant_p (8) ? (strlen (symbol->name) + 1 >= ((size_t) (8)) ? (char *) memcpy (native->u.syment._n._n_name, symbol->name, 8) : strncpy (native->u.syment._n._n_name, symbol->name, 8)) : strncpy (native->u.syment._n._n_name, symbol->name, 8))); > } > else if (!((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_symname_in_debug) (abfd, &native->u.syment))) > { > native->u.syment._n._n_n._n_offset = (*string_size_p > + (4)); > native->u.syment._n._n_n._n_zeroes = 0; > *string_size_p += name_length + 1; > } > else > { > file_ptr filepos; > bfd_byte buf[4]; > int prefix_len = (((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_debug_string_prefix_length); > > > > > > > if (*debug_string_section_p == (asection *) ((void *)0)) > *debug_string_section_p = bfd_get_section_by_name (abfd, ".debug"); > filepos = bfd_tell (abfd); > if (prefix_len == 4) > ((*((abfd)->xvec->bfd_putx32)) (((bfd_vma) (name_length + 1)),(buf))); > else > ((*((abfd)->xvec->bfd_putx16)) (((bfd_vma) (name_length + 1)),(buf))); > > if (!bfd_set_section_contents (abfd, > *debug_string_section_p, > (void *) buf, > (file_ptr) *debug_string_size_p, > (bfd_size_type) prefix_len) > || !bfd_set_section_contents (abfd, > *debug_string_section_p, > (void *) symbol->name, > (file_ptr) (*debug_string_size_p > + prefix_len), > (bfd_size_type) name_length + 1)) > _bfd_abort ("coffgen.c", 925, __PRETTY_FUNCTION__); > if (bfd_seek (abfd, filepos, 0) != 0) > _bfd_abort ("coffgen.c", 927, __PRETTY_FUNCTION__); > native->u.syment._n._n_n._n_offset = > *debug_string_size_p + prefix_len; > native->u.syment._n._n_n._n_zeroes = 0; > *debug_string_size_p += name_length + 1 + prefix_len; > } > } >} ># 944 "coffgen.c" >static bfd_boolean >coff_write_symbol (abfd, symbol, native, written, string_size_p, > debug_string_section_p, debug_string_size_p) > bfd *abfd; > asymbol *symbol; > combined_entry_type *native; > bfd_vma *written; > bfd_size_type *string_size_p; > asection **debug_string_section_p; > bfd_size_type *debug_string_size_p; >{ > unsigned int numaux = native->u.syment.n_numaux; > int type = native->u.syment.n_type; > int class = native->u.syment.n_sclass; > void * buf; > bfd_size_type symesz; > > if (native->u.syment.n_sclass == 103) > symbol->flags |= 0x08; > > if (symbol->flags & 0x08 > && ((symbol->section) == ((asection *) &bfd_abs_section))) > { > native->u.syment.n_scnum = ((short)-2); > } > else if (((symbol->section) == ((asection *) &bfd_abs_section))) > { > native->u.syment.n_scnum = ((short)-1); > } > else if (((symbol->section) == ((asection *) &bfd_und_section))) > { > native->u.syment.n_scnum = ((short)0); > } > else > { > native->u.syment.n_scnum = > symbol->section->output_section->target_index; > } > > coff_fix_symbol_name (abfd, symbol, native, string_size_p, > debug_string_section_p, debug_string_size_p); > > symesz = (((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_symesz); > buf = bfd_alloc (abfd, symesz); > if (!buf) > return 0; > ((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_swap_sym_out) (abfd, &native->u.syment, buf)); > if (bfd_bwrite (buf, symesz, abfd) != symesz) > return 0; > bfd_release (abfd, buf); > > if (native->u.syment.n_numaux > 0) > { > bfd_size_type auxesz; > unsigned int j; > > auxesz = (((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_auxesz); > buf = bfd_alloc (abfd, auxesz); > if (!buf) > return 0; > for (j = 0; j < native->u.syment.n_numaux; j++) > { > ((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_swap_aux_out) (abfd,&((native + j + 1)->u.auxent),type,class,(int) j,native->u.syment.n_numaux,buf)); > > > > > > > if (bfd_bwrite (buf, auxesz, abfd) != auxesz) > return 0; > } > bfd_release (abfd, buf); > } > > > ((symbol)->udata.i = (*written)); > > *written += numaux + 1; > return 1; >} > > > > > >static bfd_boolean >coff_write_alien_symbol (abfd, symbol, written, string_size_p, > debug_string_section_p, debug_string_size_p) > bfd *abfd; > asymbol *symbol; > bfd_vma *written; > bfd_size_type *string_size_p; > asection **debug_string_section_p; > bfd_size_type *debug_string_size_p; >{ > combined_entry_type *native; > combined_entry_type dummy; > > native = &dummy; > native->u.syment.n_type = 0; > native->u.syment.n_flags = 0; > if (((symbol->section) == ((asection *) &bfd_und_section))) > { > native->u.syment.n_scnum = ((short)0); > native->u.syment.n_value = symbol->value; > } > else if ((((symbol->section)->flags & 0x8000) != 0)) > { > native->u.syment.n_scnum = ((short)0); > native->u.syment.n_value = symbol->value; > } > else if (symbol->flags & 0x08) > { > > > > > symbol->name = ""; > return 1; > } > else > { > native->u.syment.n_scnum = > symbol->section->output_section->target_index; > native->u.syment.n_value = (symbol->value > + symbol->section->output_offset); > if (! (((abfd)->tdata.coff_obj_data)->pe)) > native->u.syment.n_value += symbol->section->output_section->vma; > > > > { > coff_symbol_type *c = coff_symbol_from (abfd, symbol); > if (c != (coff_symbol_type *) ((void *)0)) > native->u.syment.n_flags = ((&c->symbol)->the_bfd)->flags; > } > } > > native->u.syment.n_type = 0; > if (symbol->flags & 0x01) > native->u.syment.n_sclass = 3; > else if (symbol->flags & 0x80) > native->u.syment.n_sclass = (((abfd)->tdata.coff_obj_data)->pe) ? 105 : 127; > else > native->u.syment.n_sclass = 2; > native->u.syment.n_numaux = 0; > > return coff_write_symbol (abfd, symbol, native, written, string_size_p, > debug_string_section_p, debug_string_size_p); >} > > > >static bfd_boolean >coff_write_native_symbol (abfd, symbol, written, string_size_p, > debug_string_section_p, debug_string_size_p) > bfd *abfd; > coff_symbol_type *symbol; > bfd_vma *written; > bfd_size_type *string_size_p; > asection **debug_string_section_p; > bfd_size_type *debug_string_size_p; >{ > combined_entry_type *native = symbol->native; > alent *lineno = symbol->lineno; > > > > > if (lineno && !symbol->done_lineno && symbol->symbol.section->owner != ((void *)0)) > { > unsigned int count = 0; > lineno[count].u.offset = *written; > if (native->u.syment.n_numaux) > { > union internal_auxent *a = &((native + 1)->u.auxent); > > a->x_sym.x_fcnary.x_fcn.x_lnnoptr = > symbol->symbol.section->output_section->moving_line_filepos; > } > > > count++; > while (lineno[count].line_number != 0) > { ># 1148 "coffgen.c" > lineno[count].u.offset += > (symbol->symbol.section->output_section->vma > + symbol->symbol.section->output_offset); > > count++; > } > symbol->done_lineno = 1; > > if (! ( ((symbol->symbol.section->output_section) == ((asection *) &bfd_abs_section)) || ((symbol->symbol.section->output_section) == ((asection *) &bfd_und_section)) || ((symbol->symbol.section->output_section) == ((asection *) &bfd_com_section)) || ((symbol->symbol.section->output_section) == ((asection *) &bfd_ind_section)))) > symbol->symbol.section->output_section->moving_line_filepos += > count * (((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_linesz); > } > > return coff_write_symbol (abfd, &(symbol->symbol), native, written, > string_size_p, debug_string_section_p, > debug_string_size_p); >} > > > >bfd_boolean >coff_write_symbols (abfd) > bfd *abfd; >{ > bfd_size_type string_size; > asection *debug_string_section; > bfd_size_type debug_string_size; > unsigned int i; > unsigned int limit = ((abfd)->symcount); > bfd_signed_vma written = 0; > asymbol **p; > > string_size = 0; > debug_string_section = ((void *)0); > debug_string_size = 0; > > > > > > if ((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_long_section_names)) > { > asection *o; > > for (o = abfd->sections; o != ((void *)0); o = o->next) > { > size_t len; > > len = strlen (o->name); > if (len > (8)) > string_size += len + 1; > } > } > > > if (bfd_seek (abfd, (((abfd)->tdata.coff_obj_data)->sym_filepos), 0) != 0) > return 0; > > > > written = 0; > for (p = abfd->outsymbols, i = 0; i < limit; i++, p++) > { > asymbol *symbol = *p; > coff_symbol_type *c_symbol = coff_symbol_from (abfd, symbol); > > if (c_symbol == (coff_symbol_type *) ((void *)0) > || c_symbol->native == (combined_entry_type *) ((void *)0)) > { > if (!coff_write_alien_symbol (abfd, symbol, &written, &string_size, > &debug_string_section, > &debug_string_size)) > return 0; > } > else > { > if (!coff_write_native_symbol (abfd, c_symbol, &written, > &string_size, &debug_string_section, > &debug_string_size)) > return 0; > } > } > > (((abfd)->tdata.coff_obj_data)->raw_syment_count) = written; > > > > if (string_size != 0) > { > unsigned int size = string_size + (4); > bfd_byte buffer[(4)]; > > > ((*(((abfd))->xvec->bfd_h_putx32)) ((bfd_vma) (size), (bfd_byte *) (buffer))); > > > > if (bfd_bwrite ((void *) buffer, (bfd_size_type) sizeof (buffer), abfd) > != sizeof (buffer)) > return 0; > > > > if ((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_long_section_names)) > { > asection *o; > > for (o = abfd->sections; o != ((void *)0); o = o->next) > { > size_t len; > > len = strlen (o->name); > if (len > (8)) > { > if (bfd_bwrite (o->name, (bfd_size_type) (len + 1), abfd) > != len + 1) > return 0; > } > } > } > > for (p = abfd->outsymbols, i = 0; > i < limit; > i++, p++) > { > asymbol *q = *p; > size_t name_length = strlen (q->name); > coff_symbol_type *c_symbol = coff_symbol_from (abfd, q); > size_t maxlen; ># 1285 "coffgen.c" > if (c_symbol == ((void *)0) > || c_symbol->native == ((void *)0)) > { > > > maxlen = (((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_force_symnames_in_strings) ? 0 : 8; > } > else if (((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_symname_in_debug) (abfd, &c_symbol->native->u.syment))) > > { > > > maxlen = name_length; > } > else if (c_symbol->native->u.syment.n_sclass == 103 > && c_symbol->native->u.syment.n_numaux > 0) > { > if ((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_force_symnames_in_strings)) > { > if (bfd_bwrite (".file", (bfd_size_type) 6, abfd) != 6) > return 0; > } > maxlen = (((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_filnmlen); > } > else > maxlen = (((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_force_symnames_in_strings) ? 0 : 8; > > if (name_length > maxlen) > { > if (bfd_bwrite ((void *) (q->name), (bfd_size_type) name_length + 1, > abfd) != name_length + 1) > return 0; > } > } > } > else > { > > > > unsigned int size = (4); > bfd_byte buffer[(4)]; > > > ((*(((abfd))->xvec->bfd_h_putx32)) ((bfd_vma) (size), (bfd_byte *) (buffer))); > > > > if (bfd_bwrite ((void *) buffer, (bfd_size_type) (4), abfd) > != (4)) > return 0; > } > > > > > > > { if (!(debug_string_size == 0 || (debug_string_section != (asection *) ((void *)0) && (((((bfd_vma) (debug_string_size) + (1 << debug_string_section->alignment_power) - 1) >= (bfd_vma) (debug_string_size)) ? (((bfd_vma) (debug_string_size) + ((1 << debug_string_section->alignment_power) - 1)) & ~ (bfd_vma) ((1 << debug_string_section->alignment_power)-1)) : ~ (bfd_vma) 0) == (((debug_string_section)->_raw_size)))))) bfd_assert("coffgen.c",1347); }; > > > > > > return 1; >} > >bfd_boolean >coff_write_linenumbers (abfd) > bfd *abfd; >{ > asection *s; > bfd_size_type linesz; > void * buff; > > linesz = (((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_linesz); > buff = bfd_alloc (abfd, linesz); > if (!buff) > return 0; > for (s = abfd->sections; s != (asection *) ((void *)0); s = s->next) > { > if (s->lineno_count) > { > asymbol **q = abfd->outsymbols; > if (bfd_seek (abfd, s->line_filepos, 0) != 0) > return 0; > > while (*q) > { > asymbol *p = *q; > if (p->section->output_section == s) > { > alent *l = > ((*((((p)->the_bfd))->xvec->_get_lineno)) (((p)->the_bfd), p)); > > if (l) > { > > struct internal_lineno out; > (__extension__ (__builtin_constant_p (sizeof (out)) && (sizeof (out)) <= 16 ? ((sizeof (out)) == 1 ? ({ void *__s = ((void *) & out); *((__uint8_t *) __s) = (__uint8_t) 0; __s; }) : ({ void *__s = ((void *) & out); union { unsigned int __ui; unsigned short int __usi; unsigned char __uc; } *__u = __s; __uint8_t __c = (__uint8_t) (0); switch ((unsigned int) (sizeof (out))) { case 15: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 11: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 7: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 3: __u->__usi = (unsigned short int) __c * 0x0101; __u = __extension__ ((void *) __u + 2); __u->__uc = (unsigned char) __c; break; case 14: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 10: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 6: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 2: __u->__usi = (unsigned short int) __c * 0x0101; break; case 13: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 9: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 5: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 1: __u->__uc = (unsigned char) __c; break; case 16: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 12: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 8: __u->__ui = __c * 0x01010101; __u = __extension__ ((void *) __u + 4); case 4: __u->__ui = __c * 0x01010101; case 0: break; } __s; })) : (__builtin_constant_p (0) && (0) == '\0' ? ({ void *__s = ((void *) & out); __builtin_memset (__s, '\0', sizeof (out)); __s; }) : memset ((void *) & out, 0, sizeof (out))))); > out.l_lnno = 0; > out.l_addr.l_symndx = l->u.offset; > ((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_swap_lineno_out) (abfd, &out, buff)); > if (bfd_bwrite (buff, (bfd_size_type) linesz, abfd) > != linesz) > return 0; > l++; > while (l->line_number) > { > out.l_lnno = l->line_number; > out.l_addr.l_symndx = l->u.offset; > ((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_swap_lineno_out) (abfd, &out, buff)); > if (bfd_bwrite (buff, (bfd_size_type) linesz, abfd) > != linesz) > return 0; > l++; > } > } > } > q++; > } > } > } > bfd_release (abfd, buff); > return 1; >} > >alent * >coff_get_lineno (ignore_abfd, symbol) > bfd *ignore_abfd __attribute__ ((__unused__)); > asymbol *symbol; >{ > return ((coff_symbol_type *)(&((symbol)->the_bfd)))->lineno; >} ># 1476 "coffgen.c" >static void >coff_pointerize_aux (abfd, table_base, symbol, indaux, auxent) > bfd *abfd; > combined_entry_type *table_base; > combined_entry_type *symbol; > unsigned int indaux; > combined_entry_type *auxent; >{ > unsigned int type = symbol->u.syment.n_type; > unsigned int class = symbol->u.syment.n_sclass; > > if (((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_pointerize_aux_hook) > { > if ((*((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_pointerize_aux_hook) > (abfd, table_base, symbol, indaux, auxent)) > return; > } > > > if (class == 3 && type == 0) > return; > if (class == 103) > return; > > > > > if (((((unsigned long) (type) & ((abfd)->tdata.coff_obj_data)->local_n_tmask) == ((unsigned long) (2) << ((abfd)->tdata.coff_obj_data)->local_n_btshft)) || ((class) == 10 || (class) == 12 || (class) == 15) || class == 100 || class == 101) > && auxent->u.auxent.x_sym.x_fcnary.x_fcn.x_endndx.l > 0) > { > auxent->u.auxent.x_sym.x_fcnary.x_fcn.x_endndx.p = > table_base + auxent->u.auxent.x_sym.x_fcnary.x_fcn.x_endndx.l; > auxent->fix_end = 1; > } > > > if (auxent->u.auxent.x_sym.x_tagndx.l > 0) > { > auxent->u.auxent.x_sym.x_tagndx.p = > table_base + auxent->u.auxent.x_sym.x_tagndx.l; > auxent->fix_tag = 1; > } >} > > > > > >static char * >build_debug_section (abfd) > bfd *abfd; >{ > char *debug_section; > file_ptr position; > bfd_size_type sec_size; > > asection *sect = bfd_get_section_by_name (abfd, ".debug"); > > if (!sect) > { > bfd_set_error (bfd_error_no_debug_section); > return ((void *)0); > } > > sec_size = ((sect)->_raw_size); > debug_section = (void *) bfd_alloc (abfd, sec_size); > if (debug_section == ((void *)0)) > return ((void *)0); > > > > > > position = bfd_tell (abfd); > if (bfd_seek (abfd, sect->filepos, 0) != 0 > || bfd_bread (debug_section, sec_size, abfd) != sec_size > || bfd_seek (abfd, position, 0) != 0) > return ((void *)0); > return debug_section; >} > > > > >static char * >copy_name (abfd, name, maxlen) > bfd *abfd; > char *name; > size_t maxlen; >{ > size_t len; > char *newname; > > for (len = 0; len < maxlen; ++len) > { > if (name[len] == '\0') > { > break; > } > } > > if ((newname = (void *) bfd_alloc (abfd, (bfd_size_type) len + 1)) == ((void *)0)) > return (((void *)0)); > (__extension__ (__builtin_constant_p (name) && __builtin_constant_p (len) ? (strlen (name) + 1 >= ((size_t) (len)) ? (char *) memcpy (newname, name, len) : strncpy (newname, name, len)) : strncpy (newname, name, len))); > newname[len] = '\0'; > return newname; >} > > > >bfd_boolean >_bfd_coff_get_external_symbols (abfd) > bfd *abfd; >{ > bfd_size_type symesz; > bfd_size_type size; > void * syms; > > if ((((abfd)->tdata.coff_obj_data)->external_syms) != ((void *)0)) > return 1; > > symesz = (((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_symesz); > > size = (((abfd)->tdata.coff_obj_data)->raw_syment_count) * symesz; > > syms = (void *) bfd_malloc (size); > if (syms == ((void *)0) && size != 0) > return 0; > > if (bfd_seek (abfd, (((abfd)->tdata.coff_obj_data)->sym_filepos), 0) != 0 > || bfd_bread (syms, size, abfd) != size) > { > if (syms != ((void *)0)) > free (syms); > return 0; > } > > (((abfd)->tdata.coff_obj_data)->external_syms) = syms; > > return 1; >} > > > > > >const char * >_bfd_coff_read_string_table (abfd) > bfd *abfd; >{ > char extstrsize[(4)]; > bfd_size_type strsize; > char *strings; > file_ptr pos; > > if ((((abfd)->tdata.coff_obj_data)->strings) != ((void *)0)) > return (((abfd)->tdata.coff_obj_data)->strings); > > if ((((abfd)->tdata.coff_obj_data)->sym_filepos) == 0) > { > bfd_set_error (bfd_error_no_symbols); > return ((void *)0); > } > > pos = (((abfd)->tdata.coff_obj_data)->sym_filepos); > pos += (((abfd)->tdata.coff_obj_data)->raw_syment_count) * (((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_symesz); > if (bfd_seek (abfd, pos, 0) != 0) > return ((void *)0); > > if (bfd_bread (extstrsize, (bfd_size_type) sizeof extstrsize, abfd) > != sizeof extstrsize) > { > if (bfd_get_error () != bfd_error_file_truncated) > return ((void *)0); > > > strsize = (4); > } > else > { > > strsize = ((*(((abfd))->xvec->bfd_h_getx32)) ((bfd_byte *) (extstrsize))); > > > > } > > if (strsize < (4)) > { > (*_bfd_error_handler) > (dcgettext ("bfd", "%s: bad string table size %lu", __LC_MESSAGES), bfd_archive_filename (abfd), > (unsigned long) strsize); > bfd_set_error (bfd_error_bad_value); > return ((void *)0); > } > > strings = (char *) bfd_malloc (strsize); > if (strings == ((void *)0)) > return ((void *)0); > > if (bfd_bread (strings + (4), strsize - (4), abfd) > != strsize - (4)) > { > free (strings); > return ((void *)0); > } > > (((abfd)->tdata.coff_obj_data)->strings) = strings; > > return strings; >} > > > >bfd_boolean >_bfd_coff_free_symbols (abfd) > bfd *abfd; >{ > if ((((abfd)->tdata.coff_obj_data)->external_syms) != ((void *)0) > && ! (((abfd)->tdata.coff_obj_data)->keep_syms)) > { > free ((((abfd)->tdata.coff_obj_data)->external_syms)); > (((abfd)->tdata.coff_obj_data)->external_syms) = ((void *)0); > } > if ((((abfd)->tdata.coff_obj_data)->strings) != ((void *)0) > && ! (((abfd)->tdata.coff_obj_data)->keep_strings)) > { > free ((((abfd)->tdata.coff_obj_data)->strings)); > (((abfd)->tdata.coff_obj_data)->strings) = ((void *)0); > } > return 1; >} > > > > > > >combined_entry_type * >coff_get_normalized_symtab (abfd) > bfd *abfd; >{ > combined_entry_type *internal; > combined_entry_type *internal_ptr; > combined_entry_type *symbol_ptr; > combined_entry_type *internal_end; > size_t symesz; > char *raw_src; > char *raw_end; > const char *string_table = ((void *)0); > char *debug_section = ((void *)0); > bfd_size_type size; > > if ((((abfd)->tdata.coff_obj_data)->raw_syments) != ((void *)0)) > return (((abfd)->tdata.coff_obj_data)->raw_syments); > > size = (((abfd)->tdata.coff_obj_data)->raw_syment_count) * sizeof (combined_entry_type); > internal = (combined_entry_type *) bfd_zalloc (abfd, size); > if (internal == ((void *)0) && size != 0) > return ((void *)0); > internal_end = internal + (((abfd)->tdata.coff_obj_data)->raw_syment_count); > > if (! _bfd_coff_get_external_symbols (abfd)) > return ((void *)0); > > raw_src = (char *) (((abfd)->tdata.coff_obj_data)->external_syms); > > > symesz = (((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_symesz); > raw_end = (char *) raw_src + (((abfd)->tdata.coff_obj_data)->raw_syment_count) * symesz; > > > > > > for (internal_ptr = internal; > raw_src < raw_end; > raw_src += symesz, internal_ptr++) > { > > unsigned int i; > ((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_swap_sym_in) (abfd,(void *) raw_src,(void *) & internal_ptr->u.syment)); > > symbol_ptr = internal_ptr; > > for (i = 0; > i < symbol_ptr->u.syment.n_numaux; > i++) > { > internal_ptr++; > raw_src += symesz; > ((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_swap_aux_in) (abfd,(void *) raw_src,symbol_ptr->u.syment.n_type,symbol_ptr->u.syment.n_sclass,(int) i,symbol_ptr->u.syment.n_numaux,&(internal_ptr->u.auxent))); > > > > > coff_pointerize_aux (abfd, internal, symbol_ptr, i, > internal_ptr); > } > } > > > (((abfd)->tdata.coff_obj_data)->keep_strings) = 1; > if (! _bfd_coff_free_symbols (abfd)) > return ((void *)0); > > for (internal_ptr = internal; internal_ptr < internal_end; > internal_ptr++) > { > if (internal_ptr->u.syment.n_sclass == 103 > && internal_ptr->u.syment.n_numaux > 0) > { > > > if ((internal_ptr + 1)->u.auxent.x_file.x_n.x_zeroes == 0) > { > > if (string_table == ((void *)0)) > { > string_table = _bfd_coff_read_string_table (abfd); > if (string_table == ((void *)0)) > return ((void *)0); > } > > internal_ptr->u.syment._n._n_n._n_offset = > ((long) > (string_table > + (internal_ptr + 1)->u.auxent.x_file.x_n.x_offset)); > } > else > { > > > > if (internal_ptr->u.syment.n_numaux > 1 > && ((abfd)->tdata.coff_obj_data)->pe) > { > internal_ptr->u.syment._n._n_n._n_offset = > ((long) > copy_name (abfd, > (internal_ptr + 1)->u.auxent.x_file.x_fname, > internal_ptr->u.syment.n_numaux * symesz)); > } > else > { > internal_ptr->u.syment._n._n_n._n_offset = > ((long) > copy_name (abfd, > (internal_ptr + 1)->u.auxent.x_file.x_fname, > (size_t) (((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_filnmlen))); > } > } > } > else > { > if (internal_ptr->u.syment._n._n_n._n_zeroes != 0) > { > > size_t i; > char *newstring; > > > > for (i = 0; i < 8; ++i) > if (internal_ptr->u.syment._n._n_name[i] == '\0') > break; > > newstring = (void *) bfd_zalloc (abfd, (bfd_size_type) (i + 1)); > if (newstring == ((void *)0)) > return (((void *)0)); > (__extension__ (__builtin_constant_p (internal_ptr->u.syment._n._n_name) && __builtin_constant_p (i) ? (strlen (internal_ptr->u.syment._n._n_name) + 1 >= ((size_t) (i)) ? (char *) memcpy (newstring, internal_ptr->u.syment._n._n_name, i) : strncpy (newstring, internal_ptr->u.syment._n._n_name, i)) : strncpy (newstring, internal_ptr->u.syment._n._n_name, i))); > internal_ptr->u.syment._n._n_n._n_offset = (long int) newstring; > internal_ptr->u.syment._n._n_n._n_zeroes = 0; > } > else if (internal_ptr->u.syment._n._n_n._n_offset == 0) > internal_ptr->u.syment._n._n_n._n_offset = (long int) ""; > else if (!((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_symname_in_debug) (abfd, &internal_ptr->u.syment))) > { > > > if (string_table == ((void *)0)) > { > string_table = _bfd_coff_read_string_table (abfd); > if (string_table == ((void *)0)) > return ((void *)0); > } > internal_ptr->u.syment._n._n_n._n_offset = > ((long int) > (string_table > + internal_ptr->u.syment._n._n_n._n_offset)); > } > else > { > > if (debug_section == ((void *)0)) > debug_section = build_debug_section (abfd); > internal_ptr->u.syment._n._n_n._n_offset = (long int) > (debug_section + internal_ptr->u.syment._n._n_n._n_offset); > } > } > internal_ptr += internal_ptr->u.syment.n_numaux; > } > > (((abfd)->tdata.coff_obj_data)->raw_syments) = internal; > { if (!((((abfd)->tdata.coff_obj_data)->raw_syment_count) == (unsigned int) (internal_ptr - internal))) bfd_assert("coffgen.c",1881); }; > > > return (internal); >} > >long >coff_get_reloc_upper_bound (abfd, asect) > bfd *abfd; > sec_ptr asect; >{ > if (((abfd)->format) != bfd_object) > { > bfd_set_error (bfd_error_invalid_operation); > return -1; > } > return (asect->reloc_count + 1) * sizeof (arelent *); >} > >asymbol * >coff_make_empty_symbol (abfd) > bfd *abfd; >{ > bfd_size_type amt = sizeof (coff_symbol_type); > coff_symbol_type *new = (coff_symbol_type *) bfd_zalloc (abfd, amt); > if (new == ((void *)0)) > return (((void *)0)); > new->symbol.section = 0; > new->native = 0; > new->lineno = (alent *) ((void *)0); > new->done_lineno = 0; > new->symbol.the_bfd = abfd; > return &new->symbol; >} > > > >asymbol * >coff_bfd_make_debug_symbol (abfd, ptr, sz) > bfd *abfd; > void * ptr __attribute__ ((__unused__)); > unsigned long sz __attribute__ ((__unused__)); >{ > bfd_size_type amt = sizeof (coff_symbol_type); > coff_symbol_type *new = (coff_symbol_type *) bfd_alloc (abfd, amt); > if (new == ((void *)0)) > return (((void *)0)); > > > amt = sizeof (combined_entry_type) * 10; > new->native = (combined_entry_type *) bfd_zalloc (abfd, amt); > if (!new->native) > return (((void *)0)); > new->symbol.section = ((asection *) &bfd_abs_section); > new->symbol.flags = 0x08; > new->lineno = (alent *) ((void *)0); > new->done_lineno = 0; > new->symbol.the_bfd = abfd; > return &new->symbol; >} > >void >coff_get_symbol_info (abfd, symbol, ret) > bfd *abfd; > asymbol *symbol; > symbol_info *ret; >{ > bfd_symbol_info (symbol, ret); > if (((coff_symbol_type *)(&((symbol)->the_bfd)))->native != ((void *)0) > && ((coff_symbol_type *)(&((symbol)->the_bfd)))->native->fix_value) > { > ret->value = ((coff_symbol_type *)(&((symbol)->the_bfd)))->native->u.syment.n_value - > (unsigned long) (((abfd)->tdata.coff_obj_data)->raw_syments); > } >} > > > >bfd_boolean >bfd_coff_get_syment (abfd, symbol, psyment) > bfd *abfd; > asymbol *symbol; > struct internal_syment *psyment; >{ > coff_symbol_type *csym; > > csym = coff_symbol_from (abfd, symbol); > if (csym == ((void *)0) || csym->native == ((void *)0)) > { > bfd_set_error (bfd_error_invalid_operation); > return 0; > } > > *psyment = csym->native->u.syment; > > if (csym->native->fix_value) > psyment->n_value = psyment->n_value - > (unsigned long) (((abfd)->tdata.coff_obj_data)->raw_syments); > > > > return 1; >} > > > >bfd_boolean >bfd_coff_get_auxent (abfd, symbol, indx, pauxent) > bfd *abfd; > asymbol *symbol; > int indx; > union internal_auxent *pauxent; >{ > coff_symbol_type *csym; > combined_entry_type *ent; > > csym = coff_symbol_from (abfd, symbol); > > if (csym == ((void *)0) > || csym->native == ((void *)0) > || indx >= csym->native->u.syment.n_numaux) > { > bfd_set_error (bfd_error_invalid_operation); > return 0; > } > > ent = csym->native + indx + 1; > > *pauxent = ent->u.auxent; > > if (ent->fix_tag) > pauxent->x_sym.x_tagndx.l = > ((combined_entry_type *) pauxent->x_sym.x_tagndx.p > - (((abfd)->tdata.coff_obj_data)->raw_syments)); > > if (ent->fix_end) > pauxent->x_sym.x_fcnary.x_fcn.x_endndx.l = > ((combined_entry_type *) pauxent->x_sym.x_fcnary.x_fcn.x_endndx.p > - (((abfd)->tdata.coff_obj_data)->raw_syments)); > > if (ent->fix_scnlen) > pauxent->x_csect.x_scnlen.l = > ((combined_entry_type *) pauxent->x_csect.x_scnlen.p > - (((abfd)->tdata.coff_obj_data)->raw_syments)); > > return 1; >} > > > >void >coff_print_symbol (abfd, filep, symbol, how) > bfd *abfd; > void * filep; > asymbol *symbol; > bfd_print_symbol_type how; >{ > FILE *file = (FILE *) filep; > > switch (how) > { > case bfd_print_symbol_name: > fprintf (file, "%s", symbol->name); > break; > > case bfd_print_symbol_more: > fprintf (file, "coff %s %s", > ((coff_symbol_type *)(&((symbol)->the_bfd)))->native ? "n" : "g", > ((coff_symbol_type *)(&((symbol)->the_bfd)))->lineno ? "l" : " "); > break; > > case bfd_print_symbol_all: > if (((coff_symbol_type *)(&((symbol)->the_bfd)))->native) > { > bfd_vma val; > unsigned int aux; > combined_entry_type *combined = ((coff_symbol_type *)(&((symbol)->the_bfd)))->native; > combined_entry_type *root = (((abfd)->tdata.coff_obj_data)->raw_syments); > struct lineno_cache_entry *l = ((coff_symbol_type *)(&((symbol)->the_bfd)))->lineno; > > fprintf (file, "[%3ld]", (long) (combined - root)); > > if (! combined->fix_value) > val = (bfd_vma) combined->u.syment.n_value; > else > val = combined->u.syment.n_value - (unsigned long) root; > > > fprintf (file, > "(sec %2d)(fl 0x%02x)(ty %3x)(scl %3d) (nx %d) 0x%08lx %s", > combined->u.syment.n_scnum, > combined->u.syment.n_flags, > combined->u.syment.n_type, > combined->u.syment.n_sclass, > combined->u.syment.n_numaux, > (unsigned long) val, > symbol->name); ># 2090 "coffgen.c" > for (aux = 0; aux < combined->u.syment.n_numaux; aux++) > { > combined_entry_type *auxp = combined + aux + 1; > long tagndx; > > if (auxp->fix_tag) > tagndx = auxp->u.auxent.x_sym.x_tagndx.p - root; > else > tagndx = auxp->u.auxent.x_sym.x_tagndx.l; > > fprintf (file, "\n"); > > if (((((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_coff_print_aux) (abfd, file, root, combined, auxp, aux))) > continue; > > switch (combined->u.syment.n_sclass) > { > case 103: > fprintf (file, "File "); > break; > > case 3: > if (combined->u.syment.n_type == 0) > > { > fprintf (file, "AUX scnlen 0x%lx nreloc %d nlnno %d", > (long) auxp->u.auxent.x_scn.x_scnlen, > auxp->u.auxent.x_scn.x_nreloc, > auxp->u.auxent.x_scn.x_nlinno); > if (auxp->u.auxent.x_scn.x_checksum != 0 > || auxp->u.auxent.x_scn.x_associated != 0 > || auxp->u.auxent.x_scn.x_comdat != 0) > fprintf (file, " checksum 0x%lx assoc %d comdat %d", > auxp->u.auxent.x_scn.x_checksum, > auxp->u.auxent.x_scn.x_associated, > auxp->u.auxent.x_scn.x_comdat); > break; > } > > case 2: > if ((((unsigned long) (combined->u.syment.n_type) & ((abfd)->tdata.coff_obj_data)->local_n_tmask) == ((unsigned long) (2) << ((abfd)->tdata.coff_obj_data)->local_n_btshft))) > { > long next, llnos; > > if (auxp->fix_end) > next = (auxp->u.auxent.x_sym.x_fcnary.x_fcn.x_endndx.p > - root); > else > next = auxp->u.auxent.x_sym.x_fcnary.x_fcn.x_endndx.l; > llnos = auxp->u.auxent.x_sym.x_fcnary.x_fcn.x_lnnoptr; > fprintf (file, > "AUX tagndx %ld ttlsiz 0x%lx lnnos %ld next %ld", > tagndx, auxp->u.auxent.x_sym.x_misc.x_fsize, > llnos, next); > break; > } > > default: > fprintf (file, "AUX lnno %d size 0x%x tagndx %ld", > auxp->u.auxent.x_sym.x_misc.x_lnsz.x_lnno, > auxp->u.auxent.x_sym.x_misc.x_lnsz.x_size, > tagndx); > if (auxp->fix_end) > fprintf (file, " endndx %ld", > ((long) > (auxp->u.auxent.x_sym.x_fcnary.x_fcn.x_endndx.p > - root))); > break; > } > } > > if (l) > { > fprintf (file, "\n%s :", l->u.sym->name); > l++; > while (l->line_number) > { > fprintf (file, "\n%4d : 0x%lx", > l->line_number, > ((unsigned long) > (l->u.offset + symbol->section->vma))); > l++; > } > } > } > else > { > bfd_print_symbol_vandf (abfd, (void *) file, symbol); > fprintf (file, " %-5s %s %s %s", > symbol->section->name, > ((coff_symbol_type *)(&((symbol)->the_bfd)))->native ? "n" : "g", > ((coff_symbol_type *)(&((symbol)->the_bfd)))->lineno ? "l" : " ", > symbol->name); > } > } >} > > > > > > >bfd_boolean >_bfd_coff_is_local_label_name (abfd, name) > bfd *abfd __attribute__ ((__unused__)); > const char *name; >{ > return name[0] == '.' && name[1] == 'L'; >} > > > > > >bfd_boolean >coff_find_nearest_line (abfd, section, symbols, offset, filename_ptr, > functionname_ptr, line_ptr) > bfd *abfd; > asection *section; > asymbol **symbols; > bfd_vma offset; > const char **filename_ptr; > const char **functionname_ptr; > unsigned int *line_ptr; >{ > bfd_boolean found; > unsigned int i; > unsigned int line_base; > coff_data_type *cof = ((abfd)->tdata.coff_obj_data); > > combined_entry_type *p; > combined_entry_type *pend; > alent *l; > struct coff_section_tdata *sec_data; > bfd_size_type amt; > > > > if (! _bfd_stab_section_find_nearest_line (abfd, symbols, section, offset, > &found, filename_ptr, > functionname_ptr, line_ptr, > &((abfd)->tdata.coff_obj_data)->line_info)) > return 0; > > if (found) > return 1; > > > if (_bfd_dwarf2_find_nearest_line (abfd, section, symbols, offset, > filename_ptr, functionname_ptr, > line_ptr, 0, > &((abfd)->tdata.coff_obj_data)->dwarf2_find_line_info)) > return 1; > > *filename_ptr = 0; > *functionname_ptr = 0; > *line_ptr = 0; > > > if (!(((abfd)->xvec->flavour) == bfd_target_coff_flavour || ((abfd)->xvec->flavour) == bfd_target_xcoff_flavour)) > return 0; > > if (cof == ((void *)0)) > return 0; > > > p = cof->raw_syments; > if (!p) > return 0; > > pend = p + cof->raw_syment_count; > while (p < pend) > { > if (p->u.syment.n_sclass == 103) > break; > p += 1 + p->u.syment.n_numaux; > } > > if (p < pend) > { > bfd_vma sec_vma; > bfd_vma maxdiff; > > > sec_vma = ((section)->vma + 0); > *filename_ptr = (char *) p->u.syment._n._n_n._n_offset; > maxdiff = (bfd_vma) 0 - (bfd_vma) 1; > while (1) > { > combined_entry_type *p2; > > for (p2 = p + 1 + p->u.syment.n_numaux; > p2 < pend; > p2 += 1 + p2->u.syment.n_numaux) > { > if (p2->u.syment.n_scnum > 0 > && (section > == coff_section_from_bfd_index (abfd, > p2->u.syment.n_scnum))) > break; > if (p2->u.syment.n_sclass == 103) > { > p2 = pend; > break; > } > } > > > > if (p2 < pend > && offset + sec_vma >= (bfd_vma) p2->u.syment.n_value > && offset + sec_vma - (bfd_vma) p2->u.syment.n_value <= maxdiff) > { > *filename_ptr = (char *) p->u.syment._n._n_n._n_offset; > maxdiff = offset + sec_vma - p2->u.syment.n_value; > } > > > > if (p >= cof->raw_syments + p->u.syment.n_value) > break; > > p = cof->raw_syments + p->u.syment.n_value; > if (p > pend || p->u.syment.n_sclass != 103) > break; > } > } > > > > > sec_data = ((struct coff_section_tdata *) (section)->used_by_bfd); > if (sec_data != ((void *)0) > && sec_data->i > 0 > && offset >= sec_data->offset) > { > i = sec_data->i; > *functionname_ptr = sec_data->function; > line_base = sec_data->line_base; > } > else > { > i = 0; > line_base = 0; > } > > if (section->lineno != ((void *)0)) > { > bfd_vma last_value = 0; > > l = §ion->lineno[i]; > > for (; i < section->lineno_count; i++) > { > if (l->line_number == 0) > { > > coff_symbol_type *coff = (coff_symbol_type *) (l->u.sym); > if (coff->symbol.value > offset) > break; > *functionname_ptr = coff->symbol.name; > last_value = coff->symbol.value; > if (coff->native) > { > combined_entry_type *s = coff->native; > s = s + 1 + s->u.syment.n_numaux; > > > > if (s->u.syment.n_scnum == ((short)-2)) > s = s + 1 + s->u.syment.n_numaux; > > > if (s->u.syment.n_numaux) > { > > union internal_auxent *a = &((s + 1)->u.auxent); > line_base = a->x_sym.x_misc.x_lnsz.x_lnno; > *line_ptr = line_base; > } > } > } > else > { > if (l->u.offset > offset) > break; > *line_ptr = l->line_number + line_base - 1; > } > l++; > } > > > > > > > > if (i >= section->lineno_count > && last_value != 0 > && offset - last_value > 0x100) > { > *functionname_ptr = ((void *)0); > *line_ptr = 0; > } > } > > > if (sec_data == ((void *)0) && section->owner == abfd) > { > amt = sizeof (struct coff_section_tdata); > section->used_by_bfd = (void *) bfd_zalloc (abfd, amt); > sec_data = (struct coff_section_tdata *) section->used_by_bfd; > } > if (sec_data != ((void *)0)) > { > sec_data->offset = offset; > sec_data->i = i; > sec_data->function = *functionname_ptr; > sec_data->line_base = line_base; > } > > return 1; >} > >int >coff_sizeof_headers (abfd, reloc) > bfd *abfd; > bfd_boolean reloc; >{ > size_t size; > > if (! reloc) > { > size = (((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_filhsz) + (((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_aoutsz); > } > else > { > size = (((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_filhsz); > } > > size += abfd->section_count * (((bfd_coff_backend_data *) (abfd)->xvec->backend_data)->_bfd_scnhsz); > return size; >} > > >bfd_boolean >bfd_coff_set_symbol_class (abfd, symbol, class) > bfd * abfd; > asymbol * symbol; > unsigned int class; >{ > coff_symbol_type * csym; > > csym = coff_symbol_from (abfd, symbol); > if (csym == ((void *)0)) > { > bfd_set_error (bfd_error_invalid_operation); > return 0; > } > else if (csym->native == ((void *)0)) > { > > > > > > combined_entry_type * native; > bfd_size_type amt = sizeof (* native); > > native = (combined_entry_type *) bfd_zalloc (abfd, amt); > if (native == ((void *)0)) > return 0; > > native->u.syment.n_type = 0; > native->u.syment.n_sclass = class; > > if (((symbol->section) == ((asection *) &bfd_und_section))) > { > native->u.syment.n_scnum = ((short)0); > native->u.syment.n_value = symbol->value; > } > else if ((((symbol->section)->flags & 0x8000) != 0)) > { > native->u.syment.n_scnum = ((short)0); > native->u.syment.n_value = symbol->value; > } > else > { > native->u.syment.n_scnum = > symbol->section->output_section->target_index; > native->u.syment.n_value = (symbol->value > + symbol->section->output_offset); > if (! (((abfd)->tdata.coff_obj_data)->pe)) > native->u.syment.n_value += symbol->section->output_section->vma; > > > > native->u.syment.n_flags = ((& csym->symbol)->the_bfd)->flags; > } > > csym->native = native; > } > else > { > csym->native->u.syment.n_sclass = class; > } > > return 1; >}
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 42049
:
25865
|
25885
| 25894