/[gcl]/gcl/binutils/bfd/coff-mcore.c
ViewVC logotype

Diff of /gcl/binutils/bfd/coff-mcore.c

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

revision 1.1.1.1 by camm, Fri Aug 9 05:34:51 2002 UTC revision 1.1.1.1.20.1 by camm, Fri Sep 30 02:08:54 2005 UTC
# Line 1  Line 1 
1  /* BFD back-end for Motorola MCore COFF/PE  /* BFD back-end for Motorola MCore COFF/PE
2     Copyright 1999, 2000, 2001, 2002 Free Software Foundation, Inc.     Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005
3       Free Software Foundation, Inc.
4    
5  This file is part of BFD, the Binary File Descriptor library.  This file is part of BFD, the Binary File Descriptor library.
6    
# Line 37  Boston, MA 02111-1307, USA.  */ Line 38  Boston, MA 02111-1307, USA.  */
38    
39  /* This file is compiled more than once, but we only compile the  /* This file is compiled more than once, but we only compile the
40     final_link routine once.  */     final_link routine once.  */
41  extern boolean mcore_bfd_coff_final_link  extern bfd_boolean mcore_bfd_coff_final_link
42    PARAMS ((bfd *, struct bfd_link_info *));    PARAMS ((bfd *, struct bfd_link_info *));
43  #if 0  static bfd_reloc_status_type mcore_coff_unsupported_reloc
 static struct bfd_link_hash_table * coff_mcore_link_hash_table_create  
   PARAMS ((bfd *));  
 #endif  
 static bfd_reloc_status_type        mcore_coff_unsupported_reloc  
