projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
*** empty log message ***
[deliverable/binutils-gdb.git]
/
bfd
/
aout-ns32k.c
diff --git
a/bfd/aout-ns32k.c
b/bfd/aout-ns32k.c
index 70cc515da50e288b0a46bc7452e671675cc6339c..75886bca1d26e2a182e2acc1ea382b8be7399122 100644
(file)
--- a/
bfd/aout-ns32k.c
+++ b/
bfd/aout-ns32k.c
@@
-1,13
+1,13
@@
/* BFD back-end for ns32k a.out-ish binaries.
Copyright 1990, 1991, 1992, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
/* BFD back-end for ns32k a.out-ish binaries.
Copyright 1990, 1991, 1992, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
- 2002, 2003, 2005 Free Software Foundation, Inc.
+ 2002, 2003, 2005
, 2006, 2007, 2010, 2012
Free Software Foundation, Inc.
Contributed by Ian Dall (idall@eleceng.adelaide.edu.au).
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
Contributed by Ian Dall (idall@eleceng.adelaide.edu.au).
This file is part of BFD, the Binary File Descriptor library.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version
2
of the License, or
+ the Free Software Foundation; either version
3
of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
(at your option) any later version.
This program is distributed in the hope that it will be useful,
@@
-17,8
+17,10
@@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02110-1301, USA. */
+ Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston,
+ MA 02110-1301, USA. */
+#include "sysdep.h"
#include "bfd.h"
#include "aout/aout64.h"
#include "ns32k.h"
#include "bfd.h"
#include "aout/aout64.h"
#include "ns32k.h"
@@
-28,8
+30,9
@@
the tokens. */
#define MYNS(OP) CONCAT2 (ns32kaout_,OP)
the tokens. */
#define MYNS(OP) CONCAT2 (ns32kaout_,OP)
-reloc_howto_type * MYNS (bfd_reloc_type_lookup) (bfd * abfd, bfd_reloc_code_real_type);
-bfd_boolean MYNS (write_object_contents) (bfd *abfd);
+reloc_howto_type * MYNS (bfd_reloc_type_lookup) (bfd *, bfd_reloc_code_real_type);
+reloc_howto_type * MYNS (bfd_reloc_name_lookup) (bfd *, const char *);
+bfd_boolean MYNS (write_object_contents) (bfd *);
/* Avoid multiple definitions from aoutx if supporting
standard a.out format(s) as well as this one. */
/* Avoid multiple definitions from aoutx if supporting
standard a.out format(s) as well as this one. */
@@
-212,7
+215,7
@@
MY (bfd_reloc_type_lookup) (bfd *abfd, bfd_reloc_code_real_type code)
BFD_ASSERT (ext == 0);
if (code == BFD_RELOC_CTOR)
BFD_ASSERT (ext == 0);
if (code == BFD_RELOC_CTOR)
- switch (bfd_
get_arch_info (abfd)->bits_per_address
)
+ switch (bfd_
arch_bits_per_address (abfd)
)
{
case 32:
code = BFD_RELOC_32;
{
case 32:
code = BFD_RELOC_32;
@@
-246,6
+249,22
@@
MY (bfd_reloc_type_lookup) (bfd *abfd, bfd_reloc_code_real_type code)
#undef ENTRY
}
#undef ENTRY
}
+reloc_howto_type *
+MY (bfd_reloc_name_lookup) (bfd *abfd ATTRIBUTE_UNUSED,
+ const char *r_name)
+{
+ unsigned int i;
+
+ for (i = 0;
+ i < sizeof (MY (howto_table)) / sizeof (MY (howto_table)[0]);
+ i++)
+ if (MY (howto_table)[i].name != NULL
+ && strcasecmp (MY (howto_table)[i].name, r_name) == 0)
+ return &MY (howto_table)[i];
+
+ return NULL;
+}
+
static void
MY_swap_std_reloc_in (bfd *abfd,
struct reloc_std_external *bytes,
static void
MY_swap_std_reloc_in (bfd *abfd,
struct reloc_std_external *bytes,
@@
-274,11
+293,8
@@
MY_swap_std_reloc_out (bfd *abfd,
int r_index;
asymbol *sym = *(g->sym_ptr_ptr);
int r_extern;
int r_index;
asymbol *sym = *(g->sym_ptr_ptr);
int r_extern;
- unsigned int r_addend;
asection *output_section = sym->section->output_section;
asection *output_section = sym->section->output_section;
- r_addend = g->addend + (*(g->sym_ptr_ptr))->section->output_section->vma;
-
/* Name was clobbered by aout_write_syms to be symbol index. */
/* If this relocation is relative to a symbol then set the
/* Name was clobbered by aout_write_syms to be symbol index. */
/* If this relocation is relative to a symbol then set the
@@
-288,10
+304,10
@@
MY_swap_std_reloc_out (bfd *abfd,
from the abs section, or as a symbol which has an abs value.
Check for that here. */
if (bfd_is_com_section (output_section)
from the abs section, or as a symbol which has an abs value.
Check for that here. */
if (bfd_is_com_section (output_section)
- ||
output_section == &bfd_abs_section
- ||
output_section == &bfd_und_section
)
+ ||
bfd_is_abs_section (output_section)
+ ||
bfd_is_und_section (output_section)
)
{
{
- if (bfd_abs_section
.
symbol == sym)
+ if (bfd_abs_section
_ptr->
symbol == sym)
{
/* Whoops, looked like an abs symbol, but is really an offset
from the abs section. */
{
/* Whoops, looked like an abs symbol, but is really an offset
from the abs section. */
@@
-341,7
+357,6
@@
_bfd_ns32k_relocate_contents (reloc_howto_type *howto,
case 2:
return _bfd_relocate_contents (howto, input_bfd, relocation,
location);
case 2:
return _bfd_relocate_contents (howto, input_bfd, relocation,
location);
- break;
default:
return bfd_reloc_notsupported;
}
default:
return bfd_reloc_notsupported;
}
This page took
0.024926 seconds
and
4
git commands to generate.