Develop and Download Open Source Software

Browse Subversion Repository

Diff of /trunk/bfd/bfd-in2.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 20 by monabuilder, Sun Dec 28 03:31:28 2008 UTC revision 21 by monamour, Mon Jul 27 20:34:36 2009 UTC
# Line 73  extern "C" { Line 73  extern "C" {
73  #define LITSTRCPY(DEST,STR2) memcpy ((DEST), (STR2), sizeof (STR2))  #define LITSTRCPY(DEST,STR2) memcpy ((DEST), (STR2), sizeof (STR2))
74    
75    
76    #define BFD_SUPPORTS_PLUGINS @supports_plugins@
77    
78  /* The word size used by BFD on the host.  This may be 64 with a 32  /* The word size used by BFD on the host.  This may be 64 with a 32
79     bit target if the host is 64 bit, or if other 64 bit targets have     bit target if the host is 64 bit, or if other 64 bit targets have
80     been selected with --enable-targets, or if --enable-64-bit-bfd.  */     been selected with --enable-targets, or if --enable-64-bit-bfd.  */
# Line 772  extern bfd_boolean bfd_get_file_window Line 774  extern bfd_boolean bfd_get_file_window
774    
775  /* XCOFF support routines for the linker.  */  /* XCOFF support routines for the linker.  */
776    
777    extern bfd_boolean bfd_xcoff_split_import_path
778      (bfd *, const char *, const char **, const char **);
779    extern bfd_boolean bfd_xcoff_set_archive_import_path
780      (struct bfd_link_info *, bfd *, const char *);
781  extern bfd_boolean bfd_xcoff_link_record_set  extern bfd_boolean bfd_xcoff_link_record_set
782    (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, bfd_size_type);    (bfd *, struct bfd_link_info *, struct bfd_link_hash_entry *, bfd_size_type);
783  extern bfd_boolean bfd_xcoff_import_symbol  extern bfd_boolean bfd_xcoff_import_symbol
# Line 786  extern bfd_boolean bfd_xcoff_record_link Line 792  extern bfd_boolean bfd_xcoff_record_link
792  extern bfd_boolean bfd_xcoff_size_dynamic_sections  extern bfd_boolean bfd_xcoff_size_dynamic_sections
793    (bfd *, struct bfd_link_info *, const char *, const char *,    (bfd *, struct bfd_link_info *, const char *, const char *,
794     unsigned long, unsigned long, unsigned long, bfd_boolean,     unsigned long, unsigned long, unsigned long, bfd_boolean,
795     int, bfd_boolean, bfd_boolean, struct bfd_section **, bfd_boolean);     int, bfd_boolean, unsigned int, struct bfd_section **, bfd_boolean);
796  extern bfd_boolean bfd_xcoff_link_generate_rtinit  extern bfd_boolean bfd_xcoff_link_generate_rtinit
797    (bfd *, const char *, const char *, bfd_boolean);    (bfd *, const char *, const char *, bfd_boolean);
798    
# Line 828  extern void bfd_elf32_arm_init_maps Line 834  extern void bfd_elf32_arm_init_maps
834  extern void bfd_elf32_arm_set_vfp11_fix  extern void bfd_elf32_arm_set_vfp11_fix
835    (bfd *, struct bfd_link_info *);    (bfd *, struct bfd_link_info *);
836    
837    extern void bfd_elf32_arm_set_cortex_a8_fix
838      (bfd *, struct bfd_link_info *);
839    
840  extern bfd_boolean bfd_elf32_arm_vfp11_erratum_scan  extern bfd_boolean bfd_elf32_arm_vfp11_erratum_scan
841    (bfd *, struct bfd_link_info *);    (bfd *, struct bfd_link_info *);
842    
# Line 863  extern bfd_boolean bfd_elf32_arm_process Line 872  extern bfd_boolean bfd_elf32_arm_process
872    
873  void bfd_elf32_arm_set_target_relocs  void bfd_elf32_arm_set_target_relocs
874    (bfd *, struct bfd_link_info *, int, char *, int, int, bfd_arm_vfp11_fix,    (bfd *, struct bfd_link_info *, int, char *, int, int, bfd_arm_vfp11_fix,
875     int, int, int);     int, int, int, int);
876    
877  extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking  extern bfd_boolean bfd_elf32_arm_get_bfd_for_interworking
878    (bfd *, struct bfd_link_info *);    (bfd *, struct bfd_link_info *);
# Line 901  extern bfd_boolean elf32_arm_size_stubs Line 910  extern bfd_boolean elf32_arm_size_stubs
910     struct bfd_section * (*) (const char *, struct bfd_section *), void (*) (void));     struct bfd_section * (*) (const char *, struct bfd_section *), void (*) (void));
911  extern bfd_boolean elf32_arm_build_stubs  extern bfd_boolean elf32_arm_build_stubs
912    (struct bfd_link_info *);    (struct bfd_link_info *);
913      
914    /* ARM unwind section editing support.  */
915    extern bfd_boolean elf32_arm_fix_exidx_coverage
916      (struct bfd_section **, unsigned int, struct bfd_link_info *);
917    
918  /* TI COFF load page support.  */  /* TI COFF load page support.  */
919  extern void bfd_ticoff_set_section_load_page  extern void bfd_ticoff_set_section_load_page
920    (struct bfd_section *, int);    (struct bfd_section *, int);
# Line 1109  long bfd_get_mtime (bfd *abfd); Line 1122  long bfd_get_mtime (bfd *abfd);
1122    
1123  file_ptr bfd_get_size (bfd *abfd);  file_ptr bfd_get_size (bfd *abfd);
1124    
1125    void *bfd_mmap (bfd *abfd, void *addr, bfd_size_type len,
1126        int prot, int flags, file_ptr offset);
1127    
1128  /* Extracted from bfdwin.c.  */  /* Extracted from bfdwin.c.  */
1129  /* Extracted from section.c.  */  /* Extracted from section.c.  */
1130  typedef struct bfd_section  typedef struct bfd_section
# Line 1304  typedef struct bfd_section Line 1320  typedef struct bfd_section
1320       TMS320C54X only.  */       TMS320C54X only.  */
1321  #define SEC_TIC54X_CLINK 0x20000000  #define SEC_TIC54X_CLINK 0x20000000
1322    
1323      /* Indicate that section has the no read flag set. This happens
1324         when memory read flag isn't set. */
1325    #define SEC_COFF_NOREAD 0x40000000
1326    
1327    /*  End of section flags.  */    /*  End of section flags.  */
1328    
1329    /* Some internal packed boolean fields.  */    /* Some internal packed boolean fields.  */
# Line 1343  typedef struct bfd_section Line 1363  typedef struct bfd_section
1363    /* Nonzero if this section has TLS related relocations.  */    /* Nonzero if this section has TLS related relocations.  */
1364    unsigned int has_tls_reloc:1;    unsigned int has_tls_reloc:1;
1365    
1366      /* Nonzero if this section has a call to __tls_get_addr.  */
1367      unsigned int has_tls_get_addr_call:1;
1368    
1369    /* Nonzero if this section has a gp reloc.  */    /* Nonzero if this section has a gp reloc.  */
1370    unsigned int has_gp_reloc:1;    unsigned int has_gp_reloc:1;
1371    
# Line 1603  extern asection bfd_ind_section; Line 1626  extern asection bfd_ind_section;
1626    /* segment_mark, sec_info_type, use_rela_p, has_tls_reloc,       */  \    /* segment_mark, sec_info_type, use_rela_p, has_tls_reloc,       */  \
1627       0,            0,             0,          0,                       \       0,            0,             0,          0,                       \
1628                                                                         \                                                                         \
1629    /* has_gp_reloc, need_finalize_relax, reloc_done,                */  \    /* has_tls_get_addr_call, has_gp_reloc, need_finalize_relax,     */  \
1630       0,            0,                   0,                             \       0,                     0,            0,                           \
1631                                                                         \                                                                         \
1632    /* vma, lma, size, rawsize                                       */  \    /* reloc_done, vma, lma, size, rawsize                           */  \
1633       0,   0,   0,    0,                                                \       0,          0,   0,   0,    0,                                    \
1634                                                                         \                                                                         \
1635    /* output_offset, output_section,              alignment_power,  */  \    /* output_offset, output_section,              alignment_power,  */  \
1636       0,             (struct bfd_section *) &SEC, 0,                    \       0,             (struct bfd_section *) &SEC, 0,                    \
# Line 1801  enum bfd_architecture Line 1824  enum bfd_architecture
1824  #define bfd_mach_mips_loongson_2f      3002  #define bfd_mach_mips_loongson_2f      3002
1825  #define bfd_mach_mips_sb1              12310201 /* octal 'SB', 01 */  #define bfd_mach_mips_sb1              12310201 /* octal 'SB', 01 */
1826  #define bfd_mach_mips_octeon           6501  #define bfd_mach_mips_octeon           6501
1827    #define bfd_mach_mips_xlr              887682   /* decimal 'XLR'  */
1828  #define bfd_mach_mipsisa32             32  #define bfd_mach_mipsisa32             32
1829  #define bfd_mach_mipsisa32r2           33  #define bfd_mach_mipsisa32r2           33
1830  #define bfd_mach_mipsisa64             64  #define bfd_mach_mipsisa64             64
# Line 1811  enum bfd_architecture Line 1835  enum bfd_architecture
1835  #define bfd_mach_i386_i386_intel_syntax 3  #define bfd_mach_i386_i386_intel_syntax 3
1836  #define bfd_mach_x86_64 64  #define bfd_mach_x86_64 64
1837  #define bfd_mach_x86_64_intel_syntax 65  #define bfd_mach_x86_64_intel_syntax 65
1838      bfd_arch_l1om,   /* Intel L1OM */
1839    #define bfd_mach_l1om 66
1840    #define bfd_mach_l1om_intel_syntax 67
1841    bfd_arch_we32k,     /* AT&T WE32xxx */    bfd_arch_we32k,     /* AT&T WE32xxx */
1842    bfd_arch_tahoe,     /* CCI/Harris Tahoe */    bfd_arch_tahoe,     /* CCI/Harris Tahoe */
1843    bfd_arch_i860,      /* Intel 860 */    bfd_arch_i860,      /* Intel 860 */
# Line 1829  enum bfd_architecture Line 1856  enum bfd_architecture
1856  #define bfd_mach_h8300sx  6  #define bfd_mach_h8300sx  6
1857  #define bfd_mach_h8300sxn 7  #define bfd_mach_h8300sxn 7
1858    bfd_arch_pdp11,     /* DEC PDP-11 */    bfd_arch_pdp11,     /* DEC PDP-11 */
1859      bfd_arch_plugin,
1860    bfd_arch_powerpc,   /* PowerPC */    bfd_arch_powerpc,   /* PowerPC */
1861  #define bfd_mach_ppc           32  #define bfd_mach_ppc           32
1862  #define bfd_mach_ppc64         64  #define bfd_mach_ppc64         64
1863  #define bfd_mach_ppc_403       403  #define bfd_mach_ppc_403       403
1864  #define bfd_mach_ppc_403gc     4030  #define bfd_mach_ppc_403gc     4030
1865    #define bfd_mach_ppc_405       405
1866  #define bfd_mach_ppc_505       505  #define bfd_mach_ppc_505       505
1867  #define bfd_mach_ppc_601       601  #define bfd_mach_ppc_601       601
1868  #define bfd_mach_ppc_602       602  #define bfd_mach_ppc_602       602
# Line 1956  enum bfd_architecture Line 1985  enum bfd_architecture
1985  #define bfd_mach_frvtomcat     499     /* fr500 prototype */  #define bfd_mach_frvtomcat     499     /* fr500 prototype */
1986  #define bfd_mach_fr500         500  #define bfd_mach_fr500         500
1987  #define bfd_mach_fr550         550  #define bfd_mach_fr550         550
1988      bfd_arch_moxie,       /* The moxie processor */
1989    #define bfd_mach_moxie         1
1990    bfd_arch_mcore,    bfd_arch_mcore,
1991    bfd_arch_mep,    bfd_arch_mep,
1992  #define bfd_mach_mep           1  #define bfd_mach_mep           1
1993  #define bfd_mach_mep_h1        0x6831  #define bfd_mach_mep_h1        0x6831
1994    #define bfd_mach_mep_c5        0x6335
1995    bfd_arch_ia64,      /* HP/Intel ia64 */    bfd_arch_ia64,      /* HP/Intel ia64 */
1996  #define bfd_mach_ia64_elf64    64  #define bfd_mach_ia64_elf64    64
1997  #define bfd_mach_ia64_elf32    32  #define bfd_mach_ia64_elf32    32
# Line 2001  enum bfd_architecture Line 2033  enum bfd_architecture
2033  #define bfd_mach_s390_31       31  #define bfd_mach_s390_31       31
2034  #define bfd_mach_s390_64       64  #define bfd_mach_s390_64       64
2035    bfd_arch_score,     /* Sunplus score */    bfd_arch_score,     /* Sunplus score */
2036    #define bfd_mach_score3         3
2037    #define bfd_mach_score7         7
2038    bfd_arch_openrisc,  /* OpenRISC */    bfd_arch_openrisc,  /* OpenRISC */
2039    bfd_arch_mmix,      /* Donald Knuth's educational processor.  */    bfd_arch_mmix,      /* Donald Knuth's educational processor.  */
2040    bfd_arch_xstormy16,    bfd_arch_xstormy16,
# Line 2035  enum bfd_architecture Line 2069  enum bfd_architecture
2069  #define bfd_mach_z80            3 /* With ixl, ixh, iyl, and iyh.  */  #define bfd_mach_z80            3 /* With ixl, ixh, iyl, and iyh.  */
2070  #define bfd_mach_z80full        7 /* All undocumented instructions.  */  #define bfd_mach_z80full        7 /* All undocumented instructions.  */
2071  #define bfd_mach_r800           11 /* R800: successor with multiplication.  */  #define bfd_mach_r800           11 /* R800: successor with multiplication.  */
2072      bfd_arch_lm32,      /* Lattice Mico32 */
2073    #define bfd_mach_lm32      1
2074    bfd_arch_last    bfd_arch_last
2075    };    };
2076    
# Line 2361  The 24-bit relocation is used in some In Line 2397  The 24-bit relocation is used in some In
2397    BFD_RELOC_68K_GLOB_DAT,    BFD_RELOC_68K_GLOB_DAT,
2398    BFD_RELOC_68K_JMP_SLOT,    BFD_RELOC_68K_JMP_SLOT,
2399    BFD_RELOC_68K_RELATIVE,    BFD_RELOC_68K_RELATIVE,
2400      BFD_RELOC_68K_TLS_GD32,
2401      BFD_RELOC_68K_TLS_GD16,
2402      BFD_RELOC_68K_TLS_GD8,
2403      BFD_RELOC_68K_TLS_LDM32,
2404      BFD_RELOC_68K_TLS_LDM16,
2405      BFD_RELOC_68K_TLS_LDM8,
2406      BFD_RELOC_68K_TLS_LDO32,
2407      BFD_RELOC_68K_TLS_LDO16,
2408      BFD_RELOC_68K_TLS_LDO8,
2409      BFD_RELOC_68K_TLS_IE32,
2410      BFD_RELOC_68K_TLS_IE16,
2411      BFD_RELOC_68K_TLS_IE8,
2412      BFD_RELOC_68K_TLS_LE32,
2413      BFD_RELOC_68K_TLS_LE16,
2414      BFD_RELOC_68K_TLS_LE8,
2415    
2416  /* Linkage-table relative.  */  /* Linkage-table relative.  */
2417    BFD_RELOC_32_BASEREL,    BFD_RELOC_32_BASEREL,
# Line 2498  relocation types already defined.  */ Line 2549  relocation types already defined.  */
2549    BFD_RELOC_SPU_HI16,    BFD_RELOC_SPU_HI16,
2550    BFD_RELOC_SPU_PPU32,    BFD_RELOC_SPU_PPU32,
2551    BFD_RELOC_SPU_PPU64,    BFD_RELOC_SPU_PPU64,
2552      BFD_RELOC_SPU_ADD_PIC,
2553    
2554  /* Alpha ECOFF and ELF relocations.  Some of these treat the symbol or  /* Alpha ECOFF and ELF relocations.  Some of these treat the symbol or
2555  "addend" in some special way.  "addend" in some special way.
# Line 2568  share a common GP, and the target addres Line 2620  share a common GP, and the target addres
2620  STO_ALPHA_STD_GPLOAD.  */  STO_ALPHA_STD_GPLOAD.  */
2621    BFD_RELOC_ALPHA_BRSGP,    BFD_RELOC_ALPHA_BRSGP,
2622    
2623    /* The NOP relocation outputs a NOP if the longword displacement
2624    between two procedure entry points is < 2^21.  */
2625      BFD_RELOC_ALPHA_NOP,
2626    
2627    /* The BSR relocation outputs a BSR if the longword displacement
2628    between two procedure entry points is < 2^21.  */
2629      BFD_RELOC_ALPHA_BSR,
2630    
2631    /* The LDA relocation outputs a LDA if the longword displacement
2632    between two procedure entry points is < 2^16.  */
2633      BFD_RELOC_ALPHA_LDA,
2634    
2635    /* The BOH relocation outputs a BSR if the longword displacement
2636    between two procedure entry points is < 2^21, or else a hint.  */
2637      BFD_RELOC_ALPHA_BOH,
2638    
2639  /* Alpha thread-local storage relocations.  */  /* Alpha thread-local storage relocations.  */
2640    BFD_RELOC_ALPHA_TLSGD,    BFD_RELOC_ALPHA_TLSGD,
2641    BFD_RELOC_ALPHA_TLSLDM,    BFD_RELOC_ALPHA_TLSLDM,
# Line 2676  to compensate for the borrow when the lo Line 2744  to compensate for the borrow when the lo
2744    BFD_RELOC_MIPS_JUMP_SLOT,    BFD_RELOC_MIPS_JUMP_SLOT,
2745    
2746    
2747    /* Moxie ELF relocations.  */
2748      BFD_RELOC_MOXIE_10_PCREL,
2749    
2750    
2751  /* Fujitsu Frv Relocations.  */  /* Fujitsu Frv Relocations.  */
2752    BFD_RELOC_FRV_LABEL16,    BFD_RELOC_FRV_LABEL16,
2753    BFD_RELOC_FRV_LABEL24,    BFD_RELOC_FRV_LABEL24,
# Line 2780  relaxation.  */ Line 2852  relaxation.  */
2852    BFD_RELOC_386_TLS_GOTDESC,    BFD_RELOC_386_TLS_GOTDESC,
2853    BFD_RELOC_386_TLS_DESC_CALL,    BFD_RELOC_386_TLS_DESC_CALL,
2854    BFD_RELOC_386_TLS_DESC,    BFD_RELOC_386_TLS_DESC,
2855      BFD_RELOC_386_IRELATIVE,
2856    
2857  /* x86-64/elf relocations  */  /* x86-64/elf relocations  */
2858    BFD_RELOC_X86_64_GOT32,    BFD_RELOC_X86_64_GOT32,
# Line 2808  relaxation.  */ Line 2881  relaxation.  */
2881    BFD_RELOC_X86_64_GOTPC32_TLSDESC,    BFD_RELOC_X86_64_GOTPC32_TLSDESC,
2882    BFD_RELOC_X86_64_TLSDESC_CALL,    BFD_RELOC_X86_64_TLSDESC_CALL,
2883    BFD_RELOC_X86_64_TLSDESC,    BFD_RELOC_X86_64_TLSDESC,
2884      BFD_RELOC_X86_64_IRELATIVE,
2885    
2886  /* ns32k relocations  */  /* ns32k relocations  */
2887    BFD_RELOC_NS32K_IMM_8,    BFD_RELOC_NS32K_IMM_8,
# Line 2892  relaxation.  */ Line 2966  relaxation.  */
2966    
2967  /* PowerPC and PowerPC64 thread-local storage relocations.  */  /* PowerPC and PowerPC64 thread-local storage relocations.  */
2968    BFD_RELOC_PPC_TLS,    BFD_RELOC_PPC_TLS,
2969      BFD_RELOC_PPC_TLSGD,
2970      BFD_RELOC_PPC_TLSLD,
2971    BFD_RELOC_PPC_DTPMOD,    BFD_RELOC_PPC_DTPMOD,
2972    BFD_RELOC_PPC_TPREL16,    BFD_RELOC_PPC_TPREL16,
2973    BFD_RELOC_PPC_TPREL16_LO,    BFD_RELOC_PPC_TPREL16_LO,
# Line 3855  instructions  */ Line 3931  instructions  */
3931    BFD_RELOC_390_GOTPLT20,    BFD_RELOC_390_GOTPLT20,
3932    BFD_RELOC_390_TLS_GOTIE20,    BFD_RELOC_390_TLS_GOTIE20,
3933    
3934  /* Score relocations  */  /* Score relocations
3935    BFD_RELOC_SCORE_DUMMY1,  Low 16 bit for load/store  */
   
 /* Low 16 bit for load/store  */  
