| Index: bfd/cpu-ns32k.c
|
| diff --git a/bfd/cpu-ns32k.c b/bfd/cpu-ns32k.c
|
| index 216b24869f712a0da5bb3c7be84f45fc065cb0c3..48a6bc696e9136d7f58df8349041b6583f598870 100644
|
| --- a/bfd/cpu-ns32k.c
|
| +++ b/bfd/cpu-ns32k.c
|
| @@ -1,6 +1,6 @@
|
| /* BFD support for the ns32k architecture.
|
| Copyright 1990, 1991, 1994, 1995, 1998, 1999, 2000, 2001, 2002, 2003,
|
| - 2004, 2005, 2007 Free Software Foundation, Inc.
|
| + 2004, 2005, 2007, 2012 Free Software Foundation, Inc.
|
| Almost totally rewritten by Ian Dall from initial work
|
| by Andrew Cagney.
|
|
|
| @@ -27,7 +27,8 @@
|
| #include "ns32k.h"
|
|
|
| #define N(machine, printable, d, next) \
|
| -{ 32, 32, 8, bfd_arch_ns32k, machine, "ns32k",printable,3,d,bfd_default_compatible,bfd_default_scan, next, }
|
| +{ 32, 32, 8, bfd_arch_ns32k, machine, "ns32k",printable,3,d, \
|
| + bfd_default_compatible,bfd_default_scan,bfd_arch_default_fill,next, }
|
|
|
| static const bfd_arch_info_type arch_info_struct[] =
|
| {
|
| @@ -37,16 +38,8 @@ static const bfd_arch_info_type arch_info_struct[] =
|
| const bfd_arch_info_type bfd_ns32k_arch =
|
| N(32032,"ns32k:32032",FALSE, &arch_info_struct[0]);
|
|
|
| -static bfd_reloc_status_type do_ns32k_reloc
|
| - PARAMS ((bfd *, arelent *, struct bfd_symbol *, PTR, asection *,
|
| - bfd *, char **,
|
| - bfd_vma (*) (bfd_byte *, int),
|
| - void (*) (bfd_vma, bfd_byte *, int)));
|
| -
|
| bfd_vma
|
| -_bfd_ns32k_get_displacement (buffer, size)
|
| - bfd_byte *buffer;
|
| - int size;
|
| +_bfd_ns32k_get_displacement (bfd_byte *buffer, int size)
|
| {
|
| bfd_signed_vma value;
|
|
|
| @@ -77,10 +70,7 @@ _bfd_ns32k_get_displacement (buffer, size)
|
| }
|
|
|
| void
|
| -_bfd_ns32k_put_displacement (value, buffer, size)
|
| - bfd_vma value;
|
| - bfd_byte *buffer;
|
| - int size;
|
| +_bfd_ns32k_put_displacement (bfd_vma value, bfd_byte *buffer, int size)
|
| {
|
| switch (size)
|
| {
|
| @@ -108,9 +98,7 @@ _bfd_ns32k_put_displacement (value, buffer, size)
|
| }
|
|
|
| bfd_vma
|
| -_bfd_ns32k_get_immediate (buffer, size)
|
| - bfd_byte *buffer;
|
| - int size;
|
| +_bfd_ns32k_get_immediate (bfd_byte *buffer, int size)
|
| {
|
| bfd_vma value = 0;
|
|
|
| @@ -131,10 +119,7 @@ _bfd_ns32k_get_immediate (buffer, size)
|
| }
|
|
|
| void
|
| -_bfd_ns32k_put_immediate (value, buffer, size)
|
| - bfd_vma value;
|
| - bfd_byte *buffer;
|
| - int size;
|
| +_bfd_ns32k_put_immediate (bfd_vma value, bfd_byte *buffer, int size)
|
| {
|
| buffer += size - 1;
|
| switch (size)
|
| @@ -155,17 +140,15 @@ _bfd_ns32k_put_immediate (value, buffer, size)
|
| needs to be! */
|
|
|
| static bfd_reloc_status_type
|
| -do_ns32k_reloc (abfd, reloc_entry, symbol, data, input_section, output_bfd,
|
| - error_message, get_data, put_data)
|
| - bfd *abfd;
|
| - arelent *reloc_entry;
|
| - struct bfd_symbol *symbol;
|
| - PTR data;
|
| - asection *input_section;
|
| - bfd *output_bfd;
|
| - char **error_message ATTRIBUTE_UNUSED;
|
| - bfd_vma (*get_data) PARAMS ((bfd_byte *, int));
|
| - void (*put_data) PARAMS ((bfd_vma, bfd_byte *, int));
|
| +do_ns32k_reloc (bfd * abfd,
|
| + arelent * reloc_entry,
|
| + struct bfd_symbol * symbol,
|
| + void * data,
|
| + asection * input_section,
|
| + bfd * output_bfd,
|
| + char ** error_message ATTRIBUTE_UNUSED,
|
| + bfd_vma (* get_data) (bfd_byte *, int),
|
| + void (* put_data) (bfd_vma, bfd_byte *, int))
|
| {
|
| int overflow = 0;
|
| bfd_vma relocation;
|
| @@ -176,7 +159,7 @@ do_ns32k_reloc (abfd, reloc_entry, symbol, data, input_section, output_bfd,
|
| asection *reloc_target_output_section;
|
| bfd_byte *location;
|
|
|
| - if ((symbol->section == &bfd_abs_section)
|
| + if (bfd_is_abs_section (symbol->section)
|
| && output_bfd != (bfd *) NULL)
|
| {
|
| reloc_entry->address += input_section->output_offset;
|
| @@ -186,7 +169,7 @@ do_ns32k_reloc (abfd, reloc_entry, symbol, data, input_section, output_bfd,
|
| /* If we are not producing relocatable output, return an error if
|
| the symbol is not defined. An undefined weak symbol is
|
| considered to have a value of zero (SVR4 ABI, p. 4-27). */
|
| - if (symbol->section == &bfd_und_section
|
| + if (bfd_is_und_section (symbol->section)
|
| && (symbol->flags & BSF_WEAK) == 0
|
| && output_bfd == (bfd *) NULL)
|
| flag = bfd_reloc_undefined;
|
| @@ -582,14 +565,12 @@ do_ns32k_reloc (abfd, reloc_entry, symbol, data, input_section, output_bfd,
|
| /* Relocate a given location using a given value and howto. */
|
|
|
| bfd_reloc_status_type
|
| -_bfd_do_ns32k_reloc_contents (howto, input_bfd, relocation, location,
|
| - get_data, put_data)
|
| - reloc_howto_type *howto;
|
| - bfd *input_bfd ATTRIBUTE_UNUSED;
|
| - bfd_vma relocation;
|
| - bfd_byte *location;
|
| - bfd_vma (*get_data) PARAMS ((bfd_byte *, int));
|
| - void (*put_data) PARAMS ((bfd_vma, bfd_byte *, int));
|
| +_bfd_do_ns32k_reloc_contents (reloc_howto_type *howto,
|
| + bfd *input_bfd ATTRIBUTE_UNUSED,
|
| + bfd_vma relocation,
|
| + bfd_byte *location,
|
| + bfd_vma (*get_data) (bfd_byte *, int),
|
| + void (*put_data) (bfd_vma, bfd_byte *, int))
|
| {
|
| int size;
|
| bfd_vma x;
|
| @@ -757,15 +738,13 @@ _bfd_do_ns32k_reloc_contents (howto, input_bfd, relocation, location,
|
| }
|
|
|
| bfd_reloc_status_type
|
| -_bfd_ns32k_reloc_disp (abfd, reloc_entry, symbol, data, input_section,
|
| - output_bfd, error_message)
|
| - bfd *abfd;
|
| - arelent *reloc_entry;
|
| - struct bfd_symbol *symbol;
|
| - PTR data;
|
| - asection *input_section;
|
| - bfd *output_bfd;
|
| - char **error_message;
|
| +_bfd_ns32k_reloc_disp (bfd *abfd,
|
| + arelent *reloc_entry,
|
| + struct bfd_symbol *symbol,
|
| + void * data,
|
| + asection *input_section,
|
| + bfd *output_bfd,
|
| + char **error_message)
|
| {
|
| return do_ns32k_reloc (abfd, reloc_entry, symbol, data, input_section,
|
| output_bfd, error_message,
|
| @@ -774,15 +753,13 @@ _bfd_ns32k_reloc_disp (abfd, reloc_entry, symbol, data, input_section,
|
| }
|
|
|
| bfd_reloc_status_type
|
| -_bfd_ns32k_reloc_imm (abfd, reloc_entry, symbol, data, input_section,
|
| - output_bfd, error_message)
|
| - bfd *abfd;
|
| - arelent *reloc_entry;
|
| - struct bfd_symbol *symbol;
|
| - PTR data;
|
| - asection *input_section;
|
| - bfd *output_bfd;
|
| - char **error_message;
|
| +_bfd_ns32k_reloc_imm (bfd *abfd,
|
| + arelent *reloc_entry,
|
| + struct bfd_symbol *symbol,
|
| + void * data,
|
| + asection *input_section,
|
| + bfd *output_bfd,
|
| + char **error_message)
|
| {
|
| return do_ns32k_reloc (abfd, reloc_entry, symbol, data, input_section,
|
| output_bfd, error_message, _bfd_ns32k_get_immediate,
|
| @@ -790,15 +767,13 @@ _bfd_ns32k_reloc_imm (abfd, reloc_entry, symbol, data, input_section,
|
| }
|
|
|
| bfd_reloc_status_type
|
| -_bfd_ns32k_final_link_relocate (howto, input_bfd, input_section, contents,
|
| - address, value, addend)
|
| - reloc_howto_type *howto;
|
| - bfd *input_bfd;
|
| - asection *input_section;
|
| - bfd_byte *contents;
|
| - bfd_vma address;
|
| - bfd_vma value;
|
| - bfd_vma addend;
|
| +_bfd_ns32k_final_link_relocate (reloc_howto_type *howto,
|
| + bfd *input_bfd,
|
| + asection *input_section,
|
| + bfd_byte *contents,
|
| + bfd_vma address,
|
| + bfd_vma value,
|
| + bfd_vma addend)
|
| {
|
| bfd_vma relocation;
|
|
|
|
|