Lines Matching refs:vars
396 #define SIZEOF_ILF_SYMS (NUM_ILF_SYMS * sizeof (* vars.sym_cache))
397 #define SIZEOF_ILF_SYM_TABLE (NUM_ILF_SYMS * sizeof (* vars.sym_table))
398 #define SIZEOF_ILF_NATIVE_SYMS (NUM_ILF_SYMS * sizeof (* vars.native_syms))
399 #define SIZEOF_ILF_SYM_PTR_TABLE (NUM_ILF_SYMS * sizeof (* vars.sym_ptr_table))
400 #define SIZEOF_ILF_EXT_SYMS (NUM_ILF_SYMS * sizeof (* vars.esym_table))
401 #define SIZEOF_ILF_RELOCS (NUM_ILF_RELOCS * sizeof (* vars.reltab))
402 #define SIZEOF_ILF_INT_RELOCS (NUM_ILF_RELOCS * sizeof (* vars.int_reltab))
415 sizeof (* vars.bim) \
435 pe_ILF_make_a_symbol_reloc (pe_ILF_vars * vars, in pe_ILF_make_a_symbol_reloc() argument
444 entry = vars->reltab + vars->relcount; in pe_ILF_make_a_symbol_reloc()
445 internal = vars->int_reltab + vars->relcount; in pe_ILF_make_a_symbol_reloc()
449 entry->howto = bfd_reloc_type_lookup (vars->abfd, reloc); in pe_ILF_make_a_symbol_reloc()
456 vars->relcount ++; in pe_ILF_make_a_symbol_reloc()
458 BFD_ASSERT (vars->relcount <= NUM_ILF_RELOCS); in pe_ILF_make_a_symbol_reloc()
464 pe_ILF_make_a_reloc (pe_ILF_vars * vars, in pe_ILF_make_a_reloc() argument
469 pe_ILF_make_a_symbol_reloc (vars, address, reloc, sec->symbol_ptr_ptr, in pe_ILF_make_a_reloc()
470 coff_section_data (vars->abfd, sec)->i); in pe_ILF_make_a_reloc()
476 pe_ILF_save_relocs (pe_ILF_vars * vars, in pe_ILF_save_relocs() argument
480 if (coff_section_data (vars->abfd, sec) == NULL) in pe_ILF_save_relocs()
484 coff_section_data (vars->abfd, sec)->relocs = vars->int_reltab; in pe_ILF_save_relocs()
485 coff_section_data (vars->abfd, sec)->keep_relocs = TRUE; in pe_ILF_save_relocs()
487 sec->relocation = vars->reltab; in pe_ILF_save_relocs()
488 sec->reloc_count = vars->relcount; in pe_ILF_save_relocs()
491 vars->reltab += vars->relcount; in pe_ILF_save_relocs()
492 vars->int_reltab += vars->relcount; in pe_ILF_save_relocs()
493 vars->relcount = 0; in pe_ILF_save_relocs()
495 BFD_ASSERT ((bfd_byte *) vars->int_reltab < (bfd_byte *) vars->string_table); in pe_ILF_save_relocs()
501 pe_ILF_make_a_symbol (pe_ILF_vars * vars, in pe_ILF_make_a_symbol() argument
518 if (vars->magic == THUMBPEMAGIC) in pe_ILF_make_a_symbol()
529 BFD_ASSERT (vars->sym_index < NUM_ILF_SYMS); in pe_ILF_make_a_symbol()
531 sym = vars->sym_ptr; in pe_ILF_make_a_symbol()
532 ent = vars->native_ptr; in pe_ILF_make_a_symbol()
533 esym = vars->esym_ptr; in pe_ILF_make_a_symbol()
536 sprintf (vars->string_ptr, "%s%s", prefix, symbol_name); in pe_ILF_make_a_symbol()
542 H_PUT_32 (vars->abfd, vars->string_ptr - vars->string_table, in pe_ILF_make_a_symbol()
544 H_PUT_16 (vars->abfd, section->target_index, esym->e_scnum); in pe_ILF_make_a_symbol()
555 sym->symbol.the_bfd = vars->abfd; in pe_ILF_make_a_symbol()
556 sym->symbol.name = vars->string_ptr; in pe_ILF_make_a_symbol()
561 * vars->table_ptr = vars->sym_index; in pe_ILF_make_a_symbol()
562 * vars->sym_ptr_ptr = sym; in pe_ILF_make_a_symbol()
565 vars->sym_index ++; in pe_ILF_make_a_symbol()
566 vars->sym_ptr ++; in pe_ILF_make_a_symbol()
567 vars->sym_ptr_ptr ++; in pe_ILF_make_a_symbol()
568 vars->table_ptr ++; in pe_ILF_make_a_symbol()
569 vars->native_ptr ++; in pe_ILF_make_a_symbol()
570 vars->esym_ptr ++; in pe_ILF_make_a_symbol()
571 vars->string_ptr += strlen (symbol_name) + strlen (prefix) + 1; in pe_ILF_make_a_symbol()
573 BFD_ASSERT (vars->string_ptr < vars->end_string_ptr); in pe_ILF_make_a_symbol()
579 pe_ILF_make_a_section (pe_ILF_vars * vars, in pe_ILF_make_a_section() argument
587 sec = bfd_make_section_old_way (vars->abfd, name); in pe_ILF_make_a_section()
593 bfd_set_section_flags (vars->abfd, sec, flags | extra_flags); in pe_ILF_make_a_section()
595 bfd_set_section_alignment (vars->abfd, sec, 2); in pe_ILF_make_a_section()
598 BFD_ASSERT (vars->data + size < vars->bim->buffer + vars->bim->size); in pe_ILF_make_a_section()
602 bfd_set_section_size (vars->abfd, sec, (bfd_size_type) size); in pe_ILF_make_a_section()
603 sec->contents = vars->data; in pe_ILF_make_a_section()
604 sec->target_index = vars->sec_index ++; in pe_ILF_make_a_section()
607 vars->data += size; in pe_ILF_make_a_section()
614 vars->data --; in pe_ILF_make_a_section()
617 sec->used_by_bfd = (struct coff_section_tdata *) vars->data; in pe_ILF_make_a_section()
618 vars->data += sizeof (struct coff_section_tdata); in pe_ILF_make_a_section()
620 BFD_ASSERT (vars->data <= vars->bim->buffer + vars->bim->size); in pe_ILF_make_a_section()
623 pe_ILF_make_a_symbol (vars, "", name, sec, BSF_LOCAL); in pe_ILF_make_a_section()
626 coff_section_data (vars->abfd, sec)->i = vars->sym_index - 1; in pe_ILF_make_a_section()
711 pe_ILF_vars vars; in pe_ILF_build_a_bfd() local
767 vars.bim = (struct bfd_in_memory *) ptr; in pe_ILF_build_a_bfd()
768 vars.bim->buffer = ptr; in pe_ILF_build_a_bfd()
769 vars.bim->size = ILF_DATA_SIZE; in pe_ILF_build_a_bfd()
770 ptr += sizeof (* vars.bim); in pe_ILF_build_a_bfd()
774 vars.sym_cache = (coff_symbol_type *) ptr; in pe_ILF_build_a_bfd()
775 vars.sym_ptr = (coff_symbol_type *) ptr; in pe_ILF_build_a_bfd()
776 vars.sym_index = 0; in pe_ILF_build_a_bfd()
779 vars.sym_table = (unsigned int *) ptr; in pe_ILF_build_a_bfd()
780 vars.table_ptr = (unsigned int *) ptr; in pe_ILF_build_a_bfd()
783 vars.native_syms = (combined_entry_type *) ptr; in pe_ILF_build_a_bfd()
784 vars.native_ptr = (combined_entry_type *) ptr; in pe_ILF_build_a_bfd()
787 vars.sym_ptr_table = (coff_symbol_type **) ptr; in pe_ILF_build_a_bfd()
788 vars.sym_ptr_ptr = (coff_symbol_type **) ptr; in pe_ILF_build_a_bfd()
791 vars.esym_table = (SYMENT *) ptr; in pe_ILF_build_a_bfd()
792 vars.esym_ptr = (SYMENT *) ptr; in pe_ILF_build_a_bfd()
795 vars.reltab = (arelent *) ptr; in pe_ILF_build_a_bfd()
796 vars.relcount = 0; in pe_ILF_build_a_bfd()
799 vars.int_reltab = (struct internal_reloc *) ptr; in pe_ILF_build_a_bfd()
802 vars.string_table = (char *) ptr; in pe_ILF_build_a_bfd()
803 vars.string_ptr = (char *) ptr + STRING_SIZE_SIZE; in pe_ILF_build_a_bfd()
805 vars.end_string_ptr = (char *) ptr; in pe_ILF_build_a_bfd()
809 vars.data = ptr; in pe_ILF_build_a_bfd()
810 vars.abfd = abfd; in pe_ILF_build_a_bfd()
811 vars.sec_index = 0; in pe_ILF_build_a_bfd()
812 vars.magic = magic; in pe_ILF_build_a_bfd()
821 id4 = pe_ILF_make_a_section (& vars, ".idata$4", SIZEOF_IDATA4, 0); in pe_ILF_build_a_bfd()
822 id5 = pe_ILF_make_a_section (& vars, ".idata$5", SIZEOF_IDATA5, 0); in pe_ILF_build_a_bfd()
842 id6 = pe_ILF_make_a_section (& vars, ".idata$6", SIZEOF_IDATA6, 0); in pe_ILF_build_a_bfd()
882 pe_ILF_make_a_reloc (&vars, (bfd_vma) 0, BFD_RELOC_RVA, id6); in pe_ILF_build_a_bfd()
883 pe_ILF_save_relocs (&vars, id4); in pe_ILF_build_a_bfd()
885 pe_ILF_make_a_reloc (&vars, (bfd_vma) 0, BFD_RELOC_RVA, id6); in pe_ILF_build_a_bfd()
886 pe_ILF_save_relocs (&vars, id5); in pe_ILF_build_a_bfd()
909 text = pe_ILF_make_a_section (& vars, ".text", jtab[i].size, SEC_CODE); in pe_ILF_build_a_bfd()
917 pe_ILF_make_a_symbol (& vars, "__imp_", symbol_name, id5, 0); in pe_ILF_build_a_bfd()
918 imp_sym = vars.sym_ptr_ptr - 1; in pe_ILF_build_a_bfd()
919 imp_index = vars.sym_index - 1; in pe_ILF_build_a_bfd()
925 pe_ILF_make_a_symbol_reloc (&vars, (bfd_vma) 0, BFD_RELOC_HI16_S, in pe_ILF_build_a_bfd()
928 pe_ILF_make_a_reloc (&vars, (bfd_vma) 0, BFD_RELOC_LO16, text); in pe_ILF_build_a_bfd()
929 pe_ILF_make_a_symbol_reloc (&vars, (bfd_vma) 4, BFD_RELOC_LO16, in pe_ILF_build_a_bfd()
935 pe_ILF_make_a_symbol_reloc (&vars, (bfd_vma) jtab[i].offset, in pe_ILF_build_a_bfd()
939 pe_ILF_save_relocs (& vars, text); in pe_ILF_build_a_bfd()
967 if (vars.magic == THUMBPEMAGIC) in pe_ILF_build_a_bfd()
975 abfd->iostream = (void *) vars.bim; in pe_ILF_build_a_bfd()
984 pe_ILF_make_a_symbol (& vars, "", symbol_name, text, in pe_ILF_build_a_bfd()
992 pe_ILF_make_a_symbol (& vars, "__IMPORT_DESCRIPTOR_", source_dll, NULL, 0); in pe_ILF_build_a_bfd()
1007 obj_symbols (abfd) = vars.sym_cache; in pe_ILF_build_a_bfd()
1008 bfd_get_symcount (abfd) = vars.sym_index; in pe_ILF_build_a_bfd()
1010 obj_raw_syments (abfd) = vars.native_syms; in pe_ILF_build_a_bfd()
1011 obj_raw_syment_count (abfd) = vars.sym_index; in pe_ILF_build_a_bfd()
1013 obj_coff_external_syms (abfd) = (void *) vars.esym_table; in pe_ILF_build_a_bfd()
1016 obj_convert (abfd) = vars.sym_table; in pe_ILF_build_a_bfd()
1017 obj_conv_table_size (abfd) = vars.sym_index; in pe_ILF_build_a_bfd()
1019 obj_coff_strings (abfd) = vars.string_table; in pe_ILF_build_a_bfd()