projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Don't write to inferior_ptid in nto-procfs.c
[deliverable/binutils-gdb.git]
/
bfd
/
aout-ns32k.c
diff --git
a/bfd/aout-ns32k.c
b/bfd/aout-ns32k.c
index cc9f06d8dabd8e16f987388eaef738f72dfd09af..d988409817de441a8cb43402c36953d6730d58c7 100644
(file)
--- a/
bfd/aout-ns32k.c
+++ b/
bfd/aout-ns32k.c
@@
-1,13
+1,12
@@
/* BFD back-end for ns32k a.out-ish binaries.
/* 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.
+ Copyright (C) 1990-2020 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
+16,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., 51 Franklin Street - Fifth Floor, 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"
@@
-26,10
+27,11
@@
/* Do not "beautify" the CONCAT* macro args. Traditional C will not
remove whitespace added here, and thus will fail to concatenate
the tokens. */
/* Do not "beautify" the CONCAT* macro args. Traditional C will not
remove whitespace added here, and thus will fail to concatenate
the tokens. */
-#define MYNS(OP) CONCAT2 (ns32kaout_,OP)
+#define MYNS(OP) CONCAT2 (ns32k
_
aout_,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. */
@@
-65,10
+67,10
@@
void bfd_ns32k_arch (void);
sym1: .long foo # 2's complement not pc relative
self: movd @self, r0 # pc relative displacement
sym1: .long foo # 2's complement not pc relative
self: movd @self, r0 # pc relative displacement
-
movd foo, r0 # non pc relative displacement
+ movd foo, r0 # non pc relative displacement
self: movd self, r0 # pc relative immediate
self: movd self, r0 # pc relative immediate
-
movd foo, r0 # non pc relative immediate
+ movd foo, r0 # non pc relative immediate
In addition, for historical reasons the encoding of the relocation types
in the a.out format relocation entries is such that even the relocation
In addition, for historical reasons the encoding of the relocation types
in the a.out format relocation entries is such that even the relocation
@@
-133,10
+135,10
@@
reloc_howto_type MY (howto_table)[] =
#define CTOR_TABLE_RELOC_HOWTO(BFD) (MY (howto_table) + 14)
#define CTOR_TABLE_RELOC_HOWTO(BFD) (MY (howto_table) + 14)
-#define RELOC_STD_BITS_NS32K_TYPE_BIG 0x06
-#define RELOC_STD_BITS_NS32K_TYPE_LITTLE 0x60
-#define RELOC_STD_BITS_NS32K_TYPE_SH_BIG 1
-#define RELOC_STD_BITS_NS32K_TYPE_SH_LITTLE 5
+#define RELOC_STD_BITS_NS32K_TYPE_BIG 0x06
+#define RELOC_STD_BITS_NS32K_TYPE_LITTLE 0x60
+#define RELOC_STD_BITS_NS32K_TYPE_SH_BIG 1
+#define RELOC_STD_BITS_NS32K_TYPE_SH_LITTLE 5
static reloc_howto_type *
MY (reloc_howto) (bfd *abfd ATTRIBUTE_UNUSED,
static reloc_howto_type *
MY (reloc_howto) (bfd *abfd ATTRIBUTE_UNUSED,
@@
-212,7
+214,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
+248,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
+292,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
+303,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
+356,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.026051 seconds
and
4
git commands to generate.