44    PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **));    PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **));
45  static boolean                      coff_mcore_relocate_section  static bfd_boolean coff_mcore_relocate_section
46    PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *,    PARAMS ((bfd *, struct bfd_link_info *, bfd *, asection *, bfd_byte *,
47             struct internal_reloc *, struct internal_syment *, asection **));             struct internal_reloc *, struct internal_syment *, asection **));
48  static reloc_howto_type *           mcore_coff_reloc_type_lookup  static reloc_howto_type *mcore_coff_reloc_type_lookup
49    PARAMS ((bfd *, bfd_reloc_code_real_type));    PARAMS ((bfd *, bfd_reloc_code_real_type));
50  static reloc_howto_type *           coff_mcore_rtype_to_howto  static reloc_howto_type *coff_mcore_rtype_to_howto
51    PARAMS ((bfd *, asection *, struct internal_reloc *,    PARAMS ((bfd *, asection *, struct internal_reloc *,
52             struct coff_link_hash_entry *, struct internal_syment *, bfd_vma *));             struct coff_link_hash_entry *, struct internal_syment *,
53               bfd_vma *));
54  static void mcore_emit_base_file_entry  static void mcore_emit_base_file_entry
55    PARAMS ((struct bfd_link_info *, bfd *, asection *, bfd_vma));    PARAMS ((struct bfd_link_info *, bfd *, asection *, bfd_vma));
56  static boolean in_reloc_p PARAMS ((bfd *, reloc_howto_type *));  static bfd_boolean in_reloc_p PARAMS ((bfd *, reloc_howto_type *));
57    
58  /* The NT loader points the toc register to &toc + 32768, in order to  /* The NT loader points the toc register to &toc + 32768, in order to
59     use the complete range of a 16-bit displacement. We have to adjust     use the complete range of a 16-bit displacement. We have to adjust
# Line 77  static reloc_howto_type mcore_coff_howto Line 75  static reloc_howto_type mcore_coff_howto
75           0,                      /* rightshift */           0,                      /* rightshift */
76           0,                      /* size (0 = byte, 1 = short, 2 = long) */           0,                      /* size (0 = byte, 1 = short, 2 = long) */
77           0,                      /* bitsize */           0,                      /* bitsize */
78           false,                  /* pc_relative */           FALSE,                  /* pc_relative */
79           0,                      /* bitpos */           0,                      /* bitpos */
80           complain_overflow_dont, /* dont complain_on_overflow */           complain_overflow_dont, /* dont complain_on_overflow */
81           NULL,                   /* special_function */           NULL,                   /* special_function */
82           "ABSOLUTE",             /* name */           "ABSOLUTE",             /* name */
83           false,                  /* partial_inplace */           FALSE,                  /* partial_inplace */
84           0x00,                   /* src_mask */           0x00,                   /* src_mask */
85           0x00,                   /* dst_mask */           0x00,                   /* dst_mask */
86           false),                 /* pcrel_offset */           FALSE),                 /* pcrel_offset */
87    
88    HOWTO (IMAGE_REL_MCORE_ADDR32,/* type */    HOWTO (IMAGE_REL_MCORE_ADDR32,/* type */
89           0,                     /* rightshift */           0,                     /* rightshift */
90           2,                     /* size (0 = byte, 1 = short, 2 = long) */           2,                     /* size (0 = byte, 1 = short, 2 = long) */
91           32,                    /* bitsize */           32,                    /* bitsize */
92           false,                 /* pc_relative */           FALSE,                 /* pc_relative */
93           0,                     /* bitpos */           0,                     /* bitpos */
94           complain_overflow_bitfield, /* complain_on_overflow */           complain_overflow_bitfield, /* complain_on_overflow */
95           NULL,                  /* special_function */           NULL,                  /* special_function */
96           "ADDR32",              /* name */           "ADDR32",              /* name */
97           true,                  /* partial_inplace */           TRUE,                  /* partial_inplace */
98           0xffffffff,            /* src_mask */           0xffffffff,            /* src_mask */
99           0xffffffff,            /* dst_mask */           0xffffffff,            /* dst_mask */
100           false),                /* pcrel_offset */           FALSE),                /* pcrel_offset */
101    
102    /* 8 bits + 2 zero bits; jmpi/jsri/lrw instructions.    /* 8 bits + 2 zero bits; jmpi/jsri/lrw instructions.
103       Should not appear in object files.  */       Should not appear in object files.  */
# Line 107  static reloc_howto_type mcore_coff_howto Line 105  static reloc_howto_type mcore_coff_howto
105           2,                     /* rightshift */           2,                     /* rightshift */
106           1,                     /* size (0 = byte, 1 = short, 2 = long) */           1,                     /* size (0 = byte, 1 = short, 2 = long) */
107           8,                     /* bitsize */           8,                     /* bitsize */
108           true,                  /* pc_relative */           TRUE,                  /* pc_relative */
109           0,                     /* bitpos */           0,                     /* bitpos */
110           complain_overflow_bitfield, /* complain_on_overflow */           complain_overflow_bitfield, /* complain_on_overflow */
111           mcore_coff_unsupported_reloc, /* special_function */           mcore_coff_unsupported_reloc, /* special_function */
112           "IMM8BY4",             /* name */           "IMM8BY4",             /* name */
113           false,                 /* partial_inplace */           FALSE,                 /* partial_inplace */
114           0,                     /* src_mask */           0,                     /* src_mask */
115           0,                     /* dst_mask */           0,                     /* dst_mask */
116           true),                 /* pcrel_offset */           TRUE),                 /* pcrel_offset */
117    
118    /* bsr/bt/bf/br instructions; 11 bits + 1 zero bit    /* bsr/bt/bf/br instructions; 11 bits + 1 zero bit
119       Span 2k instructions == 4k bytes.       Span 2k instructions == 4k bytes.
# Line 124  static reloc_howto_type mcore_coff_howto Line 122  static reloc_howto_type mcore_coff_howto
122           1,                     /* rightshift */           1,                     /* rightshift */
123           1,                     /* size (0 = byte, 1 = short, 2 = long) */           1,                     /* size (0 = byte, 1 = short, 2 = long) */
124           11,                    /* bitsize */           11,                    /* bitsize */
125           true,                  /* pc_relative */           TRUE,                  /* pc_relative */
126           0,                     /* bitpos */           0,                     /* bitpos */
127           complain_overflow_signed, /* complain_on_overflow */           complain_overflow_signed, /* complain_on_overflow */
128           NULL,                  /* special_function */           NULL,                  /* special_function */
129           "IMM11BY2",            /* name */           "IMM11BY2",            /* name */
130           false,                 /* partial_inplace */           FALSE,                 /* partial_inplace */
131           0x0,                   /* src_mask */           0x0,                   /* src_mask */
132           0x7ff,                 /* dst_mask */           0x7ff,                 /* dst_mask */
133           true),                 /* pcrel_offset */           TRUE),                 /* pcrel_offset */
134    
135    /* 4 bits + 1 zero bit; 'loopt' instruction only; unsupported.  */    /* 4 bits + 1 zero bit; 'loopt' instruction only; unsupported.  */
136    HOWTO (IMAGE_REL_MCORE_PCREL_IMM4BY2, /* type */    HOWTO (IMAGE_REL_MCORE_PCREL_IMM4BY2, /* type */
137           1,                     /* rightshift */           1,                     /* rightshift */
138           1,                     /* size (0 = byte, 1 = short, 2 = long) */           1,                     /* size (0 = byte, 1 = short, 2 = long) */
139           4,                     /* bitsize */           4,                     /* bitsize */
140           true,                  /* pc_relative */           TRUE,                  /* pc_relative */
141           0,                     /* bitpos */           0,                     /* bitpos */
142           complain_overflow_bitfield, /* complain_on_overflow */           complain_overflow_bitfield, /* complain_on_overflow */
143           mcore_coff_unsupported_reloc, /* special_function */           mcore_coff_unsupported_reloc, /* special_function */
144           "IMM4BY2",              /* name */           "IMM4BY2",              /* name */
145           false,                 /* partial_inplace */           FALSE,                 /* partial_inplace */
146           0,                     /* src_mask */           0,                     /* src_mask */
147           0,                     /* dst_mask */           0,                     /* dst_mask */
148           true),                 /* pcrel_offset */           TRUE),                 /* pcrel_offset */
149    
150    /* 32-bit pc-relative. Eventually this will help support PIC code.  */    /* 32-bit pc-relative. Eventually this will help support PIC code.  */
151    HOWTO (IMAGE_REL_MCORE_PCREL_32,/* type */    HOWTO (IMAGE_REL_MCORE_PCREL_32,/* type */
152           0,                     /* rightshift */           0,                     /* rightshift */
153           2,                     /* size (0 = byte, 1 = short, 2 = long) */           2,                     /* size (0 = byte, 1 = short, 2 = long) */
154           32,                    /* bitsize */           32,                    /* bitsize */
155           true,                  /* pc_relative */           TRUE,                  /* pc_relative */
156           0,                     /* bitpos */           0,                     /* bitpos */
157           complain_overflow_bitfield, /* complain_on_overflow */           complain_overflow_bitfield, /* complain_on_overflow */
158           NULL,                  /* special_function */           NULL,                  /* special_function */
159           "PCREL_32",            /* name */           "PCREL_32",            /* name */
160           false,                 /* partial_inplace */           FALSE,                 /* partial_inplace */
161           0x0,                   /* src_mask */           0x0,                   /* src_mask */
162           0xffffffff,            /* dst_mask */           0xffffffff,            /* dst_mask */
163           true),                 /* pcrel_offset */           TRUE),                 /* pcrel_offset */
164    
165    /* Like PCREL_IMM11BY2, this relocation indicates that there is a    /* Like PCREL_IMM11BY2, this relocation indicates that there is a
166       'jsri' at the specified address. There is a separate relocation       'jsri' at the specified address. There is a separate relocation
# Line 175  static reloc_howto_type mcore_coff_howto Line 173  static reloc_howto_type mcore_coff_howto
173           1,                     /* rightshift */           1,                     /* rightshift */
174           1,                     /* size (0 = byte, 1 = short, 2 = long) */           1,                     /* size (0 = byte, 1 = short, 2 = long) */
175           11,                    /* bitsize */           11,                    /* bitsize */
176           true,                  /* pc_relative */           TRUE,                  /* pc_relative */
177           0,                     /* bitpos */           0,                     /* bitpos */
178           complain_overflow_signed, /* complain_on_overflow */           complain_overflow_signed, /* complain_on_overflow */
179           NULL,                  /* special_function */           NULL,                  /* special_function */
180           "JSR_IMM11BY2",        /* name */           "JSR_IMM11BY2",        /* name */
181           false,                 /* partial_inplace */           FALSE,                 /* partial_inplace */
182           0x0,                   /* src_mask */           0x0,                   /* src_mask */
183           0x7ff,                 /* dst_mask */           0x7ff,                 /* dst_mask */
184           true),                 /* pcrel_offset */           TRUE),                 /* pcrel_offset */
185    
186    HOWTO (IMAGE_REL_MCORE_RVA,   /* type */    HOWTO (IMAGE_REL_MCORE_RVA,   /* type */
187           0,                     /* rightshift */           0,                     /* rightshift */
188           2,                     /* size (0 = byte, 1 = short, 2 = long) */           2,                     /* size (0 = byte, 1 = short, 2 = long) */
189           32,                    /* bitsize */           32,                    /* bitsize */
190           false,                 /* pc_relative */           FALSE,                 /* pc_relative */
191           0,                     /* bitpos */           0,                     /* bitpos */
192           complain_overflow_signed, /* complain_on_overflow */           complain_overflow_signed, /* complain_on_overflow */
193           NULL,                  /* special_function */           NULL,                  /* special_function */
194           "MCORE_RVA",           /* name */           "MCORE_RVA",           /* name */
195           true,                  /* partial_inplace */           TRUE,                  /* partial_inplace */
196           0xffffffff,            /* src_mask */           0xffffffff,            /* src_mask */
197           0xffffffff,            /* dst_mask */           0xffffffff,            /* dst_mask */
198           true)                  /* pcrel_offset */           TRUE)                  /* pcrel_offset */
199  };  };
200    
201  /* Extend the coff_link_hash_table structure with a few M*Core specific fields.  /* Extend the coff_link_hash_table structure with a few M*Core specific fields.
# Line 220  mcore_hash_table; Line 218  mcore_hash_table;
218  #define coff_mcore_hash_table(info) \  #define coff_mcore_hash_table(info) \
219    ((mcore_hash_table *) ((info)->hash))    ((mcore_hash_table *) ((info)->hash))
220    
 #if 0  
 /* Create an MCore coff linker hash table.  */  
   
 static struct bfd_link_hash_table *  
 coff_mcore_link_hash_table_create (abfd)  
      bfd * abfd;  
 {  
   mcore_hash_table * ret;  
   
   ret = (mcore_hash_table *) bfd_malloc ((bfd_size_type) sizeof (* ret));  
   if (ret == (mcore_hash_table *) NULL)  
     return NULL;  
   
   if (! _bfd_coff_link_hash_table_init  
       (& ret->root, abfd, _bfd_coff_link_hash_newfunc))  
     {  
       free (ret);  
       return (struct bfd_link_hash_table *) NULL;  
     }  
   
   ret->bfd_of_toc_owner = NULL;  
   ret->global_toc_size  = 0;  
   ret->import_table_size = 0;  
   ret->first_thunk_address = 0;  
   ret->thunk_size = 0;  
   
   return & ret->root.root;  
 }  
 #endif  
