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

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

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

revision 1.2 by rlbrk, Sun Feb 22 09:47:08 2004 UTC revision 1.3 by camm, Fri Sep 9 23:32:14 2005 UTC
# Line 1  Line 1 
1  /* DO NOT EDIT!  -*- buffer-read-only: t -*-  This file is automatically  /* DO NOT EDIT!  -*- buffer-read-only: t -*-  This file is automatically
2     generated from "proto.str                    chew".     generated from "libbfd-in.h", "init.c", "libbfd.c", "bfdio.c",
3       "bfdwin.c", "cache.c", "reloc.c", "archures.c" and "elf.c".
4     Run "make headers" in your build bfd/ to regenerate.  */     Run "make headers" in your build bfd/ to regenerate.  */
5    
6  /* libbfd.h -- Declarations used by bfd library *implementation*.  /* libbfd.h -- Declarations used by bfd library *implementation*.
7     (This include file is not for users of the library.)     (This include file is not for users of the library.)
8     Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,  
9     2000, 2001, 2002     Copyright 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
10       1999, 2000, 2001, 2002, 2003, 2004, 2005
11     Free Software Foundation, Inc.     Free Software Foundation, Inc.
12    
13     Written by Cygnus Support.     Written by Cygnus Support.
14    
15  This file is part of BFD, the Binary File Descriptor library.  This file is part of BFD, the Binary File Descriptor library.
# Line 40  Foundation, Inc., 59 Temple Place - Suit Line 43  Foundation, Inc., 59 Temple Place - Suit
43    
44  /* Set a tdata field.  Can't use the other macros for this, since they  /* Set a tdata field.  Can't use the other macros for this, since they
45     do casts, and casting to the left of assignment isn't portable.  */     do casts, and casting to the left of assignment isn't portable.  */
46  #define set_tdata(bfd, v) ((bfd)->tdata.any = (PTR) (v))  #define set_tdata(bfd, v) ((bfd)->tdata.any = (v))
47    
48  /* If BFD_IN_MEMORY is set for a BFD, then the iostream fields points  /* If BFD_IN_MEMORY is set for a BFD, then the iostream fields points
49     to an instance of this structure.  */     to an instance of this structure.  */
# Line 73  struct artdata { Line 76  struct artdata {
76                                     archive.  */                                     archive.  */
77    file_ptr armap_datepos;       /* Position within archive to seek to    file_ptr armap_datepos;       /* Position within archive to seek to
78                                     rewrite the date field.  */                                     rewrite the date field.  */
79    PTR tdata;                    /* Backend specific information.  */    void *tdata;                  /* Backend specific information.  */
80  };  };
81    
82  #define bfd_ardata(bfd) ((bfd)->tdata.aout_ar_data)  #define bfd_ardata(bfd) ((bfd)->tdata.aout_ar_data)
# Line 87  struct areltdata { Line 90  struct areltdata {
90    
91  #define arelt_size(bfd) (((struct areltdata *)((bfd)->arelt_data))->parsed_size)  #define arelt_size(bfd) (((struct areltdata *)((bfd)->arelt_data))->parsed_size)
92    
93  extern PTR bfd_malloc PARAMS ((bfd_size_type));  extern void *bfd_malloc
94  extern PTR bfd_realloc PARAMS ((PTR, bfd_size_type));    (bfd_size_type);
95  extern PTR bfd_zmalloc PARAMS ((bfd_size_type));  extern void *bfd_realloc
96      (void *, bfd_size_type);
97    extern void *bfd_zmalloc
98      (bfd_size_type);
99    
100    extern void _bfd_default_error_handler (const char *s, ...);
101  extern bfd_error_handler_type _bfd_error_handler;  extern bfd_error_handler_type _bfd_error_handler;
102    
103  /* These routines allocate and free things on the BFD's objalloc.  */  /* These routines allocate and free things on the BFD's objalloc.  */
104    
105  extern PTR bfd_alloc PARAMS ((bfd *, bfd_size_type));  extern void *bfd_alloc
106  extern PTR bfd_zalloc PARAMS ((bfd *, bfd_size_type));    (bfd *, bfd_size_type);
107  extern void bfd_release PARAMS ((bfd *, PTR));  extern void *bfd_zalloc
108      (bfd *, bfd_size_type);
109  bfd *   _bfd_create_empty_archive_element_shell PARAMS ((bfd *obfd));  extern void bfd_release
110  bfd *   _bfd_look_for_bfd_in_cache PARAMS ((bfd *, file_ptr));    (bfd *, void *);
111  boolean _bfd_add_bfd_to_archive_cache PARAMS ((bfd *, file_ptr, bfd *));  
112  boolean _bfd_generic_mkarchive PARAMS ((bfd *abfd));  bfd * _bfd_create_empty_archive_element_shell
113  const bfd_target *bfd_generic_archive_p PARAMS ((bfd *abfd));    (bfd *obfd);
114  boolean bfd_slurp_armap PARAMS ((bfd *abfd));  bfd * _bfd_look_for_bfd_in_cache
115  boolean bfd_slurp_bsd_armap_f2 PARAMS ((bfd *abfd));    (bfd *, file_ptr);
116    bfd_boolean _bfd_add_bfd_to_archive_cache
117      (bfd *, file_ptr, bfd *);
118    bfd_boolean _bfd_generic_mkarchive
119      (bfd *abfd);
120    const bfd_target *bfd_generic_archive_p
121      (bfd *abfd);
122    bfd_boolean bfd_slurp_armap
123      (bfd *abfd);
124    bfd_boolean bfd_slurp_bsd_armap_f2
125      (bfd *abfd);
126  #define bfd_slurp_bsd_armap bfd_slurp_armap  #define bfd_slurp_bsd_armap bfd_slurp_armap
127  #define bfd_slurp_coff_armap bfd_slurp_armap  #define bfd_slurp_coff_armap bfd_slurp_armap
128  boolean _bfd_slurp_extended_name_table PARAMS ((bfd *abfd));  bfd_boolean _bfd_slurp_extended_name_table
129  extern boolean _bfd_construct_extended_name_table    (bfd *abfd);
130    PARAMS ((bfd *, boolean, char **, bfd_size_type *));  extern bfd_boolean _bfd_construct_extended_name_table
131  boolean _bfd_write_archive_contents PARAMS ((bfd *abfd));    (bfd *, bfd_boolean, char **, bfd_size_type *);
132  boolean _bfd_compute_and_write_armap PARAMS ((bfd *, unsigned int elength));  bfd_boolean _bfd_write_archive_contents
133  bfd *_bfd_get_elt_at_filepos PARAMS ((bfd *archive, file_ptr filepos));    (bfd *abfd);
134  extern bfd *_bfd_generic_get_elt_at_index PARAMS ((bfd *, symindex));  bfd_boolean _bfd_compute_and_write_armap
135  bfd * _bfd_new_bfd PARAMS ((void));    (bfd *, unsigned int elength);
136  void _bfd_delete_bfd PARAMS ((bfd *));  bfd *_bfd_get_elt_at_filepos
137      (bfd *archive, file_ptr filepos);
138  boolean bfd_false PARAMS ((bfd *ignore));  extern bfd *_bfd_generic_get_elt_at_index
139  boolean bfd_true PARAMS ((bfd *ignore));    (bfd *, symindex);
140  PTR     bfd_nullvoidptr PARAMS ((bfd *ignore));  bfd * _bfd_new_bfd
141  int     bfd_0 PARAMS ((bfd *ignore));    (void);
142  unsigned int    bfd_0u PARAMS ((bfd *ignore));  void _bfd_delete_bfd
143  long    bfd_0l PARAMS ((bfd *ignore));    (bfd *);
144  long    _bfd_n1 PARAMS ((bfd *ignore));  
145  void    bfd_void PARAMS ((bfd *ignore));  bfd_boolean bfd_false
146      (bfd *ignore);
147  bfd *_bfd_new_bfd_contained_in PARAMS ((bfd *));  bfd_boolean bfd_true
148  const bfd_target *_bfd_dummy_target PARAMS ((bfd *abfd));    (bfd *ignore);
149    void *bfd_nullvoidptr
150  void    bfd_dont_truncate_arname PARAMS ((bfd *abfd, const char *filename,    (bfd *ignore);
151                                          char *hdr));  int bfd_0
152  void    bfd_bsd_truncate_arname PARAMS ((bfd *abfd, const char *filename,    (bfd *ignore);
153                                          char *hdr));  unsigned int bfd_0u
154  void    bfd_gnu_truncate_arname PARAMS ((bfd *abfd, const char *filename,    (bfd *ignore);
155                                          char *hdr));  long bfd_0l
156      (bfd *ignore);
157  boolean bsd_write_armap PARAMS ((bfd *arch, unsigned int elength,  long _bfd_n1
158                                    struct orl *map, unsigned int orl_count, int stridx));    (bfd *ignore);
159    void bfd_void
160  boolean coff_write_armap PARAMS ((bfd *arch, unsigned int elength,    (bfd *ignore);
161                                     struct orl *map, unsigned int orl_count, int stridx));  
162    bfd *_bfd_new_bfd_contained_in
163      (bfd *);
164    const bfd_target *_bfd_dummy_target
165      (bfd *abfd);
166    
167    void bfd_dont_truncate_arname
168      (bfd *abfd, const char *filename, char *hdr);
169    void bfd_bsd_truncate_arname
170      (bfd *abfd, const char *filename, char *hdr);
171    void bfd_gnu_truncate_arname
172      (bfd *abfd, const char *filename, char *hdr);
173    
174    bfd_boolean bsd_write_armap
175      (bfd *arch, unsigned int elength, struct orl *map, unsigned int orl_count,
176       int stridx);
177    
178    bfd_boolean coff_write_armap
179      (bfd *arch, unsigned int elength, struct orl *map, unsigned int orl_count,
180       int stridx);
181    
182    extern void *_bfd_generic_read_ar_hdr
183      (bfd *);
184    
185  extern PTR _bfd_generic_read_ar_hdr PARAMS ((bfd *));  extern void *_bfd_generic_read_ar_hdr_mag
186      (bfd *, const char *);
187    
188  extern PTR _bfd_generic_read_ar_hdr_mag PARAMS ((bfd *, const char *));  bfd * bfd_generic_openr_next_archived_file
189      (bfd *archive, bfd *last_file);
190    
191  bfd *   bfd_generic_openr_next_archived_file PARAMS ((bfd *archive,  int bfd_generic_stat_arch_elt
192                                                       bfd *last_file));    (bfd *, struct stat *);
   
 int     bfd_generic_stat_arch_elt PARAMS ((bfd *, struct stat *));  