3936    BFD_RELOC_SCORE_GPREL15,    BFD_RELOC_SCORE_GPREL15,
3937    
3938  /* This is a 24-bit reloc with the right 1 bit assumed to be 0  */  /* This is a 24-bit reloc with the right 1 bit assumed to be 0  */
# Line 3868  instructions  */ Line 3942  instructions  */
3942  /* This is a 19-bit reloc with the right 1 bit assumed to be 0  */  /* This is a 19-bit reloc with the right 1 bit assumed to be 0  */
3943    BFD_RELOC_SCORE_BRANCH,    BFD_RELOC_SCORE_BRANCH,
3944    
3945    /* This is a 32-bit reloc for 48-bit instructions.  */
3946      BFD_RELOC_SCORE_IMM30,
3947    
3948    /* This is a 32-bit reloc for 48-bit instructions.  */
3949      BFD_RELOC_SCORE_IMM32,
3950    
3951  /* This is a 11-bit reloc with the right 1 bit assumed to be 0  */  /* This is a 11-bit reloc with the right 1 bit assumed to be 0  */
3952    BFD_RELOC_SCORE16_JMP,    BFD_RELOC_SCORE16_JMP,
3953    
3954  /* This is a 8-bit reloc with the right 1 bit assumed to be 0  */  /* This is a 8-bit reloc with the right 1 bit assumed to be 0  */
3955    BFD_RELOC_SCORE16_BRANCH,    BFD_RELOC_SCORE16_BRANCH,
3956    
3957    /* This is a 9-bit reloc with the right 1 bit assumed to be 0  */
3958      BFD_RELOC_SCORE_BCMP,
3959    
3960  /* Undocumented Score relocs  */  /* Undocumented Score relocs  */
3961    BFD_RELOC_SCORE_GOT15,    BFD_RELOC_SCORE_GOT15,
3962    BFD_RELOC_SCORE_GOT_LO16,    BFD_RELOC_SCORE_GOT_LO16,
# Line 4412  BFD_RELOC_XTENSA_ASM_EXPAND.  */ Line 4495  BFD_RELOC_XTENSA_ASM_EXPAND.  */
4495    
4496  /* 4 bit value.  */  /* 4 bit value.  */
4497    BFD_RELOC_Z8K_IMM4L,    BFD_RELOC_Z8K_IMM4L,
4498    
4499    /* Lattice Mico32 relocations.  */
4500      BFD_RELOC_LM32_CALL,
4501      BFD_RELOC_LM32_BRANCH,
4502      BFD_RELOC_LM32_16_GOT,
4503      BFD_RELOC_LM32_GOTOFF_HI16,
4504      BFD_RELOC_LM32_GOTOFF_LO16,
4505      BFD_RELOC_LM32_COPY,
4506      BFD_RELOC_LM32_GLOB_DAT,
4507      BFD_RELOC_LM32_JMP_SLOT,
4508      BFD_RELOC_LM32_RELATIVE,
4509    
4510    /* Difference between two section addreses.  Must be followed by a
4511    BFD_RELOC_MACH_O_PAIR.  */
4512      BFD_RELOC_MACH_O_SECTDIFF,
4513    
4514    /* Mach-O generic relocations.  */
4515      BFD_RELOC_MACH_O_PAIR,
4516    BFD_RELOC_UNUSED };    BFD_RELOC_UNUSED };
4517  typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;  typedef enum bfd_reloc_code_real bfd_reloc_code_real_type;
4518  reloc_howto_type *bfd_reloc_type_lookup  reloc_howto_type *bfd_reloc_type_lookup
# Line 4538  typedef struct bfd_symbol Line 4639  typedef struct bfd_symbol
4639    /* This symbol was created by bfd_get_synthetic_symtab.  */    /* This symbol was created by bfd_get_synthetic_symtab.  */
4640  #define BSF_SYNTHETIC          (1 << 21)  #define BSF_SYNTHETIC          (1 << 21)
4641    
4642      /* This symbol is an indirect code object.  Unrelated to BSF_INDIRECT.
4643         The dynamic linker will compute the value of this symbol by
4644         calling the function that it points to.  BSF_FUNCTION must
4645         also be also set.  */
4646    #define BSF_GNU_INDIRECT_FUNCTION (1 << 22)
4647      /* This symbol is a globally unique data object.  The dynamic linker
4648         will make sure that in the entire process there is just one symbol
4649         with this name and type in use.  BSF_OBJECT must also be set.  */
4650    #define BSF_GNU_UNIQUE         (1 << 23)
4651    
4652    flagword flags;    flagword flags;
4653    
4654    /* A pointer to the section to which this symbol is    /* A pointer to the section to which this symbol is
# Line 4710  struct bfd Line 4821  struct bfd
4821       to any input file.  */       to any input file.  */
4822  #define BFD_LINKER_CREATED 0x2000  #define BFD_LINKER_CREATED 0x2000
4823    
4824      /* This may be set before writing out a BFD to request that it
4825         be written using values for UIDs, GIDs, timestamps, etc. that
4826         will be consistent from run to run.  */
4827    #define BFD_DETERMINISTIC_OUTPUT 0x4000
4828    
4829    /* Currently my_archive is tested before adding origin to    /* Currently my_archive is tested before adding origin to
4830       anything. I believe that this can become always an add of       anything. I believe that this can become always an add of
4831       origin, with origin set to 0 for non archive files.  */       origin, with origin set to 0 for non archive files.  */
# Line 4780  struct bfd Line 4896  struct bfd
4896        struct ieee_data_struct *ieee_data;        struct ieee_data_struct *ieee_data;
4897        struct ieee_ar_data_struct *ieee_ar_data;        struct ieee_ar_data_struct *ieee_ar_data;
4898        struct srec_data_struct *srec_data;        struct srec_data_struct *srec_data;
4899          struct verilog_data_struct *verilog_data;
4900        struct ihex_data_struct *ihex_data;        struct ihex_data_struct *ihex_data;
4901        struct tekhex_data_struct *tekhex_data;        struct tekhex_data_struct *tekhex_data;
4902        struct elf_obj_tdata *elf_obj_data;        struct elf_obj_tdata *elf_obj_data;
# Line 4800  struct bfd Line 4917  struct bfd
4917        struct netbsd_core_struct *netbsd_core_data;        struct netbsd_core_struct *netbsd_core_data;
4918        struct mach_o_data_struct *mach_o_data;        struct mach_o_data_struct *mach_o_data;
4919        struct mach_o_fat_data_struct *mach_o_fat_data;        struct mach_o_fat_data_struct *mach_o_fat_data;
4920          struct plugin_data_struct *plugin_data;
4921        struct bfd_pef_data_struct *pef_data;        struct bfd_pef_data_struct *pef_data;
4922        struct bfd_pef_xlib_data_struct *pef_xlib_data;        struct bfd_pef_xlib_data_struct *pef_xlib_data;
4923        struct bfd_sym_data_struct *sym_data;        struct bfd_sym_data_struct *sym_data;
# Line 5101  enum bfd_flavour Line 5219  enum bfd_flavour
5219    bfd_target_oasys_flavour,    bfd_target_oasys_flavour,
5220    bfd_target_tekhex_flavour,    bfd_target_tekhex_flavour,
5221    bfd_target_srec_flavour,    bfd_target_srec_flavour,
5222      bfd_target_verilog_flavour,
5223    bfd_target_ihex_flavour,    bfd_target_ihex_flavour,
5224    bfd_target_som_flavour,    bfd_target_som_flavour,
5225    bfd_target_os9k_flavour,    bfd_target_os9k_flavour,
# Line 5383  typedef struct bfd_target Line 5502  typedef struct bfd_target
5502    NAME##_bfd_merge_sections, \    NAME##_bfd_merge_sections, \
5503    NAME##_bfd_is_group_section, \    NAME##_bfd_is_group_section, \
5504    NAME##_bfd_discard_group, \    NAME##_bfd_discard_group, \
5505    NAME##_section_already_linked \    NAME##_section_already_linked, \
5506      NAME##_bfd_define_common_symbol
5507    
5508    int         (*_bfd_sizeof_headers) (bfd *, struct bfd_link_info *);    int         (*_bfd_sizeof_headers) (bfd *, struct bfd_link_info *);
5509    bfd_byte *  (*_bfd_get_relocated_section_contents)    bfd_byte *  (*_bfd_get_relocated_section_contents)
# Line 5431  typedef struct bfd_target Line 5551  typedef struct bfd_target
5551    void (*_section_already_linked) (bfd *, struct bfd_section *,    void (*_section_already_linked) (bfd *, struct bfd_section *,
5552                                     struct bfd_link_info *);                                     struct bfd_link_info *);
5553    
5554      /* Define a common symbol.  */
5555      bfd_boolean (*_bfd_define_common_symbol) (bfd *, struct bfd_link_info *,
5556                                                struct bfd_link_hash_entry *);
5557    
5558    /* Routines to handle dynamic symbols and relocs.  */    /* Routines to handle dynamic symbols and relocs.  */
5559  #define BFD_JUMP_TABLE_DYNAMIC(NAME) \  #define BFD_JUMP_TABLE_DYNAMIC(NAME) \
5560    NAME##_get_dynamic_symtab_upper_bound, \    NAME##_get_dynamic_symtab_upper_bound, \
# Line 5495  void bfd_section_already_linked (bfd *ab Line 5619  void bfd_section_already_linked (bfd *ab
5619  #define bfd_section_already_linked(abfd, sec, info) \  #define bfd_section_already_linked(abfd, sec, info) \
5620         BFD_SEND (abfd, _section_already_linked, (abfd, sec, info))         BFD_SEND (abfd, _section_already_linked, (abfd, sec, info))
5621    
5622    bfd_boolean bfd_generic_define_common_symbol
5623       (bfd *output_bfd, struct bfd_link_info *info,
5624        struct bfd_link_hash_entry *h);
5625    
5626    #define bfd_define_common_symbol(output_bfd, info, h) \
5627           BFD_SEND (output_bfd, _bfd_define_common_symbol, (output_bfd, info, h))
5628    
5629    struct bfd_elf_version_tree * bfd_find_version_for_sym
5630       (struct bfd_elf_version_tree *verdefs,
5631        const char *sym_name, bfd_boolean *hide);
5632    
5633  /* Extracted from simple.c.  */  /* Extracted from simple.c.  */
5634  bfd_byte *bfd_simple_get_relocated_section_contents  bfd_byte *bfd_simple_get_relocated_section_contents
5635     (bfd *abfd, asection *sec, bfd_byte *outbuf, asymbol **symbol_table);     (bfd *abfd, asection *sec, bfd_byte *outbuf, asymbol **symbol_table);

Legend:
Removed from v.20  
changed lines
  Added in v.21

Back to OSDN">Back to OSDN
ViewVC Help
Powered by ViewVC 1.1.26