221    
222  /* Add an entry to the base file.  */  /* Add an entry to the base file.  */
223    
# Line 283  mcore_coff_unsupported_reloc (abfd, relo Line 252  mcore_coff_unsupported_reloc (abfd, relo
252  {  {
253    BFD_ASSERT (reloc_entry->howto != (reloc_howto_type *)0);    BFD_ASSERT (reloc_entry->howto != (reloc_howto_type *)0);
254    
255    _bfd_error_handler (_("%s: Relocation %s (%d) is not currently supported.\n"),    _bfd_error_handler (_("%B: Relocation %s (%d) is not currently supported.\n"),
256                        bfd_archive_filename (abfd),                        abfd,
257                        reloc_entry->howto->name,                        reloc_entry->howto->name,
258                        reloc_entry->howto->type);                        reloc_entry->howto->type);
259    
# Line 358  coff_mcore_rtype_to_howto (abfd, sec, re Line 327  coff_mcore_rtype_to_howto (abfd, sec, re
327    return howto;    return howto;
328  }  }
329    
330  /* Return true if this relocation should appear in the output .reloc section.  /* Return TRUE if this relocation should appear in the output .reloc section.
331     This function is referenced in pe_mkobject in peicode.h.  */     This function is referenced in pe_mkobject in peicode.h.  */
332    
333  static boolean  static bfd_boolean
334  in_reloc_p (abfd, howto)  in_reloc_p (abfd, howto)
335       bfd * abfd ATTRIBUTE_UNUSED;       bfd * abfd ATTRIBUTE_UNUSED;
336       reloc_howto_type * howto;       reloc_howto_type * howto;
# Line 370  in_reloc_p (abfd, howto) Line 339  in_reloc_p (abfd, howto)
339  }  }
340    
341  /* The reloc processing routine for the optimized COFF linker.  */  /* The reloc processing routine for the optimized COFF linker.  */
342  static boolean  static bfd_boolean
343  coff_mcore_relocate_section (output_bfd, info, input_bfd, input_section,  coff_mcore_relocate_section (output_bfd, info, input_bfd, input_section,
344                             contents, relocs, syms, sections)                             contents, relocs, syms, sections)
345       bfd * output_bfd;       bfd * output_bfd;
# Line 384  coff_mcore_relocate_section (output_bfd, Line 353  coff_mcore_relocate_section (output_bfd,
353  {  {
354    struct internal_reloc * rel;    struct internal_reloc * rel;
355    struct internal_reloc * relend;    struct internal_reloc * relend;
356    boolean hihalf;    bfd_boolean hihalf;
357    bfd_vma hihalf_val;    bfd_vma hihalf_val;
358    
359    /* If we are performing a relocateable link, we don't need to do a    /* If we are performing a relocatable link, we don't need to do a
360       thing.  The caller will take care of adjusting the reloc       thing.  The caller will take care of adjusting the reloc
361       addresses and symbol indices.  */       addresses and symbol indices.  */
362    if (info->relocateable)    if (info->relocatable)
363      return true;      return TRUE;
364    
365    /* Check if we have the same endianess */    /* Check if we have the same endianess */
366    if (   input_bfd->xvec->byteorder != output_bfd->xvec->byteorder    if (   input_bfd->xvec->byteorder != output_bfd->xvec->byteorder
367        && output_bfd->xvec->byteorder != BFD_ENDIAN_UNKNOWN)        && output_bfd->xvec->byteorder != BFD_ENDIAN_UNKNOWN)
368      {      {
369        (*_bfd_error_handler)        (*_bfd_error_handler)
370          (_("%s: compiled for a %s system and target is %s.\n"),          (_("%B: compiled for a %s system and target is %s.\n"),
371           bfd_archive_filename (input_bfd),           input_bfd,
372           bfd_big_endian (input_bfd) ? _("big endian") : _("little endian"),           bfd_big_endian (input_bfd) ? _("big endian") : _("little endian"),
373           bfd_big_endian (output_bfd) ? _("big endian") : _("little endian"));           bfd_big_endian (output_bfd) ? _("big endian") : _("little endian"));
374    
375        bfd_set_error (bfd_error_wrong_format);        bfd_set_error (bfd_error_wrong_format);
376        return false;        return FALSE;
377      }      }
378    
379    hihalf = false;    hihalf = FALSE;
380    hihalf_val = 0;    hihalf_val = 0;
381    
382    rel = relocs;    rel = relocs;
# Line 446  coff_mcore_relocate_section (output_bfd, Line 415  coff_mcore_relocate_section (output_bfd,
415        howto = bfd_coff_rtype_to_howto (input_bfd, input_section, rel, h,        howto = bfd_coff_rtype_to_howto (input_bfd, input_section, rel, h,
416                                         sym, & addend);                                         sym, & addend);
417        if (howto == NULL)        if (howto == NULL)
418          return false;          return FALSE;
419    
420        val = 0;        val = 0;
421    
# Line 492  coff_mcore_relocate_section (output_bfd, Line 461  coff_mcore_relocate_section (output_bfd,
461              {              {
462                if (! ((*info->callbacks->undefined_symbol)                if (! ((*info->callbacks->undefined_symbol)
463                       (info, h->root.root.string, input_bfd, input_section,                       (info, h->root.root.string, input_bfd, input_section,
464                        rel->r_vaddr - input_section->vma, true)))                        rel->r_vaddr - input_section->vma, TRUE)))
465                  return false;                  return FALSE;
466              }              }
467    
468            my_name = h->root.root.string;            my_name = h->root.root.string;
# Line 505  coff_mcore_relocate_section (output_bfd, Line 474  coff_mcore_relocate_section (output_bfd,
474        switch (r_type)        switch (r_type)
475          {          {
476          default:          default:
477            _bfd_error_handler (_("%s: unsupported relocation type 0x%02x"),            _bfd_error_handler (_("%B: unsupported relocation type 0x%02x"),
478                                bfd_archive_filename (input_bfd), r_type);                                input_bfd, r_type);
479            bfd_set_error (bfd_error_bad_value);            bfd_set_error (bfd_error_bad_value);
480            return false;            return FALSE;
481    
482          case IMAGE_REL_MCORE_ABSOLUTE:          case IMAGE_REL_MCORE_ABSOLUTE:
483            fprintf (stderr,            _bfd_error_handler
484                     _("Warning: unsupported reloc %s <file %s, section %s>\n"),              (_("Warning: unsupported reloc %s <file %B, section %A>\n"
485                     howto->name,                 "sym %ld (%s), r_vaddr %ld (%lx)"),
486                     bfd_archive_filename (input_bfd),               input_bfd, input_section, howto->name,
487                     input_section->name);               rel->r_symndx, my_name, (long) rel->r_vaddr,
488                 (unsigned long) rel->r_vaddr);
           fprintf (stderr,"sym %ld (%s), r_vaddr %ld (%lx)\n",  
                    rel->r_symndx, my_name, (long) rel->r_vaddr,  
                    (unsigned long) rel->r_vaddr);  
489            break;            break;
490    
491          case IMAGE_REL_MCORE_PCREL_IMM8BY4:          case IMAGE_REL_MCORE_PCREL_IMM8BY4:
# Line 557  coff_mcore_relocate_section (output_bfd, Line 523  coff_mcore_relocate_section (output_bfd,
523    
524          case bfd_reloc_overflow:          case bfd_reloc_overflow:
525            if (! ((*info->callbacks->reloc_overflow)            if (! ((*info->callbacks->reloc_overflow)
526                   (info, my_name, howto->name,                   (info, (h ? &h->root : NULL), my_name, howto->name,
527                    (bfd_vma) 0, input_bfd,                    (bfd_vma) 0, input_bfd,
528                    input_section, rel->r_vaddr - input_section->vma)))                    input_section, rel->r_vaddr - input_section->vma)))
529              return false;              return FALSE;
530          }          }
531      }      }
532    
533    return true;    return TRUE;
534  }  }
535    
536  /* Tailor coffcode.h -- macro heaven.  */  /* Tailor coffcode.h -- macro heaven.  */
# Line 577  coff_mcore_relocate_section (output_bfd, Line 543  coff_mcore_relocate_section (output_bfd,
543    
544  #define SELECT_RELOC(internal, howto) {internal.r_type = howto->type;}  #define SELECT_RELOC(internal, howto) {internal.r_type = howto->type;}
545    
546    /* Make sure that the 'r_offset' field is copied properly
547       so that identical binaries will compare the same.  */
548    #define SWAP_IN_RELOC_OFFSET         H_GET_32
549    #define SWAP_OUT_RELOC_OFFSET        H_PUT_32
550    
551  #define COFF_PAGE_SIZE               0x1000  #define COFF_PAGE_SIZE               0x1000
552    
553  #include "coffcode.h"  #include "coffcode.h"
554    
555  /* Forward declaration to initialise alterbative_target field.  */  /* Forward declaration to initialise alternative_target field.  */
556  extern const bfd_target TARGET_LITTLE_SYM;  extern const bfd_target TARGET_LITTLE_SYM;
557    
558  /* The transfer vectors that lead the outside world to all of the above.  */  /* The transfer vectors that lead the outside world to all of the above.  */
559  CREATE_BIG_COFF_TARGET_VEC (TARGET_BIG_SYM, TARGET_BIG_NAME, D_PAGED,  CREATE_BIG_COFF_TARGET_VEC (TARGET_BIG_SYM, TARGET_BIG_NAME, D_PAGED,
560                              (SEC_CODE | SEC_DATA | SEC_DEBUGGING | SEC_READONLY | SEC_LINK_ONCE | SEC_LINK_DUPLICATES),                              (SEC_CODE | SEC_DATA | SEC_DEBUGGING | SEC_READONLY | SEC_LINK_ONCE | SEC_LINK_DUPLICATES),
561                              0, & TARGET_LITTLE_SYM)                              0, & TARGET_LITTLE_SYM, COFF_SWAP_TABLE)
562  CREATE_LITTLE_COFF_TARGET_VEC (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, D_PAGED,  CREATE_LITTLE_COFF_TARGET_VEC (TARGET_LITTLE_SYM, TARGET_LITTLE_NAME, D_PAGED,
563                                 (SEC_CODE | SEC_DATA | SEC_DEBUGGING | SEC_READONLY | SEC_LINK_ONCE | SEC_LINK_DUPLICATES),                                 (SEC_CODE | SEC_DATA | SEC_DEBUGGING | SEC_READONLY | SEC_LINK_ONCE | SEC_LINK_DUPLICATES),
564                                 0, & TARGET_BIG_SYM)                                 0, & TARGET_BIG_SYM, COFF_SWAP_TABLE)

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