193    
194  #define _bfd_read_ar_hdr(abfd) \  #define _bfd_read_ar_hdr(abfd) \
195    BFD_SEND (abfd, _bfd_read_ar_hdr_fn, (abfd))    BFD_SEND (abfd, _bfd_read_ar_hdr_fn, (abfd))
# Line 161  int    bfd_generic_stat_arch_elt PARAMS ((b Line 200  int    bfd_generic_stat_arch_elt PARAMS ((b
200  #define _bfd_generic_close_and_cleanup bfd_true  #define _bfd_generic_close_and_cleanup bfd_true
201  #define _bfd_generic_bfd_free_cached_info bfd_true  #define _bfd_generic_bfd_free_cached_info bfd_true
202  #define _bfd_generic_new_section_hook \  #define _bfd_generic_new_section_hook \
203    ((boolean (*) PARAMS ((bfd *, asection *))) bfd_true)    ((bfd_boolean (*) (bfd *, asection *)) bfd_true)
204  extern boolean _bfd_generic_get_section_contents  extern bfd_boolean _bfd_generic_get_section_contents
205    PARAMS ((bfd *, asection *, PTR, file_ptr, bfd_size_type));    (bfd *, asection *, void *, file_ptr, bfd_size_type);
206  extern boolean _bfd_generic_get_section_contents_in_window  extern bfd_boolean _bfd_generic_get_section_contents_in_window
207    PARAMS ((bfd *, asection *, bfd_window *, file_ptr, bfd_size_type));    (bfd *, asection *, bfd_window *, file_ptr, bfd_size_type);
208    
209  /* Generic routines to use for BFD_JUMP_TABLE_COPY.  Use  /* Generic routines to use for BFD_JUMP_TABLE_COPY.  Use
210     BFD_JUMP_TABLE_COPY (_bfd_generic).  */     BFD_JUMP_TABLE_COPY (_bfd_generic).  */
211    
212  #define _bfd_generic_bfd_copy_private_bfd_data \  #define _bfd_generic_bfd_copy_private_bfd_data \
213    ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true)    ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
214  #define _bfd_generic_bfd_merge_private_bfd_data \  #define _bfd_generic_bfd_merge_private_bfd_data \
215    ((boolean (*) PARAMS ((bfd *, bfd *))) bfd_true)    ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
216  #define _bfd_generic_bfd_set_private_flags \  #define _bfd_generic_bfd_set_private_flags \
217    ((boolean (*) PARAMS ((bfd *, flagword))) bfd_true)    ((bfd_boolean (*) (bfd *, flagword)) bfd_true)
218  #define _bfd_generic_bfd_copy_private_section_data \  #define _bfd_generic_bfd_copy_private_section_data \
219    ((boolean (*) PARAMS ((bfd *, asection *, bfd *, asection *))) bfd_true)    ((bfd_boolean (*) (bfd *, asection *, bfd *, asection *)) bfd_true)
220  #define _bfd_generic_bfd_copy_private_symbol_data \  #define _bfd_generic_bfd_copy_private_symbol_data \
221    ((boolean (*) PARAMS ((bfd *, asymbol *, bfd *, asymbol *))) bfd_true)    ((bfd_boolean (*) (bfd *, asymbol *, bfd *, asymbol *)) bfd_true)
222    #define _bfd_generic_bfd_copy_private_header_data \
223      ((bfd_boolean (*) (bfd *, bfd *)) bfd_true)
224  #define _bfd_generic_bfd_print_private_bfd_data \  #define _bfd_generic_bfd_print_private_bfd_data \
225    ((boolean (*) PARAMS ((bfd *, PTR))) bfd_true)    ((bfd_boolean (*) (bfd *, void *)) bfd_true)
226    
227  /* Routines to use for BFD_JUMP_TABLE_CORE when there is no core file  /* Routines to use for BFD_JUMP_TABLE_CORE when there is no core file
228     support.  Use BFD_JUMP_TABLE_CORE (_bfd_nocore).  */     support.  Use BFD_JUMP_TABLE_CORE (_bfd_nocore).  */
229    
230  extern char *_bfd_nocore_core_file_failing_command PARAMS ((bfd *));  extern char *_bfd_nocore_core_file_failing_command
231  extern int _bfd_nocore_core_file_failing_signal PARAMS ((bfd *));    (bfd *);
232  extern boolean _bfd_nocore_core_file_matches_executable_p  extern int _bfd_nocore_core_file_failing_signal
233    PARAMS ((bfd *, bfd *));    (bfd *);
234    extern bfd_boolean _bfd_nocore_core_file_matches_executable_p
235      (bfd *, bfd *);
236    
237  /* Routines to use for BFD_JUMP_TABLE_ARCHIVE when there is no archive  /* Routines to use for BFD_JUMP_TABLE_ARCHIVE when there is no archive
238     file support.  Use BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive).  */     file support.  Use BFD_JUMP_TABLE_ARCHIVE (_bfd_noarchive).  */
# Line 197  extern boolean _bfd_nocore_core_file_mat Line 240  extern boolean _bfd_nocore_core_file_mat
240  #define _bfd_noarchive_slurp_armap bfd_false  #define _bfd_noarchive_slurp_armap bfd_false
241  #define _bfd_noarchive_slurp_extended_name_table bfd_false  #define _bfd_noarchive_slurp_extended_name_table bfd_false
242  #define _bfd_noarchive_construct_extended_name_table \  #define _bfd_noarchive_construct_extended_name_table \
243    ((boolean (*) PARAMS ((bfd *, char **, bfd_size_type *, const char **))) \    ((bfd_boolean (*) (bfd *, char **, bfd_size_type *, const char **)) \
244     bfd_false)     bfd_false)
245  #define _bfd_noarchive_truncate_arname \  #define _bfd_noarchive_truncate_arname \
246    ((void (*) PARAMS ((bfd *, const char *, char *))) bfd_void)    ((void (*) (bfd *, const char *, char *)) bfd_void)
247  #define _bfd_noarchive_write_armap \  #define _bfd_noarchive_write_armap \
248    ((boolean (*) \    ((bfd_boolean (*) (bfd *, unsigned int, struct orl *, unsigned int, int)) \
     PARAMS ((bfd *, unsigned int, struct orl *, unsigned int, int))) \  
249     bfd_false)     bfd_false)
250  #define _bfd_noarchive_read_ar_hdr bfd_nullvoidptr  #define _bfd_noarchive_read_ar_hdr bfd_nullvoidptr
251  #define _bfd_noarchive_openr_next_archived_file \  #define _bfd_noarchive_openr_next_archived_file \
252    ((bfd *(*) PARAMS ((bfd *, bfd *))) bfd_nullvoidptr)    ((bfd *(*) (bfd *, bfd *)) bfd_nullvoidptr)
253  #define _bfd_noarchive_get_elt_at_index \  #define _bfd_noarchive_get_elt_at_index \
254    ((bfd *(*) PARAMS ((bfd *, symindex))) bfd_nullvoidptr)    ((bfd *(*) (bfd *, symindex)) bfd_nullvoidptr)
255  #define _bfd_noarchive_generic_stat_arch_elt bfd_generic_stat_arch_elt  #define _bfd_noarchive_generic_stat_arch_elt bfd_generic_stat_arch_elt
256  #define _bfd_noarchive_update_armap_timestamp bfd_false  #define _bfd_noarchive_update_armap_timestamp bfd_false
257    
# Line 219  extern boolean _bfd_nocore_core_file_mat Line 261  extern boolean _bfd_nocore_core_file_mat
261  #define _bfd_archive_bsd_slurp_armap bfd_slurp_bsd_armap  #define _bfd_archive_bsd_slurp_armap bfd_slurp_bsd_armap
262  #define _bfd_archive_bsd_slurp_extended_name_table \  #define _bfd_archive_bsd_slurp_extended_name_table \
263    _bfd_slurp_extended_name_table    _bfd_slurp_extended_name_table
264  extern boolean _bfd_archive_bsd_construct_extended_name_table  extern bfd_boolean _bfd_archive_bsd_construct_extended_name_table
265    PARAMS ((bfd *, char **, bfd_size_type *, const char **));    (bfd *, char **, bfd_size_type *, const char **);
266  #define _bfd_archive_bsd_truncate_arname bfd_bsd_truncate_arname  #define _bfd_archive_bsd_truncate_arname bfd_bsd_truncate_arname
267  #define _bfd_archive_bsd_write_armap bsd_write_armap  #define _bfd_archive_bsd_write_armap bsd_write_armap
268  #define _bfd_archive_bsd_read_ar_hdr _bfd_generic_read_ar_hdr  #define _bfd_archive_bsd_read_ar_hdr _bfd_generic_read_ar_hdr
# Line 229  extern boolean _bfd_archive_bsd_construc Line 271  extern boolean _bfd_archive_bsd_construc
271  #define _bfd_archive_bsd_get_elt_at_index _bfd_generic_get_elt_at_index  #define _bfd_archive_bsd_get_elt_at_index _bfd_generic_get_elt_at_index
272  #define _bfd_archive_bsd_generic_stat_arch_elt \  #define _bfd_archive_bsd_generic_stat_arch_elt \
273    bfd_generic_stat_arch_elt    bfd_generic_stat_arch_elt
274  extern boolean _bfd_archive_bsd_update_armap_timestamp PARAMS ((bfd *));  extern bfd_boolean _bfd_archive_bsd_update_armap_timestamp
275      (bfd *);
276    
277  /* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get COFF style  /* Routines to use for BFD_JUMP_TABLE_ARCHIVE to get COFF style
278     archives.  Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff).  */     archives.  Use BFD_JUMP_TABLE_ARCHIVE (_bfd_archive_coff).  */
# Line 237  extern boolean _bfd_archive_bsd_update_a Line 280  extern boolean _bfd_archive_bsd_update_a
280  #define _bfd_archive_coff_slurp_armap bfd_slurp_coff_armap  #define _bfd_archive_coff_slurp_armap bfd_slurp_coff_armap
281  #define _bfd_archive_coff_slurp_extended_name_table \  #define _bfd_archive_coff_slurp_extended_name_table \
282    _bfd_slurp_extended_name_table    _bfd_slurp_extended_name_table
283  extern boolean _bfd_archive_coff_construct_extended_name_table  extern bfd_boolean _bfd_archive_coff_construct_extended_name_table
284    PARAMS ((bfd *, char **, bfd_size_type *, const char **));    (bfd *, char **, bfd_size_type *, const char **);
285  #define _bfd_archive_coff_truncate_arname bfd_dont_truncate_arname  #define _bfd_archive_coff_truncate_arname bfd_dont_truncate_arname
286  #define _bfd_archive_coff_write_armap coff_write_armap  #define _bfd_archive_coff_write_armap coff_write_armap
287  #define _bfd_archive_coff_read_ar_hdr _bfd_generic_read_ar_hdr  #define _bfd_archive_coff_read_ar_hdr _bfd_generic_read_ar_hdr
# Line 253  extern boolean _bfd_archive_coff_constru Line 296  extern boolean _bfd_archive_coff_constru
296     support.  Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).  */     support.  Use BFD_JUMP_TABLE_SYMBOLS (_bfd_nosymbols).  */
297    
298  #define _bfd_nosymbols_get_symtab_upper_bound _bfd_n1  #define _bfd_nosymbols_get_symtab_upper_bound _bfd_n1
299  #define _bfd_nosymbols_get_symtab \  #define _bfd_nosymbols_canonicalize_symtab \
300    ((long (*) PARAMS ((bfd *, asymbol **))) _bfd_n1)    ((long (*) (bfd *, asymbol **)) _bfd_n1)
301  #define _bfd_nosymbols_make_empty_symbol _bfd_generic_make_empty_symbol  #define _bfd_nosymbols_make_empty_symbol _bfd_generic_make_empty_symbol
302  #define _bfd_nosymbols_print_symbol \  #define _bfd_nosymbols_print_symbol \
303    ((void (*) PARAMS ((bfd *, PTR, asymbol *, bfd_print_symbol_type))) bfd_void)    ((void (*) (bfd *, void *, asymbol *, bfd_print_symbol_type)) bfd_void)
304  #define _bfd_nosymbols_get_symbol_info \  #define _bfd_nosymbols_get_symbol_info \
305    ((void (*) PARAMS ((bfd *, asymbol *, symbol_info *))) bfd_void)    ((void (*) (bfd *, asymbol *, symbol_info *)) bfd_void)
306  #define _bfd_nosymbols_bfd_is_local_label_name \  #define _bfd_nosymbols_bfd_is_local_label_name \
307    ((boolean (*) PARAMS ((bfd *, const char *))) bfd_false)    ((bfd_boolean (*) (bfd *, const char *)) bfd_false)
308    #define _bfd_nosymbols_bfd_is_target_special_symbol \
309      ((bfd_boolean (*) (bfd *, asymbol *)) bfd_false)
310  #define _bfd_nosymbols_get_lineno \  #define _bfd_nosymbols_get_lineno \
311    ((alent *(*) PARAMS ((bfd *, asymbol *))) bfd_nullvoidptr)    ((alent *(*) (bfd *, asymbol *)) bfd_nullvoidptr)
312  #define _bfd_nosymbols_find_nearest_line \  #define _bfd_nosymbols_find_nearest_line \
313    ((boolean (*) \    ((bfd_boolean (*) (bfd *, asection *, asymbol **, bfd_vma, const char **, \
314      PARAMS ((bfd *, asection *, asymbol **, bfd_vma, const char **, \                       const char **, unsigned int *)) \
              const char **, unsigned int *))) \  
315     bfd_false)     bfd_false)
316  #define _bfd_nosymbols_bfd_make_debug_symbol \  #define _bfd_nosymbols_bfd_make_debug_symbol \
317    ((asymbol *(*) PARAMS ((bfd *, PTR, unsigned long))) bfd_nullvoidptr)    ((asymbol *(*) (bfd *, void *, unsigned long)) bfd_nullvoidptr)
318  #define _bfd_nosymbols_read_minisymbols \  #define _bfd_nosymbols_read_minisymbols \
319    ((long (*) PARAMS ((bfd *, boolean, PTR *, unsigned int *))) _bfd_n1)    ((long (*) (bfd *, bfd_boolean, void **, unsigned int *)) _bfd_n1)
320  #define _bfd_nosymbols_minisymbol_to_symbol \  #define _bfd_nosymbols_minisymbol_to_symbol \
321    ((asymbol *(*) PARAMS ((bfd *, boolean, const PTR, asymbol *))) \    ((asymbol *(*) (bfd *, bfd_boolean, const void *, asymbol *)) \
322     bfd_nullvoidptr)     bfd_nullvoidptr)
323    
324  /* Routines to use for BFD_JUMP_TABLE_RELOCS when there is no reloc  /* Routines to use for BFD_JUMP_TABLE_RELOCS when there is no reloc
325     support.  Use BFD_JUMP_TABLE_RELOCS (_bfd_norelocs).  */     support.  Use BFD_JUMP_TABLE_RELOCS (_bfd_norelocs).  */
326    
327  #define _bfd_norelocs_get_reloc_upper_bound \  #define _bfd_norelocs_get_reloc_upper_bound \
328    ((long (*) PARAMS ((bfd *, asection *))) _bfd_n1)    ((long (*) (bfd *, asection *)) _bfd_n1)
329  #define _bfd_norelocs_canonicalize_reloc \  #define _bfd_norelocs_canonicalize_reloc \
330    ((long (*) PARAMS ((bfd *, asection *, arelent **, asymbol **))) _bfd_n1)    ((long (*) (bfd *, asection *, arelent **, asymbol **)) _bfd_n1)
331  #define _bfd_norelocs_bfd_reloc_type_lookup \  #define _bfd_norelocs_bfd_reloc_type_lookup \
332    ((reloc_howto_type *(*) PARAMS ((bfd *, bfd_reloc_code_real_type))) \    ((reloc_howto_type *(*) (bfd *, bfd_reloc_code_real_type)) bfd_nullvoidptr)
    bfd_nullvoidptr)  
