/[gcl]/gcl/binutils/include/coff/ecoff.h
ViewVC logotype

Diff of /gcl/binutils/include/coff/ecoff.h

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

revision 1.1.1.1 by camm, Fri Aug 9 05:36:42 2002 UTC revision 1.1.1.1.20.1 by camm, Fri Sep 30 02:10:24 2005 UTC
# Line 2  Line 2 
2     This does not include symbol information, found in sym.h and     This does not include symbol information, found in sym.h and
3     symconst.h.     symconst.h.
4    
5     Copyright 2001 Free Software Foundation, Inc.     Copyright 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
6    
7     This program is free software; you can redistribute it and/or modify     This program is free software; you can redistribute it and/or modify
8     it under the terms of the GNU General Public License as published by     it under the terms of the GNU General Public License as published by
9     the Free Software Foundation; either version 2 of the License, or     the Free Software Foundation; either version 2 of the License, or
10     (at your option) any later version.     (at your option) any later version.
11      
12     This program is distributed in the hope that it will be useful,     This program is distributed in the hope that it will be useful,
13     but WITHOUT ANY WARRANTY; without even the implied warranty of     but WITHOUT ANY WARRANTY; without even the implied warranty of
14     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15     GNU General Public License for more details.     GNU General Public License for more details.
16      
17     You should have received a copy of the GNU General Public License     You should have received a copy of the GNU General Public License
18     along with this program; if not, write to the Free Software     along with this program; if not, write to the Free Software
19     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.  */
20      
21  #ifndef ECOFF_H  #ifndef ECOFF_H
22  #define ECOFF_H  #define ECOFF_H
23    
# Line 296  struct ecoff_debug_info Line 296  struct ecoff_debug_info
296       fields are also used by the assembler to output ECOFF debugging       fields are also used by the assembler to output ECOFF debugging
297       information.  */       information.  */
298    unsigned char *line;    unsigned char *line;
299    PTR external_dnr;     /* struct dnr_ext */    void *external_dnr;   /* struct dnr_ext */
300    PTR external_pdr;     /* struct pdr_ext */    void *external_pdr;   /* struct pdr_ext */
301    PTR external_sym;     /* struct sym_ext */    void *external_sym;   /* struct sym_ext */
302    PTR external_opt;     /* struct opt_ext */    void *external_opt;   /* struct opt_ext */
303    union aux_ext *external_aux;    union aux_ext *external_aux;
304    char *ss;    char *ss;
305    char *ssext;    char *ssext;
306    PTR external_fdr;     /* struct fdr_ext */    void *external_fdr;   /* struct fdr_ext */
307    PTR external_rfd;     /* struct rfd_ext */    void *external_rfd;   /* struct rfd_ext */
308    PTR external_ext;     /* struct ext_ext */    void *external_ext;   /* struct ext_ext */
309    
310    /* These fields are used when linking.  They may disappear at some    /* These fields are used when linking.  They may disappear at some
311       point.  */       point.  */
312    char *ssext_end;    char *ssext_end;
313    PTR external_ext_end;    void *external_ext_end;
314    
315    /* When linking, this field holds a mapping from the input FDR    /* When linking, this field holds a mapping from the input FDR
316       numbers to the output numbers, and is used when writing out the       numbers to the output numbers, and is used when writing out the
# Line 322  struct ecoff_debug_info Line 322  struct ecoff_debug_info
322       this changes in the future.  This is a pointer to an array, not a       this changes in the future.  This is a pointer to an array, not a
323       single structure.  */       single structure.  */
324    FDR *fdr;    FDR *fdr;
   
   /* When relaxing MIPS embedded PIC code, we may need to adjust  
      symbol values when they are output.  This is a linked list of  
      structures indicating how values should be adjusted.  There is no  
      requirement that the entries be in any order, or that they not  
      overlap.  This field is normally NULL, in which case no  
      adjustments need to be made.  */  
   struct ecoff_value_adjust *adjust;  
 };  
   
 /* This structure describes how to adjust symbol values when  
    outputting MIPS embedded PIC code.  These adjustments only apply to  
    the internal symbols, as the external symbol values will come from  
    the hash table and have already been adjusted.  */  
   
 struct ecoff_value_adjust  
 {  
   /* Next entry on adjustment list.  */  
   struct ecoff_value_adjust *next;  
   /* Starting VMA of adjustment.  This is the VMA in the ECOFF file,  
      not the offset from the start of the section.  Thus it should  
      indicate a particular section.  */  
   bfd_vma start;  
   /* Ending VMA of adjustment.  */  
   bfd_vma end;  
   /* Adjustment.  This should be added to the value of the symbol, or  
      FDR.  This is zero for the last entry in the array.  */  
   long adjust;  
325  };  };
326    
327  /* These structures are used by the ECOFF find_nearest_line function.  */  /* These structures are used by the ECOFF find_nearest_line function.  */
# Line 406  struct ecoff_debug_swap Line 378  struct ecoff_debug_swap
378    bfd_size_type external_rfd_size;    bfd_size_type external_rfd_size;
379    bfd_size_type external_ext_size;    bfd_size_type external_ext_size;
380    /* Functions to swap in external symbolic data.  */    /* Functions to swap in external symbolic data.  */
381    void (*swap_hdr_in) PARAMS ((bfd *, PTR, HDRR *));    void (*swap_hdr_in) (bfd *, void *, HDRR *);
382    void (*swap_dnr_in) PARAMS ((bfd *, PTR, DNR *));    void (*swap_dnr_in) (bfd *, void *, DNR *);
383    void (*swap_pdr_in) PARAMS ((bfd *, PTR, PDR *));    void (*swap_pdr_in) (bfd *, void *, PDR *);
384    void (*swap_sym_in) PARAMS ((bfd *, PTR, SYMR *));    void (*swap_sym_in) (bfd *, void *, SYMR *);
385    void (*swap_opt_in) PARAMS ((bfd *, PTR, OPTR *));    void (*swap_opt_in) (bfd *, void *, OPTR *);
386    void (*swap_fdr_in) PARAMS ((bfd *, PTR, FDR *));    void (*swap_fdr_in) (bfd *, void *, FDR *);
387    void (*swap_rfd_in) PARAMS ((bfd *, PTR, RFDT *));    void (*swap_rfd_in) (bfd *, void *, RFDT *);
388    void (*swap_ext_in) PARAMS ((bfd *, PTR, EXTR *));    void (*swap_ext_in) (bfd *, void *, EXTR *);
389    void (*swap_tir_in) PARAMS ((int, const struct tir_ext *, TIR *));    void (*swap_tir_in) (int, const struct tir_ext *, TIR *);
390    void (*swap_rndx_in) PARAMS ((int, const struct rndx_ext *, RNDXR *));    void (*swap_rndx_in) (int, const struct rndx_ext *, RNDXR *);
391    /* Functions to swap out external symbolic data.  */    /* Functions to swap out external symbolic data.  */
392    void (*swap_hdr_out) PARAMS ((bfd *, const HDRR *, PTR));    void (*swap_hdr_out) (bfd *, const HDRR *, void *);
393    void (*swap_dnr_out) PARAMS ((bfd *, const DNR *, PTR));    void (*swap_dnr_out) (bfd *, const DNR *, void *);
394    void (*swap_pdr_out) PARAMS ((bfd *, const PDR *, PTR));    void (*swap_pdr_out) (bfd *, const PDR *, void *);
395    void (*swap_sym_out) PARAMS ((bfd *, const SYMR *, PTR));    void (*swap_sym_out) (bfd *, const SYMR *, void *);
396    void (*swap_opt_out) PARAMS ((bfd *, const OPTR *, PTR));    void (*swap_opt_out) (bfd *, const OPTR *, void *);
397    void (*swap_fdr_out) PARAMS ((bfd *, const FDR *, PTR));    void (*swap_fdr_out) (bfd *, const FDR *, void *);
398    void (*swap_rfd_out) PARAMS ((bfd *, const RFDT *, PTR));    void (*swap_rfd_out) (bfd *, const RFDT *, void *);
399    void (*swap_ext_out) PARAMS ((bfd *, const EXTR *, PTR));    void (*swap_ext_out) (bfd *, const EXTR *, void *);
400    void (*swap_tir_out) PARAMS ((int, const TIR *, struct tir_ext *));    void (*swap_tir_out) (int, const TIR *, struct tir_ext *);
401    void (*swap_rndx_out) PARAMS ((int, const RNDXR *, struct rndx_ext *));    void (*swap_rndx_out) (int, const RNDXR *, struct rndx_ext *);
402    /* Function to read symbol data and set up pointers in    /* Function to read symbol data and set up pointers in
403       ecoff_debug_info structure.  The section argument is used for       ecoff_debug_info structure.  The section argument is used for
404       ELF, not straight ECOFF.  */       ELF, not straight ECOFF.  */
405    boolean (*read_debug_info) PARAMS ((bfd *, asection *,    bfd_boolean (*read_debug_info) (bfd *, asection *, struct ecoff_debug_info *);
                                       struct ecoff_debug_info *));  
406  };  };
407    
408  #endif /* ! defined (ECOFF_H) */  #endif /* ! defined (ECOFF_H) */

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

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