/[gcl]/gcl/binutils/bfd/libxcoff.h
ViewVC logotype

Diff of /gcl/binutils/bfd/libxcoff.h

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

revision 1.1.1.1 by camm, Fri Aug 9 05:35:35 2002 UTC revision 1.2 by camm, Fri Sep 9 23:32:14 2005 UTC
# Line 1  Line 1 
1  /* BFD XCOFF object file private structure.  /* BFD XCOFF object file private structure.
2     Copyright (C) 2001, 2002 Free Software Foundation, Inc.     Copyright 2001, 2002 Free Software Foundation, Inc.
3     Written by Tom Rix, Redhat.     Written by Tom Rix, Redhat.
4    
5     This file is part of BFD, the Binary File Descriptor library.     This file is part of BFD, the Binary File Descriptor library.
# Line 39  struct xcoff_backend_data_rec Line 39  struct xcoff_backend_data_rec
39    long _xcoff_machine;    long _xcoff_machine;
40    
41    /* Function pointers to xcoff specific swap routines.  */    /* Function pointers to xcoff specific swap routines.  */
42    void (* _xcoff_swap_ldhdr_in)(bfd *, const PTR, struct internal_ldhdr *);    void (* _xcoff_swap_ldhdr_in)
43    void (* _xcoff_swap_ldhdr_out)(bfd *, const struct internal_ldhdr *, PTR);      PARAMS ((bfd *, const PTR, struct internal_ldhdr *));
44    void (* _xcoff_swap_ldsym_in)(bfd *, const PTR, struct internal_ldsym *);    void (* _xcoff_swap_ldhdr_out)
45    void (* _xcoff_swap_ldsym_out)(bfd *, const struct internal_ldsym *, PTR);      PARAMS ((bfd *, const struct internal_ldhdr *, PTR));
46    void (* _xcoff_swap_ldrel_in)(bfd *, const PTR, struct internal_ldrel *);    void (* _xcoff_swap_ldsym_in)
47    void (* _xcoff_swap_ldrel_out)(bfd *, const struct internal_ldrel *, PTR);      PARAMS ((bfd *, const PTR, struct internal_ldsym *));
48      void (* _xcoff_swap_ldsym_out)
49        PARAMS ((bfd *, const struct internal_ldsym *, PTR));
50      void (* _xcoff_swap_ldrel_in)
51        PARAMS ((bfd *, const PTR, struct internal_ldrel *));
52      void (* _xcoff_swap_ldrel_out)
53        PARAMS ((bfd *, const struct internal_ldrel *, PTR));
54    
55    /* Size of the external struct.  */    /* Size of the external struct.  */
56    unsigned int _xcoff_ldhdrsz;    unsigned int _xcoff_ldhdrsz;
# Line 62  struct xcoff_backend_data_rec Line 68  struct xcoff_backend_data_rec
68       2 : XCOFF64.  */       2 : XCOFF64.  */
69    unsigned long _xcoff_ldhdr_version;    unsigned long _xcoff_ldhdr_version;
70    
71    boolean (* _xcoff_put_symbol_name)    bfd_boolean (* _xcoff_put_symbol_name)
72         PARAMS ((bfd *, struct bfd_strtab_hash *, struct internal_syment *,      PARAMS ((bfd *, struct bfd_strtab_hash *, struct internal_syment *,
73                  const char *));               const char *));
74    
75    boolean (* _xcoff_put_ldsymbol_name)    bfd_boolean (* _xcoff_put_ldsymbol_name)
76         PARAMS ((bfd *, struct xcoff_loader_info *, struct internal_ldsym *,      PARAMS ((bfd *, struct xcoff_loader_info *, struct internal_ldsym *,
77                  const char *));               const char *));
78    
79    reloc_howto_type *_xcoff_dynamic_reloc;    reloc_howto_type *_xcoff_dynamic_reloc;
80    
81    asection * (* _xcoff_create_csect_from_smclas)    asection * (* _xcoff_create_csect_from_smclas)
82         PARAMS ((bfd *, union internal_auxent *, const char *));      PARAMS ((bfd *, union internal_auxent *, const char *));
83    
84    /* Line number and relocation overflow.    /* Line number and relocation overflow.
85       XCOFF32 overflows to another section when the line number or the       XCOFF32 overflows to another section when the line number or the
86       relocation count exceeds 0xffff.  XCOFF64 does not overflow.  */       relocation count exceeds 0xffff.  XCOFF64 does not overflow.  */
87    boolean (*_xcoff_is_lineno_count_overflow)(bfd *, bfd_vma);    bfd_boolean (*_xcoff_is_lineno_count_overflow)
88    boolean (*_xcoff_is_reloc_count_overflow)(bfd *, bfd_vma);      PARAMS ((bfd *, bfd_vma));
89      bfd_boolean (*_xcoff_is_reloc_count_overflow)
90        PARAMS ((bfd *, bfd_vma));
91    
92    /* Loader section symbol and relocation table offset    /* Loader section symbol and relocation table offset
93       XCOFF32 is after the .loader header       XCOFF32 is after the .loader header
94       XCOFF64 is offset in .loader header.  */       XCOFF64 is offset in .loader header.  */
95    bfd_vma (*_xcoff_loader_symbol_offset)(bfd *, struct internal_ldhdr *);    bfd_vma (*_xcoff_loader_symbol_offset)
96    bfd_vma (*_xcoff_loader_reloc_offset)(bfd *, struct internal_ldhdr *);      PARAMS ((bfd *, struct internal_ldhdr *));
97      bfd_vma (*_xcoff_loader_reloc_offset)
98        PARAMS ((bfd *, struct internal_ldhdr *));
99        
100    /* Global linkage.  The first word of global linkage code must be be    /* Global linkage.  The first word of global linkage code must be be
101       modified by filling in the correct TOC offset.  */       modified by filling in the correct TOC offset.  */
# Line 96  struct xcoff_backend_data_rec Line 106  struct xcoff_backend_data_rec
106    
107    /* rtinit.  */    /* rtinit.  */
108    unsigned int _xcoff_rtinit_size;    unsigned int _xcoff_rtinit_size;
109    boolean (*_xcoff_generate_rtinit)(bfd *, const char *, const char *,    bfd_boolean (*_xcoff_generate_rtinit)
110                                      boolean);      PARAMS ((bfd *, const char *, const char *, bfd_boolean));
111  };  };
112    
113  /* Look up an entry in an XCOFF link hash table.  */  /* Look up an entry in an XCOFF link hash table.  */
# Line 110  struct xcoff_backend_data_rec Line 120  struct xcoff_backend_data_rec
120  #define xcoff_link_hash_traverse(table, func, info)                     \  #define xcoff_link_hash_traverse(table, func, info)                     \
121    (bfd_link_hash_traverse                                               \    (bfd_link_hash_traverse                                               \
122     (&(table)->root,                                                     \     (&(table)->root,                                                     \
123      (boolean (*) PARAMS ((struct bfd_link_hash_entry *, PTR))) (func),  \      (bfd_boolean (*) PARAMS ((struct bfd_link_hash_entry *, PTR))) (func),      \
124      (info)))      (info)))
125    
126  /* Get the XCOFF link hash table from the info structure.  This is  /* Get the XCOFF link hash table from the info structure.  This is
# Line 217  struct xcoff_backend_data_rec Line 227  struct xcoff_backend_data_rec
227  #define XCOFF_COMPLAIN_FUNCTION_ARGS \  #define XCOFF_COMPLAIN_FUNCTION_ARGS \
228    bfd *, bfd_vma, bfd_vma, struct reloc_howto_struct *howto    bfd *, bfd_vma, bfd_vma, struct reloc_howto_struct *howto
229    
230  extern boolean (*xcoff_calculate_relocation[XCOFF_MAX_CALCULATE_RELOCATION])  extern bfd_boolean (*xcoff_calculate_relocation[XCOFF_MAX_CALCULATE_RELOCATION])
231       (XCOFF_RELOC_FUNCTION_ARGS);    PARAMS ((XCOFF_RELOC_FUNCTION_ARGS));
232  extern boolean (*xcoff_complain_overflow[XCOFF_MAX_COMPLAIN_OVERFLOW])  extern bfd_boolean (*xcoff_complain_overflow[XCOFF_MAX_COMPLAIN_OVERFLOW])
233       (XCOFF_COMPLAIN_FUNCTION_ARGS);    PARAMS ((XCOFF_COMPLAIN_FUNCTION_ARGS));
234    
235  /* Relocation functions */  /* Relocation functions */
236  boolean xcoff_reloc_type_noop PARAMS ((XCOFF_RELOC_FUNCTION_ARGS));  bfd_boolean xcoff_reloc_type_noop PARAMS ((XCOFF_RELOC_FUNCTION_ARGS));
237  boolean xcoff_reloc_type_fail PARAMS ((XCOFF_RELOC_FUNCTION_ARGS));  bfd_boolean xcoff_reloc_type_fail PARAMS ((XCOFF_RELOC_FUNCTION_ARGS));
238  boolean xcoff_reloc_type_pos PARAMS ((XCOFF_RELOC_FUNCTION_ARGS));  bfd_boolean xcoff_reloc_type_pos PARAMS ((XCOFF_RELOC_FUNCTION_ARGS));
239  boolean xcoff_reloc_type_neg PARAMS ((XCOFF_RELOC_FUNCTION_ARGS));  bfd_boolean xcoff_reloc_type_neg PARAMS ((XCOFF_RELOC_FUNCTION_ARGS));
240  boolean xcoff_reloc_type_rel PARAMS ((XCOFF_RELOC_FUNCTION_ARGS));  bfd_boolean xcoff_reloc_type_rel PARAMS ((XCOFF_RELOC_FUNCTION_ARGS));
241  boolean xcoff_reloc_type_toc PARAMS ((XCOFF_RELOC_FUNCTION_ARGS));  bfd_boolean xcoff_reloc_type_toc PARAMS ((XCOFF_RELOC_FUNCTION_ARGS));
242  boolean xcoff_reloc_type_ba PARAMS ((XCOFF_RELOC_FUNCTION_ARGS));  bfd_boolean xcoff_reloc_type_ba PARAMS ((XCOFF_RELOC_FUNCTION_ARGS));
243  boolean xcoff_reloc_type_crel PARAMS ((XCOFF_RELOC_FUNCTION_ARGS));  bfd_boolean xcoff_reloc_type_crel PARAMS ((XCOFF_RELOC_FUNCTION_ARGS));
244    
245  #endif /* LIBXCOFF_H */  #endif /* LIBXCOFF_H */

Legend:
Removed from v.1.1.1.1  
changed lines
  Added in v.1.2

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26