333    
334  /* Routines to use for BFD_JUMP_TABLE_WRITE for targets which may not  /* Routines to use for BFD_JUMP_TABLE_WRITE for targets which may not
335     be written.  Use BFD_JUMP_TABLE_WRITE (_bfd_nowrite).  */     be written.  Use BFD_JUMP_TABLE_WRITE (_bfd_nowrite).  */
336    
337  #define _bfd_nowrite_set_arch_mach \  #define _bfd_nowrite_set_arch_mach \
338    ((boolean (*) PARAMS ((bfd *, enum bfd_architecture, unsigned long))) \    ((bfd_boolean (*) (bfd *, enum bfd_architecture, unsigned long)) \
339     bfd_false)     bfd_false)
340  #define _bfd_nowrite_set_section_contents \  #define _bfd_nowrite_set_section_contents \
341    ((boolean (*) PARAMS ((bfd *, asection *, PTR, file_ptr, bfd_size_type))) \    ((bfd_boolean (*) (bfd *, asection *, const void *, file_ptr, bfd_size_type)) \
342     bfd_false)     bfd_false)
343    
344  /* Generic routines to use for BFD_JUMP_TABLE_WRITE.  Use  /* Generic routines to use for BFD_JUMP_TABLE_WRITE.  Use
345     BFD_JUMP_TABLE_WRITE (_bfd_generic).  */     BFD_JUMP_TABLE_WRITE (_bfd_generic).  */
346    
347  #define _bfd_generic_set_arch_mach bfd_default_set_arch_mach  #define _bfd_generic_set_arch_mach bfd_default_set_arch_mach
348  extern boolean _bfd_generic_set_section_contents  extern bfd_boolean _bfd_generic_set_section_contents
349    PARAMS ((bfd *, asection *, PTR, file_ptr, bfd_size_type));    (bfd *, asection *, const void *, file_ptr, bfd_size_type);
350    
351  /* Routines to use for BFD_JUMP_TABLE_LINK for targets which do not  /* Routines to use for BFD_JUMP_TABLE_LINK for targets which do not
352     support linking.  Use BFD_JUMP_TABLE_LINK (_bfd_nolink).  */     support linking.  Use BFD_JUMP_TABLE_LINK (_bfd_nolink).  */
353    
354  #define _bfd_nolink_sizeof_headers ((int (*) PARAMS ((bfd *, boolean))) bfd_0)  #define _bfd_nolink_sizeof_headers ((int (*) (bfd *, bfd_boolean)) bfd_0)
355  #define _bfd_nolink_bfd_get_relocated_section_contents \  #define _bfd_nolink_bfd_get_relocated_section_contents \
356    ((bfd_byte *(*) \    ((bfd_byte *(*) (bfd *, struct bfd_link_info *, struct bfd_link_order *, \
357      PARAMS ((bfd *, struct bfd_link_info *, struct bfd_link_order *, \                     bfd_byte *, bfd_boolean, asymbol **)) \
              bfd_byte *, boolean, asymbol **))) \  
358     bfd_nullvoidptr)     bfd_nullvoidptr)
359  #define _bfd_nolink_bfd_relax_section \  #define _bfd_nolink_bfd_relax_section \
360    ((boolean (*) \    ((bfd_boolean (*) \
361      PARAMS ((bfd *, asection *, struct bfd_link_info *, boolean *))) \      (bfd *, asection *, struct bfd_link_info *, bfd_boolean *)) \
362     bfd_false)     bfd_false)
363  #define _bfd_nolink_bfd_gc_sections \  #define _bfd_nolink_bfd_gc_sections \
364    ((boolean (*) \    ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \
     PARAMS ((bfd *, struct bfd_link_info *))) \  
365     bfd_false)     bfd_false)
366  #define _bfd_nolink_bfd_merge_sections \  #define _bfd_nolink_bfd_merge_sections \
367    ((boolean (*) \    ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) \
368      PARAMS ((bfd *, struct bfd_link_info *))) \     bfd_false)
369    #define _bfd_nolink_bfd_is_group_section \
370      ((bfd_boolean (*) (bfd *, const struct bfd_section *)) \
371     bfd_false)     bfd_false)
372  #define _bfd_nolink_bfd_discard_group \  #define _bfd_nolink_bfd_discard_group \
373    ((boolean (*) \    ((bfd_boolean (*) (bfd *, struct bfd_section *)) \
     PARAMS ((bfd *, struct sec *))) \  
374     bfd_false)     bfd_false)
375  #define _bfd_nolink_bfd_link_hash_table_create \  #define _bfd_nolink_bfd_link_hash_table_create \
376    ((struct bfd_link_hash_table *(*) PARAMS ((bfd *))) bfd_nullvoidptr)    ((struct bfd_link_hash_table *(*) (bfd *)) bfd_nullvoidptr)
377  #define _bfd_nolink_bfd_link_hash_table_free \  #define _bfd_nolink_bfd_link_hash_table_free \
378    ((void (*) PARAMS ((struct bfd_link_hash_table *))) bfd_void)    ((void (*) (struct bfd_link_hash_table *)) bfd_void)
379  #define _bfd_nolink_bfd_link_add_symbols \  #define _bfd_nolink_bfd_link_add_symbols \
380    ((boolean (*) PARAMS ((bfd *, struct bfd_link_info *))) bfd_false)    ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false)
381  #define _bfd_nolink_bfd_link_just_syms \  #define _bfd_nolink_bfd_link_just_syms \
382    ((void (*) PARAMS ((asection *, struct bfd_link_info *))) bfd_void)    ((void (*) (asection *, struct bfd_link_info *)) bfd_void)
383  #define _bfd_nolink_bfd_final_link \  #define _bfd_nolink_bfd_final_link \
384    ((boolean (*) PARAMS ((bfd *, struct bfd_link_info *))) bfd_false)    ((bfd_boolean (*) (bfd *, struct bfd_link_info *)) bfd_false)
385  #define _bfd_nolink_bfd_link_split_section \  #define _bfd_nolink_bfd_link_split_section \
386    ((boolean (*) PARAMS ((bfd *, struct sec *))) bfd_false)    ((bfd_boolean (*) (bfd *, struct bfd_section *)) bfd_false)
387    #define _bfd_nolink_section_already_linked \
388      ((void (*) (bfd *, struct bfd_section *)) bfd_void)
389    
390  /* Routines to use for BFD_JUMP_TABLE_DYNAMIC for targets which do not  /* Routines to use for BFD_JUMP_TABLE_DYNAMIC for targets which do not
391     have dynamic symbols or relocs.  Use BFD_JUMP_TABLE_DYNAMIC     have dynamic symbols or relocs.  Use BFD_JUMP_TABLE_DYNAMIC
# Line 349  extern boolean _bfd_generic_set_section_ Line 393  extern boolean _bfd_generic_set_section_
393    
394  #define _bfd_nodynamic_get_dynamic_symtab_upper_bound _bfd_n1  #define _bfd_nodynamic_get_dynamic_symtab_upper_bound _bfd_n1
395  #define _bfd_nodynamic_canonicalize_dynamic_symtab \  #define _bfd_nodynamic_canonicalize_dynamic_symtab \
396    ((long (*) PARAMS ((bfd *, asymbol **))) _bfd_n1)    ((long (*) (bfd *, asymbol **)) _bfd_n1)
397    #define _bfd_nodynamic_get_synthetic_symtab \
398      ((long (*) (bfd *, long, asymbol **, long, asymbol **, asymbol **)) _bfd_n1)
399  #define _bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_n1  #define _bfd_nodynamic_get_dynamic_reloc_upper_bound _bfd_n1
400  #define _bfd_nodynamic_canonicalize_dynamic_reloc \  #define _bfd_nodynamic_canonicalize_dynamic_reloc \
401    ((long (*) PARAMS ((bfd *, arelent **, asymbol **))) _bfd_n1)    ((long (*) (bfd *, arelent **, asymbol **)) _bfd_n1)
402    
403  /* Generic routine to determine of the given symbol is a local  /* Generic routine to determine of the given symbol is a local
404     label.  */     label.  */
405  extern boolean bfd_generic_is_local_label_name PARAMS ((bfd *, const char *));  extern bfd_boolean bfd_generic_is_local_label_name
406      (bfd *, const char *);
407    
408  /* Generic minisymbol routines.  */  /* Generic minisymbol routines.  */
409  extern long _bfd_generic_read_minisymbols  extern long _bfd_generic_read_minisymbols
410    PARAMS ((bfd *, boolean, PTR *, unsigned int *));    (bfd *, bfd_boolean, void **, unsigned int *);
411  extern asymbol *_bfd_generic_minisymbol_to_symbol  extern asymbol *_bfd_generic_minisymbol_to_symbol
412    PARAMS ((bfd *, boolean, const PTR, asymbol *));    (bfd *, bfd_boolean, const void *, asymbol *);
413    
414  /* Find the nearest line using .stab/.stabstr sections.  */  /* Find the nearest line using .stab/.stabstr sections.  */
415  extern boolean _bfd_stab_section_find_nearest_line  extern bfd_boolean _bfd_stab_section_find_nearest_line
416    PARAMS ((bfd *, asymbol **, asection *, bfd_vma, boolean *, const char **,    (bfd *, asymbol **, asection *, bfd_vma, bfd_boolean *,
417             const char **, unsigned int *, PTR *));     const char **, const char **, unsigned int *, void **);
418    
419  /* Find the neaderst line using DWARF 1 debugging information.  */  /* Find the neaderst line using DWARF 1 debugging information.  */
420  extern boolean _bfd_dwarf1_find_nearest_line  extern bfd_boolean _bfd_dwarf1_find_nearest_line
421    PARAMS ((bfd *, asection *, asymbol **, bfd_vma, const char **,    (bfd *, asection *, asymbol **, bfd_vma, const char **,
422             const char **, unsigned int *));     const char **, unsigned int *);
423    
424  /* Find the nearest line using DWARF 2 debugging information.  */  /* Find the nearest line using DWARF 2 debugging information.  */
425  extern boolean _bfd_dwarf2_find_nearest_line  extern bfd_boolean _bfd_dwarf2_find_nearest_line
426    PARAMS ((bfd *, asection *, asymbol **, bfd_vma, const char **,    (bfd *, asection *, asymbol **, bfd_vma, const char **, const char **,
427             const char **, unsigned int *, unsigned int,     unsigned int *, unsigned int, void **);
            PTR *));  
428    
429  /* Create a new section entry.  */  /* Create a new section entry.  */
430  extern struct bfd_hash_entry *bfd_section_hash_newfunc  extern struct bfd_hash_entry *bfd_section_hash_newfunc
431    PARAMS ((struct bfd_hash_entry *, struct bfd_hash_table *, const char *));    (struct bfd_hash_entry *, struct bfd_hash_table *, const char *);
432    
433  /* A routine to create entries for a bfd_link_hash_table.  */  /* A routine to create entries for a bfd_link_hash_table.  */
434  extern struct bfd_hash_entry *_bfd_link_hash_newfunc  extern struct bfd_hash_entry *_bfd_link_hash_newfunc
435    PARAMS ((struct bfd_hash_entry *entry,    (struct bfd_hash_entry *entry, struct bfd_hash_table *table,
436             struct bfd_hash_table *table,     const char *string);
            const char *string));  
