~ubuntu-branches/ubuntu/hoary/binutils/hoary

« back to all changes in this revision

Viewing changes to bfd/nlm32-alpha.c

  • Committer: Bazaar Package Importer
  • Author(s): Martin Pitt
  • Date: 2005-03-18 13:07:52 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20050318130752-j4i37zgqclj53b94
Tags: 2.15-5ubuntu2
debian/rules: Call pkgstriptranslations if present (the package does not
use debhelper, thus it does not happen automatically).

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
1
/* Support for 32-bit Alpha NLM (NetWare Loadable Module)
2
 
   Copyright 1993, 1994, 2000, 2001, 2002 Free Software Foundation, Inc.
 
2
   Copyright 1993, 1994, 2000, 2001, 2002, 2003
 
3
   Free Software Foundation, Inc.
3
4
   Written by Ian Lance Taylor, Cygnus Support.
4
5
 
5
6
This file is part of BFD, the Binary File Descriptor library.
40
41
static bfd_boolean nlm_alpha_read_reloc
41
42
  PARAMS ((bfd *, nlmNAME(symbol_type) *, asection **, arelent *));
42
43
static bfd_boolean nlm_alpha_mangle_relocs
43
 
  PARAMS ((bfd *, asection *, PTR, bfd_vma, bfd_size_type));
 
44
  PARAMS ((bfd *, asection *, const PTR, bfd_vma, bfd_size_type));
44
45
static bfd_boolean nlm_alpha_read_import
45
46
  PARAMS ((bfd *, nlmNAME(symbol_type) *));
46
47
static bfd_boolean nlm_alpha_write_import
96
97
  return TRUE;
97
98
}
98
99
 
 
100
#define ONES(n) (((bfd_vma) 1 << ((n) - 1) << 1) - 1)
 
101
 
99
102
/* How to process the various reloc types.  */
100
103
 
101
104
static reloc_howto_type nlm32_alpha_howto_table[] =
143
146
         0,                     /* special_function */
144
147
         "REFQUAD",             /* name */
145
148
         TRUE,                  /* partial_inplace */
146
 
         0xffffffffffffffff,    /* src_mask */
147
 
         0xffffffffffffffff,    /* dst_mask */
 
149
         ONES (64),             /* src_mask */
 
150
         ONES (64),             /* dst_mask */
148
151
         FALSE),                /* pcrel_offset */
149
152
 
150
153
  /* A 32 bit GP relative offset.  This is just like REFLONG except
303
306
         0,                     /* special_function */
304
307
         "SREL64",              /* name */
305
308
         TRUE,                  /* partial_inplace */
306
 
         0xffffffffffffffff,    /* src_mask */
307
 
         0xffffffffffffffff,    /* dst_mask */
 
309
         ONES (64),             /* src_mask */
 
310
         ONES (64),             /* dst_mask */
308
311
         FALSE),                /* pcrel_offset */
309
312
 
310
313
  /* Push a value on the reloc evaluation stack.  */
335
338
         "OP_STORE",            /* name */
336
339
         FALSE,                 /* partial_inplace */
337
340
         0,                     /* src_mask */
338
 
         0xffffffffffffffff,    /* dst_mask */
 
341
         ONES (64),             /* dst_mask */
339
342
         FALSE),                /* pcrel_offset */
340
343
 
341
344
  /* Subtract the reloc address from the value on the top of the
605
608
nlm_alpha_mangle_relocs (abfd, sec, data, offset, count)
606
609
     bfd *abfd ATTRIBUTE_UNUSED;
607
610
     asection *sec ATTRIBUTE_UNUSED;
608
 
     PTR data ATTRIBUTE_UNUSED;
 
611
     const PTR data ATTRIBUTE_UNUSED;
609
612
     bfd_vma offset ATTRIBUTE_UNUSED;
610
613
     bfd_size_type count ATTRIBUTE_UNUSED;
611
614
{