/[gcl]/gcl/binutils/bfd/aout-arm.c
ViewVC logotype

Diff of /gcl/binutils/bfd/aout-arm.c

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

revision 1.1.1.1 by camm, Fri Aug 9 05:34:42 2002 UTC revision 1.2 by camm, Fri Sep 9 23:32:07 2005 UTC
# Line 1  Line 1 
1  /* BFD back-end for raw ARM a.out binaries.  /* BFD back-end for raw ARM a.out binaries.
2     Copyright 1994, 1995, 1997, 1998, 1999, 2000, 2001     Copyright 1994, 1995, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2005
3     Free Software Foundation, Inc.     Free Software Foundation, Inc.
4     Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)     Contributed by Richard Earnshaw (rwe@pegasus.esprit.ec.org)
5    
# Line 22  Foundation, Inc., 59 Temple Place - Suit Line 22  Foundation, Inc., 59 Temple Place - Suit
22  #include "bfd.h"  #include "bfd.h"
23  #include "sysdep.h"  #include "sysdep.h"
24    
25  /* Avoid multiple defininitions from aoutx if supporting standarad a.out  /* Avoid multiple definitions from aoutx if supporting standard a.out
26     as well as our own.  */     as well as our own.  */
27  /* Do not "beautify" the CONCAT* macro args.  Traditional C will not  /* Do not "beautify" the CONCAT* macro args.  Traditional C will not
28     remove whitespace added here, and thus will fail to concatenate     remove whitespace added here, and thus will fail to concatenate
# Line 54  Foundation, Inc., 59 Temple Place - Suit Line 54  Foundation, Inc., 59 Temple Place - Suit
54  #include "libaout.h"  #include "libaout.h"
55  #include "aout/aout64.h"  #include "aout/aout64.h"
56    
57  static boolean MY(write_object_contents)  static bfd_boolean MY(write_object_contents)
58    PARAMS ((bfd *));    PARAMS ((bfd *));
59  static bfd_reloc_status_type MY(fix_pcrel_26_done)  static bfd_reloc_status_type MY(fix_pcrel_26_done)
60    PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **));    PARAMS ((bfd *, arelent *, asymbol *, PTR, asection *, bfd *, char **));
# Line 80  reloc_howto_type MY(howto_table)[] = Line 80  reloc_howto_type MY(howto_table)[] =
80    {    {
81      /* Type rs size bsz pcrel bitpos ovrf sf name part_inpl      /* Type rs size bsz pcrel bitpos ovrf sf name part_inpl
82         readmask setmask pcdone.  */         readmask setmask pcdone.  */
83      HOWTO (0, 0, 0, 8, false, 0, complain_overflow_bitfield, 0, "8", true,      HOWTO (0, 0, 0, 8, FALSE, 0, complain_overflow_bitfield, 0, "8", TRUE,
84             0x000000ff, 0x000000ff, false),             0x000000ff, 0x000000ff, FALSE),
85      HOWTO (1, 0, 1, 16, false, 0, complain_overflow_bitfield, 0, "16", true,      HOWTO (1, 0, 1, 16, FALSE, 0, complain_overflow_bitfield, 0, "16", TRUE,
86             0x0000ffff, 0x0000ffff, false),             0x0000ffff, 0x0000ffff, FALSE),
87      HOWTO (2, 0, 2, 32, false, 0, complain_overflow_bitfield, 0, "32", true,      HOWTO (2, 0, 2, 32, FALSE, 0, complain_overflow_bitfield, 0, "32", TRUE,
88             0xffffffff, 0xffffffff, false),             0xffffffff, 0xffffffff, FALSE),
89      HOWTO (3, 2, 2, 26, true, 0, complain_overflow_signed, MY(fix_pcrel_26),      HOWTO (3, 2, 2, 26, TRUE, 0, complain_overflow_signed, MY(fix_pcrel_26),
90             "ARM26", true, 0x00ffffff, 0x00ffffff, true),             "ARM26", TRUE, 0x00ffffff, 0x00ffffff, TRUE),
91      HOWTO (4, 0, 0, 8, true, 0, complain_overflow_signed, 0, "DISP8", true,      HOWTO (4, 0, 0, 8, TRUE, 0, complain_overflow_signed, 0, "DISP8", TRUE,
92             0x000000ff, 0x000000ff, true),             0x000000ff, 0x000000ff, TRUE),
93      HOWTO (5, 0, 1, 16, true, 0, complain_overflow_signed, 0, "DISP16", true,      HOWTO (5, 0, 1, 16, TRUE, 0, complain_overflow_signed, 0, "DISP16", TRUE,
94             0x0000ffff, 0x0000ffff, true),             0x0000ffff, 0x0000ffff, TRUE),
95      HOWTO (6, 0, 2, 32, true, 0, complain_overflow_signed, 0, "DISP32", true,      HOWTO (6, 0, 2, 32, TRUE, 0, complain_overflow_signed, 0, "DISP32", TRUE,
96             0xffffffff, 0xffffffff, true),             0xffffffff, 0xffffffff, TRUE),
97      HOWTO (7, 2, 2, 26, false, 0, complain_overflow_signed,      HOWTO (7, 2, 2, 26, FALSE, 0, complain_overflow_signed,
98             MY(fix_pcrel_26_done), "ARM26D", true, 0x0, 0x0,             MY(fix_pcrel_26_done), "ARM26D", TRUE, 0x0, 0x0,
99             false),             FALSE),
100      EMPTY_HOWTO (-1),      EMPTY_HOWTO (-1),
101      HOWTO (9, 0, -1, 16, false, 0, complain_overflow_bitfield, 0, "NEG16", true,      HOWTO (9, 0, -1, 16, FALSE, 0, complain_overflow_bitfield, 0, "NEG16", TRUE,
102             0x0000ffff, 0x0000ffff, false),             0x0000ffff, 0x0000ffff, FALSE),
103      HOWTO (10, 0, -2, 32, false, 0, complain_overflow_bitfield, 0, "NEG32", true,      HOWTO (10, 0, -2, 32, FALSE, 0, complain_overflow_bitfield, 0, "NEG32", TRUE,
104             0xffffffff, 0xffffffff, false)             0xffffffff, 0xffffffff, FALSE)
105    };    };
106    
107  #define RELOC_ARM_BITS_NEG_BIG      ((unsigned int) 0x08)  #define RELOC_ARM_BITS_NEG_BIG      ((unsigned int) 0x08)
# Line 411  MY_swap_std_reloc_out (abfd, g, natptr) Line 411  MY_swap_std_reloc_out (abfd, g, natptr)
411        r_pcrel = 1;        r_pcrel = 1;
412      }      }
413    
 #if 0  
   /* For a standard reloc, the addend is in the object file.  */  
   r_addend = g->addend + (*(g->sym_ptr_ptr))->section->output_section->vma;  
 #endif  
   
414    /* name was clobbered by aout_write_syms to be symbol index */    /* name was clobbered by aout_write_syms to be symbol index */
415    
416    /* If this relocation is relative to a symbol then set the    /* If this relocation is relative to a symbol then set the

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

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