437    
438  /* Initialize a bfd_link_hash_table.  */  /* Initialize a bfd_link_hash_table.  */
439  extern boolean _bfd_link_hash_table_init  extern bfd_boolean _bfd_link_hash_table_init
440    PARAMS ((struct bfd_link_hash_table *, bfd *,    (struct bfd_link_hash_table *, bfd *,
441             struct bfd_hash_entry *(*) (struct bfd_hash_entry *,     struct bfd_hash_entry *(*) (struct bfd_hash_entry *,
442                                         struct bfd_hash_table *,                                 struct bfd_hash_table *,
443                                         const char *)));                                 const char *));
444    
445  /* Generic link hash table creation routine.  */  /* Generic link hash table creation routine.  */
446  extern struct bfd_link_hash_table *_bfd_generic_link_hash_table_create  extern struct bfd_link_hash_table *_bfd_generic_link_hash_table_create
447    PARAMS ((bfd *));    (bfd *);
448    
449  /* Generic link hash table destruction routine.  */  /* Generic link hash table destruction routine.  */
450  extern void _bfd_generic_link_hash_table_free  extern void _bfd_generic_link_hash_table_free
451    PARAMS ((struct bfd_link_hash_table *));    (struct bfd_link_hash_table *);
452    
453  /* Generic add symbol routine.  */  /* Generic add symbol routine.  */
454  extern boolean _bfd_generic_link_add_symbols  extern bfd_boolean _bfd_generic_link_add_symbols
455    PARAMS ((bfd *, struct bfd_link_info *));    (bfd *, struct bfd_link_info *);
456    
457  /* Generic add symbol routine.  This version is used by targets for  /* Generic add symbol routine.  This version is used by targets for
458     which the linker must collect constructors and destructors by name,     which the linker must collect constructors and destructors by name,
459     as the collect2 program does.  */     as the collect2 program does.  */
460  extern boolean _bfd_generic_link_add_symbols_collect  extern bfd_boolean _bfd_generic_link_add_symbols_collect
461    PARAMS ((bfd *, struct bfd_link_info *));    (bfd *, struct bfd_link_info *);
462    
463  /* Generic archive add symbol routine.  */  /* Generic archive add symbol routine.  */
464  extern boolean _bfd_generic_link_add_archive_symbols  extern bfd_boolean _bfd_generic_link_add_archive_symbols
465    PARAMS ((bfd *, struct bfd_link_info *,    (bfd *, struct bfd_link_info *,
466             boolean (*checkfn) (bfd *, struct bfd_link_info *, boolean *)));     bfd_boolean (*) (bfd *, struct bfd_link_info *, bfd_boolean *));
467    
468  /* Forward declaration to avoid prototype errors.  */  /* Forward declaration to avoid prototype errors.  */
469  typedef struct bfd_link_hash_entry _bfd_link_hash_entry;  typedef struct bfd_link_hash_entry _bfd_link_hash_entry;
470    
471  /* Generic routine to add a single symbol.  */  /* Generic routine to add a single symbol.  */
472  extern boolean _bfd_generic_link_add_one_symbol  extern bfd_boolean _bfd_generic_link_add_one_symbol
473    PARAMS ((struct bfd_link_info *, bfd *, const char *name, flagword,    (struct bfd_link_info *, bfd *, const char *name, flagword,
474             asection *, bfd_vma, const char *, boolean copy,     asection *, bfd_vma, const char *, bfd_boolean copy,
475             boolean constructor, struct bfd_link_hash_entry **));     bfd_boolean constructor, struct bfd_link_hash_entry **);
476    
477  /* Generic routine to mark section as supplying symbols only.  */  /* Generic routine to mark section as supplying symbols only.  */
478  extern void _bfd_generic_link_just_syms  extern void _bfd_generic_link_just_syms
479    PARAMS ((asection *, struct bfd_link_info *));    (asection *, struct bfd_link_info *);
480    
481  /* Generic link routine.  */  /* Generic link routine.  */
482  extern boolean _bfd_generic_final_link  extern bfd_boolean _bfd_generic_final_link
483    PARAMS ((bfd *, struct bfd_link_info *));    (bfd *, struct bfd_link_info *);
484    
485    extern bfd_boolean _bfd_generic_link_split_section
486      (bfd *, struct bfd_section *);
487    
488  extern boolean _bfd_generic_link_split_section  extern void _bfd_generic_section_already_linked
489    PARAMS ((bfd *, struct sec *));    (bfd *, struct bfd_section *);
490    
491  /* Generic reloc_link_order processing routine.  */  /* Generic reloc_link_order processing routine.  */
492  extern boolean _bfd_generic_reloc_link_order  extern bfd_boolean _bfd_generic_reloc_link_order
493    PARAMS ((bfd *, struct bfd_link_info *, asection *,    (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *);
            struct bfd_link_order *));  
494    
495  /* Default link order processing routine.  */  /* Default link order processing routine.  */
496  extern boolean _bfd_default_link_order  extern bfd_boolean _bfd_default_link_order
497    PARAMS ((bfd *, struct bfd_link_info *, asection *,    (bfd *, struct bfd_link_info *, asection *, struct bfd_link_order *);
            struct bfd_link_order *));  
498    
499  /* Count the number of reloc entries in a link order list.  */  /* Count the number of reloc entries in a link order list.  */
500  extern unsigned int _bfd_count_link_order_relocs  extern unsigned int _bfd_count_link_order_relocs
501    PARAMS ((struct bfd_link_order *));    (struct bfd_link_order *);
502    
503  /* Final link relocation routine.  */  /* Final link relocation routine.  */
504  extern bfd_reloc_status_type _bfd_final_link_relocate  extern bfd_reloc_status_type _bfd_final_link_relocate
505    PARAMS ((reloc_howto_type *, bfd *, asection *, bfd_byte *,    (reloc_howto_type *, bfd *, asection *, bfd_byte *,
506             bfd_vma, bfd_vma, bfd_vma));     bfd_vma, bfd_vma, bfd_vma);
507    
508  /* Relocate a particular location by a howto and a value.  */  /* Relocate a particular location by a howto and a value.  */
509  extern bfd_reloc_status_type _bfd_relocate_contents  extern bfd_reloc_status_type _bfd_relocate_contents
510    PARAMS ((reloc_howto_type *, bfd *, bfd_vma, bfd_byte *));    (reloc_howto_type *, bfd *, bfd_vma, bfd_byte *);
511    
512  /* Link stabs in sections in the first pass.  */  /* Link stabs in sections in the first pass.  */
513    
514  extern boolean _bfd_link_section_stabs  extern bfd_boolean _bfd_link_section_stabs
515    PARAMS ((bfd *, PTR *, asection *, asection *, PTR *));    (bfd *, struct stab_info *, asection *, asection *, void **,
516       bfd_size_type *);
517    
518  /* Eliminate stabs for discarded functions and symbols.  */  /* Eliminate stabs for discarded functions and symbols.  */
519  extern boolean _bfd_discard_section_stabs  extern bfd_boolean _bfd_discard_section_stabs
520    PARAMS ((bfd *, asection *, PTR,    (bfd *, asection *, void *, bfd_boolean (*) (bfd_vma, void *), void *);
            boolean (*) (bfd_vma, PTR), PTR));  
521    
522  /* Write out the .stab section when linking stabs in sections.  */  /* Write out the .stab section when linking stabs in sections.  */
523    
524  extern boolean _bfd_write_section_stabs  extern bfd_boolean _bfd_write_section_stabs
525    PARAMS ((bfd *, PTR *, asection *, PTR *, bfd_byte *));    (bfd *, struct stab_info *, asection *, void **, bfd_byte *);
526    
527  /* Write out the .stabstr string table when linking stabs in sections.  */  /* Write out the .stabstr string table when linking stabs in sections.  */
528    
529  extern boolean _bfd_write_stab_strings PARAMS ((bfd *, PTR *));  extern bfd_boolean _bfd_write_stab_strings
530      (bfd *, struct stab_info *);
531    
532  /* Find an offset within a .stab section when linking stabs in  /* Find an offset within a .stab section when linking stabs in
533     sections.  */     sections.  */
534    
535  extern bfd_vma _bfd_stab_section_offset  extern bfd_vma _bfd_stab_section_offset
536    PARAMS ((bfd *, PTR *, asection *, PTR *, bfd_vma));    (asection *, void *, bfd_vma);
537    
538  /* Attempt to merge a SEC_MERGE section.  */  /* Register a SEC_MERGE section as a candidate for merging.  */
539    
540  extern boolean _bfd_merge_section  extern bfd_boolean _bfd_add_merge_section
541    PARAMS ((bfd *, PTR *, asection *, PTR *));    (bfd *, void **, asection *, void **);
542    
543  /* Attempt to merge SEC_MERGE sections.  */  /* Attempt to merge SEC_MERGE sections.  */
544    
545  extern boolean _bfd_merge_sections  extern bfd_boolean _bfd_merge_sections
546    PARAMS ((bfd *, PTR, void (*)(bfd *, asection *)));    (bfd *, struct bfd_link_info *, void *, void (*) (bfd *, asection *));
547    
548  /* Write out a merged section.  */  /* Write out a merged section.  */
549    
550  extern boolean _bfd_write_merged_section  extern bfd_boolean _bfd_write_merged_section
551    PARAMS ((bfd *, asection *, PTR));    (bfd *, asection *, void *);
552    
553  /* Find an offset within a modified SEC_MERGE section.  */  /* Find an offset within a modified SEC_MERGE section.  */
554    
555  extern bfd_vma _bfd_merged_section_offset  extern bfd_vma _bfd_merged_section_offset
556    PARAMS ((bfd *, asection **, PTR, bfd_vma, bfd_vma));    (bfd *, asection **, void *, bfd_vma);
557    
558  /* Create a string table.  */  /* Create a string table.  */
559  extern struct bfd_strtab_hash *_bfd_stringtab_init PARAMS ((void));  extern struct bfd_strtab_hash *_bfd_stringtab_init
560      (void);
561    
562  /* Create an XCOFF .debug section style string table.  */  /* Create an XCOFF .debug section style string table.  */
563  extern struct bfd_strtab_hash *_bfd_xcoff_stringtab_init PARAMS ((void));  extern struct bfd_strtab_hash *_bfd_xcoff_stringtab_init
564      (void);
565    
566  /* Free a string table.  */  /* Free a string table.  */
567  extern void _bfd_stringtab_free PARAMS ((struct bfd_strtab_hash *));  extern void _bfd_stringtab_free
568      (struct bfd_strtab_hash *);
569    
570  /* Get the size of a string table.  */  /* Get the size of a string table.  */
571  extern bfd_size_type _bfd_stringtab_size PARAMS ((struct bfd_strtab_hash *));  extern bfd_size_type _bfd_stringtab_size
572      (struct bfd_strtab_hash *);
573    
574  /* Add a string to a string table.  */  /* Add a string to a string table.  */
575  extern bfd_size_type _bfd_stringtab_add  extern bfd_size_type _bfd_stringtab_add
576    PARAMS ((struct bfd_strtab_hash *, const char *, boolean hash,    (struct bfd_strtab_hash *, const char *, bfd_boolean hash, bfd_boolean copy);
            boolean copy));  
577    
578  /* Write out a string table.  */  /* Write out a string table.  */
579  extern boolean _bfd_stringtab_emit PARAMS ((bfd *, struct bfd_strtab_hash *));  extern bfd_boolean _bfd_stringtab_emit
580      (bfd *, struct bfd_strtab_hash *);
581    
582  /* Check that endianness of input and output file match.  */  /* Check that endianness of input and output file match.  */
583  extern boolean _bfd_generic_verify_endian_match PARAMS ((bfd *, bfd *));  extern bfd_boolean _bfd_generic_verify_endian_match
584      (bfd *, bfd *);
585    
586  /* Macros to tell if bfds are read or write enabled.  /* Macros to tell if bfds are read or write enabled.
587    
# Line 540  extern boolean _bfd_generic_verify_endia Line 592  extern boolean _bfd_generic_verify_endia
592     !bfd_read_p, and only sometimes bfd_write_p.     !bfd_read_p, and only sometimes bfd_write_p.
593  */  */
594    
595  #define bfd_read_p(abfd) ((abfd)->direction == read_direction || (abfd)->direction == both_direction)  #define bfd_read_p(abfd) \
596  #define bfd_write_p(abfd) ((abfd)->direction == write_direction || (abfd)->direction == both_direction)    ((abfd)->direction == read_direction || (abfd)->direction == both_direction)
597    #define bfd_write_p(abfd) \
598      ((abfd)->direction == write_direction || (abfd)->direction == both_direction)
599    
600  void    bfd_assert PARAMS ((const char*,int));  void bfd_assert
601      (const char*,int);
602    
603  #define BFD_ASSERT(x) \  #define BFD_ASSERT(x) \
604  { if (!(x)) bfd_assert(__FILE__,__LINE__); }    do { if (!(x)) bfd_assert(__FILE__,__LINE__); } while (0)
605    
606  #define BFD_FAIL() \  #define BFD_FAIL() \
607  { bfd_assert(__FILE__,__LINE__); }    do { bfd_assert(__FILE__,__LINE__); } while (0)
608    
609  extern void _bfd_abort PARAMS ((const char *, int, const char *))  extern void _bfd_abort
610       ATTRIBUTE_NORETURN;    (const char *, int, const char *) ATTRIBUTE_NORETURN;
611    
612  /* if gcc >= 2.6, we can give a function name, too */  /* if gcc >= 2.6, we can give a function name, too */
613  #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6)  #if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 6)
# Line 562  extern void _bfd_abort PARAMS ((const ch Line 617  extern void _bfd_abort PARAMS ((const ch
617  #undef abort  #undef abort
618  #define abort() _bfd_abort (__FILE__, __LINE__, __PRETTY_FUNCTION__)  #define abort() _bfd_abort (__FILE__, __LINE__, __PRETTY_FUNCTION__)
619    
620  FILE *  bfd_cache_lookup_worker PARAMS ((bfd *));  /* Manipulate a system FILE but using BFD's "file_ptr", rather than
621       the system "off_t" or "off64_t", as the offset.  */
622    extern file_ptr real_ftell (FILE *file);
623    extern int real_fseek (FILE *file, file_ptr offset, int whence);
624    
625    FILE *  bfd_cache_lookup_worker
626      (bfd *);
627    
628  extern bfd *bfd_last_cache;  extern bfd *bfd_last_cache;
629    
# Line 571  extern bfd *bfd_last_cache; Line 632  extern bfd *bfd_last_cache;
632  extern const bfd_target * const *bfd_target_vector;  extern const bfd_target * const *bfd_target_vector;
633  extern const bfd_target *bfd_default_vector[];  extern const bfd_target *bfd_default_vector[];
634    
635    /* List of associated target vectors.  */
636    extern const bfd_target * const *bfd_associated_vector;
637    
638  /* Functions shared by the ECOFF and MIPS ELF backends, which have no  /* Functions shared by the ECOFF and MIPS ELF backends, which have no
639     other common header files.  */     other common header files.  */
640    
# Line 578  extern const bfd_target *bfd_default_vec Line 642  extern const bfd_target *bfd_default_vec
642  struct ecoff_find_line;  struct ecoff_find_line;
643  #endif  #endif
644    
645  extern boolean _bfd_ecoff_locate_line  extern bfd_boolean _bfd_ecoff_locate_line
646    PARAMS ((bfd *, asection *, bfd_vma, struct ecoff_debug_info * const,    (bfd *, asection *, bfd_vma, struct ecoff_debug_info * const,
647             const struct ecoff_debug_swap * const, struct ecoff_find_line *,     const struct ecoff_debug_swap * const, struct ecoff_find_line *,
648             const char **, const char **, unsigned int *));     const char **, const char **, unsigned int *);
649  extern boolean _bfd_ecoff_get_accumulated_pdr PARAMS ((PTR, bfd_byte *));  extern bfd_boolean _bfd_ecoff_get_accumulated_pdr
650  extern boolean _bfd_ecoff_get_accumulated_sym PARAMS ((PTR, bfd_byte *));    (void *, bfd_byte *);
651  extern boolean _bfd_ecoff_get_accumulated_ss PARAMS ((PTR, bfd_byte *));  extern bfd_boolean _bfd_ecoff_get_accumulated_sym
652      (void *, bfd_byte *);
653  extern bfd_vma _bfd_get_gp_value PARAMS ((bfd *));  extern bfd_boolean _bfd_ecoff_get_accumulated_ss
654  extern void _bfd_set_gp_value PARAMS ((bfd *, bfd_vma));    (void *, bfd_byte *);
655    
656    extern bfd_vma _bfd_get_gp_value
657      (bfd *);
658    extern void _bfd_set_gp_value
659      (bfd *, bfd_vma);
660    
661  /* Function shared by the COFF and ELF SH backends, which have no  /* Function shared by the COFF and ELF SH backends, which have no
662     other common header files.  */     other common header files.  */
663    
664  extern boolean _bfd_sh_align_load_span  #ifndef _bfd_sh_align_load_span
665    PARAMS ((bfd *, asection *, bfd_byte *,  extern bfd_boolean _bfd_sh_align_load_span
666             boolean (*) (bfd *, asection *, PTR, bfd_byte *, bfd_vma),    (bfd *, asection *, bfd_byte *,
667             PTR, bfd_vma **, bfd_vma *, bfd_vma, bfd_vma, boolean *));     bfd_boolean (*) (bfd *, asection *, void *, bfd_byte *, bfd_vma),
668       void *, bfd_vma **, bfd_vma *, bfd_vma, bfd_vma, bfd_boolean *);
669    #endif
670    
671    /* This is the shape of the elements inside the already_linked hash
672       table. It maps a name onto a list of already_linked elements with
673       the same name.  */
674    
675    struct bfd_section_already_linked_hash_entry
676    {
677      struct bfd_hash_entry root;
678      struct bfd_section_already_linked *entry;
679    };
680    
681    struct bfd_section_already_linked
682    {
683      struct bfd_section_already_linked *next;
684      asection *sec;
685    };
686    
687    extern struct bfd_section_already_linked_hash_entry *
688      bfd_section_already_linked_table_lookup (const char *);
689    extern void bfd_section_already_linked_table_insert
690      (struct bfd_section_already_linked_hash_entry *, asection *);
691    extern void bfd_section_already_linked_table_traverse
692      (bfd_boolean (*) (struct bfd_section_already_linked_hash_entry *,
693                        void *), void *);
694    
695    extern bfd_vma read_unsigned_leb128 (bfd *, bfd_byte *, unsigned int *);
696    extern bfd_signed_vma read_signed_leb128 (bfd *, bfd_byte *, unsigned int *);
697    
698  /* Extracted from init.c.  */  /* Extracted from init.c.  */
699  /* Extracted from libbfd.c.  */  /* Extracted from libbfd.c.  */
700  boolean  bfd_boolean bfd_write_bigendian_4byte_int (bfd *, unsigned int);
 bfd_write_bigendian_4byte_int PARAMS ((bfd *, unsigned int));  
701    
702  unsigned int  unsigned int bfd_log2 (bfd_vma x);
 bfd_log2 PARAMS ((bfd_vma x));  
703    
704    /* Extracted from bfdio.c.  */
705    struct bfd_iovec
706    {
707      /* To avoid problems with macros, a "b" rather than "f"
708         prefix is prepended to each method name.  */
709      /* Attempt to read/write NBYTES on ABFD's IOSTREAM storing/fetching
710         bytes starting at PTR.  Return the number of bytes actually
711         transfered (a read past end-of-file returns less than NBYTES),
712         or -1 (setting <<bfd_error>>) if an error occurs.  */
713      file_ptr (*bread) (struct bfd *abfd, void *ptr, file_ptr nbytes);
714      file_ptr (*bwrite) (struct bfd *abfd, const void *ptr,
715                          file_ptr nbytes);
716      /* Return the current IOSTREAM file offset, or -1 (setting <<bfd_error>>
717         if an error occurs.  */
718      file_ptr (*btell) (struct bfd *abfd);
719      /* For the following, on successful completion a value of 0 is returned.
720         Otherwise, a value of -1 is returned (and  <<bfd_error>> is set).  */
721      int (*bseek) (struct bfd *abfd, file_ptr offset, int whence);
722      int (*bclose) (struct bfd *abfd);
723      int (*bflush) (struct bfd *abfd);
724      int (*bstat) (struct bfd *abfd, struct stat *sb);
725    };
726    /* Extracted from bfdwin.c.  */
727    struct _bfd_window_internal {
728      struct _bfd_window_internal *next;
729      void *data;
730      bfd_size_type size;
731      int refcount : 31;           /* should be enough...  */
732      unsigned mapped : 1;         /* 1 = mmap, 0 = malloc */
733    };
734  /* Extracted from cache.c.  */  /* Extracted from cache.c.  */
735  #define BFD_CACHE_MAX_OPEN 10  #define BFD_CACHE_MAX_OPEN 10
736  extern bfd *bfd_last_cache;  extern bfd *bfd_last_cache;
737    
738  #define bfd_cache_lookup(x) \  #define bfd_cache_lookup(x) \
739      ((x)==bfd_last_cache? \      ((x) == bfd_last_cache ? \
740        (FILE*) (bfd_last_cache->iostream): \        (FILE *) (bfd_last_cache->iostream): \
741         bfd_cache_lookup_worker(x))         bfd_cache_lookup_worker (x))
742  boolean  bfd_boolean bfd_cache_init (bfd *abfd);
 bfd_cache_init PARAMS ((bfd *abfd));  
743    
744  boolean  bfd_boolean bfd_cache_close (bfd *abfd);
 bfd_cache_close PARAMS ((bfd *abfd));  
745    
746  FILE*  FILE* bfd_open_file (bfd *abfd);
 bfd_open_file PARAMS ((bfd *abfd));  
747    
748  FILE *  FILE *bfd_cache_lookup_worker (bfd *abfd);
 bfd_cache_lookup_worker PARAMS ((bfd *abfd));  
749    
750  /* Extracted from reloc.c.  */  /* Extracted from reloc.c.  */
751  #ifdef _BFD_MAKE_TABLE_bfd_reloc_code_real  #ifdef _BFD_MAKE_TABLE_bfd_reloc_code_real
# Line 643  static const char *const bfd_reloc_code_ Line 765  static const char *const bfd_reloc_code_
765    "BFD_RELOC_16_PCREL",    "BFD_RELOC_16_PCREL",
766    "BFD_RELOC_12_PCREL",    "BFD_RELOC_12_PCREL",
767    "BFD_RELOC_8_PCREL",    "BFD_RELOC_8_PCREL",
768      "BFD_RELOC_32_SECREL",
769    "BFD_RELOC_32_GOT_PCREL",    "BFD_RELOC_32_GOT_PCREL",
770    "BFD_RELOC_16_GOT_PCREL",    "BFD_RELOC_16_GOT_PCREL",
771    "BFD_RELOC_8_GOT_PCREL",    "BFD_RELOC_8_GOT_PCREL",
# Line 725  static const char *const bfd_reloc_code_ Line 848  static const char *const bfd_reloc_code_
848    "BFD_RELOC_SPARC_L44",    "BFD_RELOC_SPARC_L44",
849    "BFD_RELOC_SPARC_REGISTER",    "BFD_RELOC_SPARC_REGISTER",
850    "BFD_RELOC_SPARC_REV32",    "BFD_RELOC_SPARC_REV32",
851      "BFD_RELOC_SPARC_TLS_GD_HI22",
852      "BFD_RELOC_SPARC_TLS_GD_LO10",
853      "BFD_RELOC_SPARC_TLS_GD_ADD",
854      "BFD_RELOC_SPARC_TLS_GD_CALL",
855      "BFD_RELOC_SPARC_TLS_LDM_HI22",
856      "BFD_RELOC_SPARC_TLS_LDM_LO10",
857      "BFD_RELOC_SPARC_TLS_LDM_ADD",
858      "BFD_RELOC_SPARC_TLS_LDM_CALL",
859      "BFD_RELOC_SPARC_TLS_LDO_HIX22",
860      "BFD_RELOC_SPARC_TLS_LDO_LOX10",
861      "BFD_RELOC_SPARC_TLS_LDO_ADD",
862      "BFD_RELOC_SPARC_TLS_IE_HI22",
863      "BFD_RELOC_SPARC_TLS_IE_LO10",
864      "BFD_RELOC_SPARC_TLS_IE_LD",
865      "BFD_RELOC_SPARC_TLS_IE_LDX",
866      "BFD_RELOC_SPARC_TLS_IE_ADD",
867      "BFD_RELOC_SPARC_TLS_LE_HIX22",
868      "BFD_RELOC_SPARC_TLS_LE_LOX10",
869      "BFD_RELOC_SPARC_TLS_DTPMOD32",
870      "BFD_RELOC_SPARC_TLS_DTPMOD64",
871      "BFD_RELOC_SPARC_TLS_DTPOFF32",
872      "BFD_RELOC_SPARC_TLS_DTPOFF64",
873      "BFD_RELOC_SPARC_TLS_TPOFF32",
874      "BFD_RELOC_SPARC_TLS_TPOFF64",
875    "BFD_RELOC_ALPHA_GPDISP_HI16",    "BFD_RELOC_ALPHA_GPDISP_HI16",
876    "BFD_RELOC_ALPHA_GPDISP_LO16",    "BFD_RELOC_ALPHA_GPDISP_LO16",
877    "BFD_RELOC_ALPHA_GPDISP",    "BFD_RELOC_ALPHA_GPDISP",
# Line 756  static const char *const bfd_reloc_code_ Line 903  static const char *const bfd_reloc_code_
903    "BFD_RELOC_HI16",    "BFD_RELOC_HI16",
904    "BFD_RELOC_HI16_S",    "BFD_RELOC_HI16_S",
905    "BFD_RELOC_LO16",    "BFD_RELOC_LO16",
906    "BFD_RELOC_PCREL_HI16_S",    "BFD_RELOC_MIPS16_HI16",
907    "BFD_RELOC_PCREL_LO16",    "BFD_RELOC_MIPS16_HI16_S",
908      "BFD_RELOC_MIPS16_LO16",
909    "BFD_RELOC_MIPS_LITERAL",    "BFD_RELOC_MIPS_LITERAL",
910    "BFD_RELOC_MIPS_GOT16",    "BFD_RELOC_MIPS_GOT16",
911    "BFD_RELOC_MIPS_CALL16",    "BFD_RELOC_MIPS_CALL16",
# Line 780  static const char *const bfd_reloc_code_ Line 928  static const char *const bfd_reloc_code_
928    "BFD_RELOC_MIPS_REL16",    "BFD_RELOC_MIPS_REL16",
929    "BFD_RELOC_MIPS_RELGOT",    "BFD_RELOC_MIPS_RELGOT",
930    "BFD_RELOC_MIPS_JALR",    "BFD_RELOC_MIPS_JALR",
931      "BFD_RELOC_MIPS_TLS_DTPMOD32",
932      "BFD_RELOC_MIPS_TLS_DTPREL32",
933      "BFD_RELOC_MIPS_TLS_DTPMOD64",
934      "BFD_RELOC_MIPS_TLS_DTPREL64",
935      "BFD_RELOC_MIPS_TLS_GD",
936      "BFD_RELOC_MIPS_TLS_LDM",
937      "BFD_RELOC_MIPS_TLS_DTPREL_HI16",
938      "BFD_RELOC_MIPS_TLS_DTPREL_LO16",
939      "BFD_RELOC_MIPS_TLS_GOTTPREL",
940      "BFD_RELOC_MIPS_TLS_TPREL32",
941      "BFD_RELOC_MIPS_TLS_TPREL64",
942      "BFD_RELOC_MIPS_TLS_TPREL_HI16",
943      "BFD_RELOC_MIPS_TLS_TPREL_LO16",
944    
945    "BFD_RELOC_FRV_LABEL16",    "BFD_RELOC_FRV_LABEL16",
946    "BFD_RELOC_FRV_LABEL24",    "BFD_RELOC_FRV_LABEL24",
947    "BFD_RELOC_FRV_LO16",    "BFD_RELOC_FRV_LO16",
# Line 789  static const char *const bfd_reloc_code_ Line 951  static const char *const bfd_reloc_code_
951    "BFD_RELOC_FRV_GPREL32",    "BFD_RELOC_FRV_GPREL32",
952    "BFD_RELOC_FRV_GPRELHI",    "BFD_RELOC_FRV_GPRELHI",
953    "BFD_RELOC_FRV_GPRELLO",    "BFD_RELOC_FRV_GPRELLO",
954      "BFD_RELOC_FRV_GOT12",
955      "BFD_RELOC_FRV_GOTHI",
956      "BFD_RELOC_FRV_GOTLO",
957      "BFD_RELOC_FRV_FUNCDESC",
958      "BFD_RELOC_FRV_FUNCDESC_GOT12",
959      "BFD_RELOC_FRV_FUNCDESC_GOTHI",
960      "BFD_RELOC_FRV_FUNCDESC_GOTLO",
961      "BFD_RELOC_FRV_FUNCDESC_VALUE",
962      "BFD_RELOC_FRV_FUNCDESC_GOTOFF12",
963      "BFD_RELOC_FRV_FUNCDESC_GOTOFFHI",
964      "BFD_RELOC_FRV_FUNCDESC_GOTOFFLO",
965      "BFD_RELOC_FRV_GOTOFF12",
966      "BFD_RELOC_FRV_GOTOFFHI",
967      "BFD_RELOC_FRV_GOTOFFLO",
968      "BFD_RELOC_FRV_GETTLSOFF",
969      "BFD_RELOC_FRV_TLSDESC_VALUE",
970      "BFD_RELOC_FRV_GOTTLSDESC12",
971      "BFD_RELOC_FRV_GOTTLSDESCHI",
972      "BFD_RELOC_FRV_GOTTLSDESCLO",
973      "BFD_RELOC_FRV_TLSMOFF12",
974      "BFD_RELOC_FRV_TLSMOFFHI",
975      "BFD_RELOC_FRV_TLSMOFFLO",
976      "BFD_RELOC_FRV_GOTTLSOFF12",
977      "BFD_RELOC_FRV_GOTTLSOFFHI",
978      "BFD_RELOC_FRV_GOTTLSOFFLO",
979      "BFD_RELOC_FRV_TLSOFF",
980      "BFD_RELOC_FRV_TLSDESC_RELAX",
981      "BFD_RELOC_FRV_GETTLSOFF_RELAX",
982      "BFD_RELOC_FRV_TLSOFF_RELAX",
983      "BFD_RELOC_FRV_TLSMOFF",
984    
985      "BFD_RELOC_MN10300_GOTOFF24",
986      "BFD_RELOC_MN10300_GOT32",
987      "BFD_RELOC_MN10300_GOT24",
988      "BFD_RELOC_MN10300_GOT16",
989      "BFD_RELOC_MN10300_COPY",
990      "BFD_RELOC_MN10300_GLOB_DAT",
991      "BFD_RELOC_MN10300_JMP_SLOT",
992      "BFD_RELOC_MN10300_RELATIVE",
993    
994    "BFD_RELOC_386_GOT32",    "BFD_RELOC_386_GOT32",
995    "BFD_RELOC_386_PLT32",    "BFD_RELOC_386_PLT32",
# Line 798  static const char *const bfd_reloc_code_ Line 999  static const char *const bfd_reloc_code_
999    "BFD_RELOC_386_RELATIVE",    "BFD_RELOC_386_RELATIVE",
1000    "BFD_RELOC_386_GOTOFF",    "BFD_RELOC_386_GOTOFF",
1001    "BFD_RELOC_386_GOTPC",    "BFD_RELOC_386_GOTPC",
1002      "BFD_RELOC_386_TLS_TPOFF",
1003      "BFD_RELOC_386_TLS_IE",
1004      "BFD_RELOC_386_TLS_GOTIE",
1005    "BFD_RELOC_386_TLS_LE",    "BFD_RELOC_386_TLS_LE",
1006    "BFD_RELOC_386_TLS_GD",    "BFD_RELOC_386_TLS_GD",
1007    "BFD_RELOC_386_TLS_LDM",    "BFD_RELOC_386_TLS_LDM",
# Line 815  static const char *const bfd_reloc_code_ Line 1019  static const char *const bfd_reloc_code_
1019    "BFD_RELOC_X86_64_RELATIVE",    "BFD_RELOC_X86_64_RELATIVE",
1020    "BFD_RELOC_X86_64_GOTPCREL",    "BFD_RELOC_X86_64_GOTPCREL",
1021    "BFD_RELOC_X86_64_32S",    "BFD_RELOC_X86_64_32S",
1022      "BFD_RELOC_X86_64_DTPMOD64",
1023      "BFD_RELOC_X86_64_DTPOFF64",
1024      "BFD_RELOC_X86_64_TPOFF64",
1025      "BFD_RELOC_X86_64_TLSGD",
1026      "BFD_RELOC_X86_64_TLSLD",
1027      "BFD_RELOC_X86_64_DTPOFF32",
1028      "BFD_RELOC_X86_64_GOTTPOFF",
1029      "BFD_RELOC_X86_64_TPOFF32",
1030    "BFD_RELOC_NS32K_IMM_8",    "BFD_RELOC_NS32K_IMM_8",
1031    "BFD_RELOC_NS32K_IMM_16",    "BFD_RELOC_NS32K_IMM_16",
1032    "BFD_RELOC_NS32K_IMM_32",    "BFD_RELOC_NS32K_IMM_32",
# Line 888  static const char *const bfd_reloc_code_ Line 1100  static const char *const bfd_reloc_code_
1100    "BFD_RELOC_PPC64_TOC16_LO_DS",    "BFD_RELOC_PPC64_TOC16_LO_DS",
1101    "BFD_RELOC_PPC64_PLTGOT16_DS",    "BFD_RELOC_PPC64_PLTGOT16_DS",
1102    "BFD_RELOC_PPC64_PLTGOT16_LO_DS",    "BFD_RELOC_PPC64_PLTGOT16_LO_DS",
1103      "BFD_RELOC_PPC_TLS",
1104      "BFD_RELOC_PPC_DTPMOD",
1105      "BFD_RELOC_PPC_TPREL16",
1106      "BFD_RELOC_PPC_TPREL16_LO",
1107      "BFD_RELOC_PPC_TPREL16_HI",
1108      "BFD_RELOC_PPC_TPREL16_HA",
1109      "BFD_RELOC_PPC_TPREL",
1110      "BFD_RELOC_PPC_DTPREL16",
1111      "BFD_RELOC_PPC_DTPREL16_LO",
1112      "BFD_RELOC_PPC_DTPREL16_HI",
1113      "BFD_RELOC_PPC_DTPREL16_HA",
1114      "BFD_RELOC_PPC_DTPREL",
1115      "BFD_RELOC_PPC_GOT_TLSGD16",
1116      "BFD_RELOC_PPC_GOT_TLSGD16_LO",
1117      "BFD_RELOC_PPC_GOT_TLSGD16_HI",
1118      "BFD_RELOC_PPC_GOT_TLSGD16_HA",
1119      "BFD_RELOC_PPC_GOT_TLSLD16",
1120      "BFD_RELOC_PPC_GOT_TLSLD16_LO",
1121      "BFD_RELOC_PPC_GOT_TLSLD16_HI",
1122      "BFD_RELOC_PPC_GOT_TLSLD16_HA",
1123      "BFD_RELOC_PPC_GOT_TPREL16",
1124      "BFD_RELOC_PPC_GOT_TPREL16_LO",
1125      "BFD_RELOC_PPC_GOT_TPREL16_HI",
1126      "BFD_RELOC_PPC_GOT_TPREL16_HA",
1127      "BFD_RELOC_PPC_GOT_DTPREL16",
1128      "BFD_RELOC_PPC_GOT_DTPREL16_LO",
1129      "BFD_RELOC_PPC_GOT_DTPREL16_HI",
1130      "BFD_RELOC_PPC_GOT_DTPREL16_HA",
1131      "BFD_RELOC_PPC64_TPREL16_DS",
1132      "BFD_RELOC_PPC64_TPREL16_LO_DS",
1133      "BFD_RELOC_PPC64_TPREL16_HIGHER",
1134      "BFD_RELOC_PPC64_TPREL16_HIGHERA",
1135      "BFD_RELOC_PPC64_TPREL16_HIGHEST",
1136      "BFD_RELOC_PPC64_TPREL16_HIGHESTA",
1137      "BFD_RELOC_PPC64_DTPREL16_DS",
1138      "BFD_RELOC_PPC64_DTPREL16_LO_DS",
1139      "BFD_RELOC_PPC64_DTPREL16_HIGHER",
1140      "BFD_RELOC_PPC64_DTPREL16_HIGHERA",
1141      "BFD_RELOC_PPC64_DTPREL16_HIGHEST",
1142      "BFD_RELOC_PPC64_DTPREL16_HIGHESTA",
1143    "BFD_RELOC_I370_D12",    "BFD_RELOC_I370_D12",
1144    "BFD_RELOC_CTOR",    "BFD_RELOC_CTOR",
1145    "BFD_RELOC_ARM_PCREL_BRANCH",    "BFD_RELOC_ARM_PCREL_BRANCH",
# Line 897  static const char *const bfd_reloc_code_ Line 1149  static const char *const bfd_reloc_code_
1149    "BFD_RELOC_ARM_ADRL_IMMEDIATE",    "BFD_RELOC_ARM_ADRL_IMMEDIATE",
1150    "BFD_RELOC_ARM_OFFSET_IMM",    "BFD_RELOC_ARM_OFFSET_IMM",
1151    "BFD_RELOC_ARM_SHIFT_IMM",    "BFD_RELOC_ARM_SHIFT_IMM",
1152      "BFD_RELOC_ARM_SMI",
1153    "BFD_RELOC_ARM_SWI",    "BFD_RELOC_ARM_SWI",
1154    "BFD_RELOC_ARM_MULTI",    "BFD_RELOC_ARM_MULTI",
1155    "BFD_RELOC_ARM_CP_OFF_IMM",    "BFD_RELOC_ARM_CP_OFF_IMM",
1156      "BFD_RELOC_ARM_CP_OFF_IMM_S2",
1157    "BFD_RELOC_ARM_ADR_IMM",    "BFD_RELOC_ARM_ADR_IMM",
1158    "BFD_RELOC_ARM_LDR_IMM",    "BFD_RELOC_ARM_LDR_IMM",
1159    "BFD_RELOC_ARM_LITERAL",    "BFD_RELOC_ARM_LITERAL",
# Line 919  static const char *const bfd_reloc_code_ Line 1173  static const char *const bfd_reloc_code_
1173    "BFD_RELOC_ARM_RELATIVE",    "BFD_RELOC_ARM_RELATIVE",
1174    "BFD_RELOC_ARM_GOTOFF",    "BFD_RELOC_ARM_GOTOFF",
1175    "BFD_RELOC_ARM_GOTPC",    "BFD_RELOC_ARM_GOTPC",
1176      "BFD_RELOC_ARM_TARGET1",
1177      "BFD_RELOC_ARM_ROSEGREL32",
1178      "BFD_RELOC_ARM_SBREL32",
1179      "BFD_RELOC_ARM_TARGET2",
1180      "BFD_RELOC_ARM_PREL31",
1181    "BFD_RELOC_SH_PCDISP8BY2",    "BFD_RELOC_SH_PCDISP8BY2",
1182    "BFD_RELOC_SH_PCDISP12BY2",    "BFD_RELOC_SH_PCDISP12BY2",
1183      "BFD_RELOC_SH_IMM3",
1184      "BFD_RELOC_SH_IMM3U",
1185      "BFD_RELOC_SH_DISP12",
1186      "BFD_RELOC_SH_DISP12BY2",
1187      "BFD_RELOC_SH_DISP12BY4",
1188      "BFD_RELOC_SH_DISP12BY8",
1189      "BFD_RELOC_SH_DISP20",
1190      "BFD_RELOC_SH_DISP20BY8",
1191    "BFD_RELOC_SH_IMM4",    "BFD_RELOC_SH_IMM4",
1192    "BFD_RELOC_SH_IMM4BY2",    "BFD_RELOC_SH_IMM4BY2",
1193    "BFD_RELOC_SH_IMM4BY4",    "BFD_RELOC_SH_IMM4BY4",
# Line 993  static const char *const bfd_reloc_code_ Line 1260  static const char *const bfd_reloc_code_
1260    "BFD_RELOC_SH_IMM_HI16",    "BFD_RELOC_SH_IMM_HI16",
1261    "BFD_RELOC_SH_IMM_HI16_PCREL",    "BFD_RELOC_SH_IMM_HI16_PCREL",
1262    "BFD_RELOC_SH_PT_16",    "BFD_RELOC_SH_PT_16",
1263      "BFD_RELOC_SH_TLS_GD_32",
1264      "BFD_RELOC_SH_TLS_LD_32",
1265      "BFD_RELOC_SH_TLS_LDO_32",
1266      "BFD_RELOC_SH_TLS_IE_32",
1267      "BFD_RELOC_SH_TLS_LE_32",
1268      "BFD_RELOC_SH_TLS_DTPMOD32",
1269      "BFD_RELOC_SH_TLS_DTPOFF32",
1270      "BFD_RELOC_SH_TLS_TPOFF32",
1271    "BFD_RELOC_THUMB_PCREL_BRANCH9",    "BFD_RELOC_THUMB_PCREL_BRANCH9",
1272    "BFD_RELOC_THUMB_PCREL_BRANCH12",    "BFD_RELOC_THUMB_PCREL_BRANCH12",
1273    "BFD_RELOC_THUMB_PCREL_BRANCH23",    "BFD_RELOC_THUMB_PCREL_BRANCH23",
# Line 1024  static const char *const bfd_reloc_code_ Line 1299  static const char *const bfd_reloc_code_
1299    "BFD_RELOC_M32R_HI16_SLO",    "BFD_RELOC_M32R_HI16_SLO",
1300    "BFD_RELOC_M32R_LO16",    "BFD_RELOC_M32R_LO16",
1301    "BFD_RELOC_M32R_SDA16",    "BFD_RELOC_M32R_SDA16",
1302      "BFD_RELOC_M32R_GOT24",
1303      "BFD_RELOC_M32R_26_PLTREL",
1304      "BFD_RELOC_M32R_COPY",
1305      "BFD_RELOC_M32R_GLOB_DAT",
1306      "BFD_RELOC_M32R_JMP_SLOT",
1307      "BFD_RELOC_M32R_RELATIVE",
1308      "BFD_RELOC_M32R_GOTOFF",
1309      "BFD_RELOC_M32R_GOTOFF_HI_ULO",
1310      "BFD_RELOC_M32R_GOTOFF_HI_SLO",
1311      "BFD_RELOC_M32R_GOTOFF_LO",
1312      "BFD_RELOC_M32R_GOTPC24",
1313      "BFD_RELOC_M32R_GOT16_HI_ULO",
1314      "BFD_RELOC_M32R_GOT16_HI_SLO",
1315      "BFD_RELOC_M32R_GOT16_LO",
1316      "BFD_RELOC_M32R_GOTPC_HI_ULO",
1317      "BFD_RELOC_M32R_GOTPC_HI_SLO",
1318      "BFD_RELOC_M32R_GOTPC_LO",
1319    "BFD_RELOC_V850_9_PCREL",    "BFD_RELOC_V850_9_PCREL",
1320    "BFD_RELOC_V850_22_PCREL",    "BFD_RELOC_V850_22_PCREL",
1321    "BFD_RELOC_V850_SDA_16_16_OFFSET",    "BFD_RELOC_V850_SDA_16_16_OFFSET",
# Line 1040  static const char *const bfd_reloc_code_ Line 1332  static const char *const bfd_reloc_code_
1332    "BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET",    "BFD_RELOC_V850_ZDA_16_16_SPLIT_OFFSET",
1333    "BFD_RELOC_V850_CALLT_6_7_OFFSET",    "BFD_RELOC_V850_CALLT_6_7_OFFSET",
1334    "BFD_RELOC_V850_CALLT_16_16_OFFSET",    "BFD_RELOC_V850_CALLT_16_16_OFFSET",
1335      "BFD_RELOC_V850_LONGCALL",
1336      "BFD_RELOC_V850_LONGJUMP",
1337      "BFD_RELOC_V850_ALIGN",
1338      "BFD_RELOC_V850_LO16_SPLIT_OFFSET",
1339    "BFD_RELOC_MN10300_32_PCREL",    "BFD_RELOC_MN10300_32_PCREL",
1340    "BFD_RELOC_MN10300_16_PCREL",    "BFD_RELOC_MN10300_16_PCREL",
1341    "BFD_RELOC_TIC30_LDP",    "BFD_RELOC_TIC30_LDP",
# Line 1076  static const char *const bfd_reloc_code_ Line 1371  static const char *const bfd_reloc_code_
1371    "BFD_RELOC_MMIX_PUSHJ_1",    "BFD_RELOC_MMIX_PUSHJ_1",
1372    "BFD_RELOC_MMIX_PUSHJ_2",    "BFD_RELOC_MMIX_PUSHJ_2",
1373    "BFD_RELOC_MMIX_PUSHJ_3",    "BFD_RELOC_MMIX_PUSHJ_3",
1374      "BFD_RELOC_MMIX_PUSHJ_STUBBABLE",
1375    "BFD_RELOC_MMIX_JMP",    "BFD_RELOC_MMIX_JMP",
1376    "BFD_RELOC_MMIX_JMP_1",    "BFD_RELOC_MMIX_JMP_1",
1377    "BFD_RELOC_MMIX_JMP_2",    "BFD_RELOC_MMIX_JMP_2",
# Line 1102  static const char *const bfd_reloc_code_ Line 1398  static const char *const bfd_reloc_code_
1398    "BFD_RELOC_AVR_HI8_LDI_PM_NEG",    "BFD_RELOC_AVR_HI8_LDI_PM_NEG",
1399    "BFD_RELOC_AVR_HH8_LDI_PM_NEG",    "BFD_RELOC_AVR_HH8_LDI_PM_NEG",
1400    "BFD_RELOC_AVR_CALL",    "BFD_RELOC_AVR_CALL",
1401      "BFD_RELOC_AVR_LDI",
1402      "BFD_RELOC_AVR_6",
1403      "BFD_RELOC_AVR_6_ADIW",
1404    "BFD_RELOC_390_12",    "BFD_RELOC_390_12",
1405    "BFD_RELOC_390_GOT12",    "BFD_RELOC_390_GOT12",
1406    "BFD_RELOC_390_PLT32",    "BFD_RELOC_390_PLT32",
# Line 1119  static const char *const bfd_reloc_code_ Line 1418  static const char *const bfd_reloc_code_
1418    "BFD_RELOC_390_GOT64",    "BFD_RELOC_390_GOT64",
1419    "BFD_RELOC_390_PLT64",    "BFD_RELOC_390_PLT64",
1420    "BFD_RELOC_390_GOTENT",    "BFD_RELOC_390_GOTENT",
1421      "BFD_RELOC_390_GOTOFF64",
1422      "BFD_RELOC_390_GOTPLT12",
1423      "BFD_RELOC_390_GOTPLT16",
1424      "BFD_RELOC_390_GOTPLT32",
1425      "BFD_RELOC_390_GOTPLT64",
1426      "BFD_RELOC_390_GOTPLTENT",
1427      "BFD_RELOC_390_PLTOFF16",
1428      "BFD_RELOC_390_PLTOFF32",
1429      "BFD_RELOC_390_PLTOFF64",
1430      "BFD_RELOC_390_TLS_LOAD",
1431      "BFD_RELOC_390_TLS_GDCALL",
1432      "BFD_RELOC_390_TLS_LDCALL",
1433      "BFD_RELOC_390_TLS_GD32",
1434      "BFD_RELOC_390_TLS_GD64",
1435      "BFD_RELOC_390_TLS_GOTIE12",
1436      "BFD_RELOC_390_TLS_GOTIE32",
1437      "BFD_RELOC_390_TLS_GOTIE64",
1438      "BFD_RELOC_390_TLS_LDM32",
1439      "BFD_RELOC_390_TLS_LDM64",
1440      "BFD_RELOC_390_TLS_IE32",
1441      "BFD_RELOC_390_TLS_IE64",
1442      "BFD_RELOC_390_TLS_IEENT",
1443      "BFD_RELOC_390_TLS_LE32",
1444      "BFD_RELOC_390_TLS_LE64",
1445      "BFD_RELOC_390_TLS_LDO32",
1446      "BFD_RELOC_390_TLS_LDO64",
1447      "BFD_RELOC_390_TLS_DTPMOD",
1448      "BFD_RELOC_390_TLS_DTPOFF",
1449      "BFD_RELOC_390_TLS_TPOFF",
1450      "BFD_RELOC_390_20",
1451      "BFD_RELOC_390_GOT20",
1452      "BFD_RELOC_390_GOTPLT20",
1453      "BFD_RELOC_390_TLS_GOTIE20",
1454    "BFD_RELOC_IP2K_FR9",    "BFD_RELOC_IP2K_FR9",
1455    "BFD_RELOC_IP2K_BANK",    "BFD_RELOC_IP2K_BANK",
1456    "BFD_RELOC_IP2K_ADDR16CJP",    "BFD_RELOC_IP2K_ADDR16CJP",
# Line 1217  static const char *const bfd_reloc_code_ Line 1549  static const char *const bfd_reloc_code_
1549    "BFD_RELOC_M68HC11_HI8",    "BFD_RELOC_M68HC11_HI8",
1550    "BFD_RELOC_M68HC11_LO8",    "BFD_RELOC_M68HC11_LO8",
1551    "BFD_RELOC_M68HC11_3B",    "BFD_RELOC_M68HC11_3B",
1552      "BFD_RELOC_M68HC11_RL_JUMP",
1553      "BFD_RELOC_M68HC11_RL_GROUP",
1554      "BFD_RELOC_M68HC11_LO16",
1555      "BFD_RELOC_M68HC11_PAGE",
1556      "BFD_RELOC_M68HC11_24",
1557      "BFD_RELOC_M68HC12_5B",
1558      "BFD_RELOC_16C_NUM08",
1559      "BFD_RELOC_16C_NUM08_C",
1560      "BFD_RELOC_16C_NUM16",
1561      "BFD_RELOC_16C_NUM16_C",
1562      "BFD_RELOC_16C_NUM32",
1563      "BFD_RELOC_16C_NUM32_C",
1564      "BFD_RELOC_16C_DISP04",
1565      "BFD_RELOC_16C_DISP04_C",
1566      "BFD_RELOC_16C_DISP08",
1567      "BFD_RELOC_16C_DISP08_C",
1568      "BFD_RELOC_16C_DISP16",
1569      "BFD_RELOC_16C_DISP16_C",
1570      "BFD_RELOC_16C_DISP24",
1571      "BFD_RELOC_16C_DISP24_C",
1572      "BFD_RELOC_16C_DISP24a",
1573      "BFD_RELOC_16C_DISP24a_C",
1574      "BFD_RELOC_16C_REG04",
1575      "BFD_RELOC_16C_REG04_C",
1576      "BFD_RELOC_16C_REG04a",
1577      "BFD_RELOC_16C_REG04a_C",
1578      "BFD_RELOC_16C_REG14",
1579      "BFD_RELOC_16C_REG14_C",
1580      "BFD_RELOC_16C_REG16",
1581      "BFD_RELOC_16C_REG16_C",
1582      "BFD_RELOC_16C_REG20",
1583      "BFD_RELOC_16C_REG20_C",
1584      "BFD_RELOC_16C_ABS20",
1585      "BFD_RELOC_16C_ABS20_C",
1586      "BFD_RELOC_16C_ABS24",
1587      "BFD_RELOC_16C_ABS24_C",
1588      "BFD_RELOC_16C_IMM04",
1589      "BFD_RELOC_16C_IMM04_C",
1590      "BFD_RELOC_16C_IMM16",
1591      "BFD_RELOC_16C_IMM16_C",
1592      "BFD_RELOC_16C_IMM20",
1593      "BFD_RELOC_16C_IMM20_C",
1594      "BFD_RELOC_16C_IMM24",
1595      "BFD_RELOC_16C_IMM24_C",
1596      "BFD_RELOC_16C_IMM32",
1597      "BFD_RELOC_16C_IMM32_C",
1598      "BFD_RELOC_CRX_REL4",
1599      "BFD_RELOC_CRX_REL8",
1600      "BFD_RELOC_CRX_REL8_CMP",
1601      "BFD_RELOC_CRX_REL16",
1602      "BFD_RELOC_CRX_REL24",
1603      "BFD_RELOC_CRX_REL32",
1604      "BFD_RELOC_CRX_REGREL12",
1605      "BFD_RELOC_CRX_REGREL22",
1606      "BFD_RELOC_CRX_REGREL28",
1607      "BFD_RELOC_CRX_REGREL32",
1608      "BFD_RELOC_CRX_ABS16",
1609      "BFD_RELOC_CRX_ABS32",
1610      "BFD_RELOC_CRX_NUM8",
1611      "BFD_RELOC_CRX_NUM16",
1612      "BFD_RELOC_CRX_NUM32",
1613      "BFD_RELOC_CRX_IMM16",
1614      "BFD_RELOC_CRX_IMM32",
1615      "BFD_RELOC_CRX_SWITCH8",
1616      "BFD_RELOC_CRX_SWITCH16",
1617      "BFD_RELOC_CRX_SWITCH32",
1618    "BFD_RELOC_CRIS_BDISP8",    "BFD_RELOC_CRIS_BDISP8",
1619    "BFD_RELOC_CRIS_UNSIGNED_5",    "BFD_RELOC_CRIS_UNSIGNED_5",
1620    "BFD_RELOC_CRIS_SIGNED_6",    "BFD_RELOC_CRIS_SIGNED_6",
1621    "BFD_RELOC_CRIS_UNSIGNED_6",    "BFD_RELOC_CRIS_UNSIGNED_6",
1622      "BFD_RELOC_CRIS_SIGNED_8",
1623      "BFD_RELOC_CRIS_UNSIGNED_8",
1624      "BFD_RELOC_CRIS_SIGNED_16",
1625      "BFD_RELOC_CRIS_UNSIGNED_16",
1626      "BFD_RELOC_CRIS_LAPCQ_OFFSET",
1627    "BFD_RELOC_CRIS_UNSIGNED_4",    "BFD_RELOC_CRIS_UNSIGNED_4",
1628    "BFD_RELOC_CRIS_COPY",    "BFD_RELOC_CRIS_COPY",
1629    "BFD_RELOC_CRIS_GLOB_DAT",    "BFD_RELOC_CRIS_GLOB_DAT",
# Line 1273  static const char *const bfd_reloc_code_ Line 1676  static const char *const bfd_reloc_code_
1676    "BFD_RELOC_H8_DIR24R8",    "BFD_RELOC_H8_DIR24R8",
1677    "BFD_RELOC_H8_DIR32A16",    "BFD_RELOC_H8_DIR32A16",
1678    "BFD_RELOC_XSTORMY16_REL_12",    "BFD_RELOC_XSTORMY16_REL_12",
1679      "BFD_RELOC_XSTORMY16_12",
1680    "BFD_RELOC_XSTORMY16_24",    "BFD_RELOC_XSTORMY16_24",
1681    "BFD_RELOC_XSTORMY16_FPTR16",    "BFD_RELOC_XSTORMY16_FPTR16",
1682    "BFD_RELOC_VAX_GLOB_DAT",    "BFD_RELOC_VAX_GLOB_DAT",
1683    "BFD_RELOC_VAX_JMP_SLOT",    "BFD_RELOC_VAX_JMP_SLOT",
1684    "BFD_RELOC_VAX_RELATIVE",    "BFD_RELOC_VAX_RELATIVE",
1685      "BFD_RELOC_MSP430_10_PCREL",
1686      "BFD_RELOC_MSP430_16_PCREL",
1687      "BFD_RELOC_MSP430_16",
1688      "BFD_RELOC_MSP430_16_PCREL_BYTE",
1689      "BFD_RELOC_MSP430_16_BYTE",
1690      "BFD_RELOC_MSP430_2X_PCREL",
1691      "BFD_RELOC_MSP430_RL_PCREL",
1692      "BFD_RELOC_IQ2000_OFFSET_16",
1693      "BFD_RELOC_IQ2000_OFFSET_21",
1694      "BFD_RELOC_IQ2000_UHI16",
1695      "BFD_RELOC_XTENSA_RTLD",
1696      "BFD_RELOC_XTENSA_GLOB_DAT",
1697      "BFD_RELOC_XTENSA_JMP_SLOT",
1698      "BFD_RELOC_XTENSA_RELATIVE",
1699      "BFD_RELOC_XTENSA_PLT",
1700      "BFD_RELOC_XTENSA_DIFF8",
1701      "BFD_RELOC_XTENSA_DIFF16",
1702      "BFD_RELOC_XTENSA_DIFF32",
1703      "BFD_RELOC_XTENSA_SLOT0_OP",
1704      "BFD_RELOC_XTENSA_SLOT1_OP",
1705      "BFD_RELOC_XTENSA_SLOT2_OP",
1706      "BFD_RELOC_XTENSA_SLOT3_OP",
1707      "BFD_RELOC_XTENSA_SLOT4_OP",
1708      "BFD_RELOC_XTENSA_SLOT5_OP",
1709      "BFD_RELOC_XTENSA_SLOT6_OP",
1710      "BFD_RELOC_XTENSA_SLOT7_OP",
1711      "BFD_RELOC_XTENSA_SLOT8_OP",
1712      "BFD_RELOC_XTENSA_SLOT9_OP",
1713      "BFD_RELOC_XTENSA_SLOT10_OP",
1714      "BFD_RELOC_XTENSA_SLOT11_OP",
1715      "BFD_RELOC_XTENSA_SLOT12_OP",
1716      "BFD_RELOC_XTENSA_SLOT13_OP",
1717      "BFD_RELOC_XTENSA_SLOT14_OP",
1718      "BFD_RELOC_XTENSA_SLOT0_ALT",
1719      "BFD_RELOC_XTENSA_SLOT1_ALT",
1720      "BFD_RELOC_XTENSA_SLOT2_ALT",
1721      "BFD_RELOC_XTENSA_SLOT3_ALT",
1722      "BFD_RELOC_XTENSA_SLOT4_ALT",
1723      "BFD_RELOC_XTENSA_SLOT5_ALT",
1724      "BFD_RELOC_XTENSA_SLOT6_ALT",
1725      "BFD_RELOC_XTENSA_SLOT7_ALT",
1726      "BFD_RELOC_XTENSA_SLOT8_ALT",
1727      "BFD_RELOC_XTENSA_SLOT9_ALT",
1728      "BFD_RELOC_XTENSA_SLOT10_ALT",
1729      "BFD_RELOC_XTENSA_SLOT11_ALT",
1730      "BFD_RELOC_XTENSA_SLOT12_ALT",
1731      "BFD_RELOC_XTENSA_SLOT13_ALT",
1732      "BFD_RELOC_XTENSA_SLOT14_ALT",
1733      "BFD_RELOC_XTENSA_OP0",
1734      "BFD_RELOC_XTENSA_OP1",
1735      "BFD_RELOC_XTENSA_OP2",
1736      "BFD_RELOC_XTENSA_ASM_EXPAND",
1737      "BFD_RELOC_XTENSA_ASM_SIMPLIFY",
1738   "@@overflow: BFD_RELOC_UNUSED@@",   "@@overflow: BFD_RELOC_UNUSED@@",
1739  };  };
1740  #endif  #endif
1741    
1742  reloc_howto_type *  reloc_howto_type *bfd_default_reloc_type_lookup
1743  bfd_default_reloc_type_lookup PARAMS ((bfd *abfd, bfd_reloc_code_real_type  code));     (bfd *abfd, bfd_reloc_code_real_type  code);
1744    
1745  boolean  bfd_boolean bfd_generic_relax_section
1746  bfd_generic_relax_section PARAMS ((bfd *abfd,     (bfd *abfd,
1747      asection *section,      asection *section,
1748      struct bfd_link_info *,      struct bfd_link_info *,
1749      boolean *));      bfd_boolean *);
1750    
1751  boolean  bfd_boolean bfd_generic_gc_sections
1752  bfd_generic_gc_sections PARAMS ((bfd *, struct bfd_link_info *));     (bfd *, struct bfd_link_info *);
1753    
1754  boolean  bfd_boolean bfd_generic_merge_sections
1755  bfd_generic_merge_sections PARAMS ((bfd *, struct bfd_link_info *));     (bfd *, struct bfd_link_info *);
1756    
1757  bfd_byte *  bfd_byte *bfd_generic_get_relocated_section_contents
1758  bfd_generic_get_relocated_section_contents PARAMS ((bfd *abfd,     (bfd *abfd,
1759      struct bfd_link_info *link_info,      struct bfd_link_info *link_info,
1760      struct bfd_link_order *link_order,      struct bfd_link_order *link_order,
1761      bfd_byte *data,      bfd_byte *data,
1762      boolean relocateable,      bfd_boolean relocatable,
1763      asymbol **symbols));      asymbol **symbols);
1764    
1765  /* Extracted from archures.c.  */  /* Extracted from archures.c.  */
1766  extern const bfd_arch_info_type bfd_default_arch_struct;  extern const bfd_arch_info_type bfd_default_arch_struct;
1767  boolean  bfd_boolean bfd_default_set_arch_mach
1768  bfd_default_set_arch_mach PARAMS ((bfd *abfd,     (bfd *abfd, enum bfd_architecture arch, unsigned long mach);
1769      enum bfd_architecture arch,  
1770      unsigned long mach));  const bfd_arch_info_type *bfd_default_compatible
1771       (const bfd_arch_info_type *a, const bfd_arch_info_type *b);
 const bfd_arch_info_type *  
 bfd_default_compatible PARAMS ((const bfd_arch_info_type *a,  
     const bfd_arch_info_type *b));  
1772    
1773  boolean  bfd_boolean bfd_default_scan
1774  bfd_default_scan PARAMS ((const struct bfd_arch_info *info, const char *string));     (const struct bfd_arch_info *info, const char *string);
1775    
1776  /* Extracted from elf.c.  */  /* Extracted from elf.c.  */
1777  struct elf_internal_shdr *  struct elf_internal_shdr *bfd_elf_find_section (bfd *abfd, char *name);
 bfd_elf_find_section PARAMS ((bfd *abfd, char *name));  
1778    

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

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