Before include system specific ELF header define
START_RELOC_NUMBERS, RELOC_NUMBER, and END_RELOC_NUMBERS.
This commit is contained in:
parent
e4d7741205
commit
767af63c2c
@ -1,3 +1,8 @@
|
||||
1998-07-22 13:08 Ulrich Drepper <drepper@cygnus.com>
|
||||
|
||||
* elf-mn10300.c: Before include system specific ELF header define
|
||||
START_RELOC_NUMBERS, RELOC_NUMBER, and END_RELOC_NUMBERS.
|
||||
|
||||
Wed Jul 22 13:46:51 1998 Ian Lance Taylor <ian@cygnus.com>
|
||||
|
||||
* elf64-mips.c (mips_elf64_reloc_type): Copy Ulrich's elf32-mips.c
|
||||
|
@ -21,6 +21,10 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
|
||||
#include "sysdep.h"
|
||||
#include "libbfd.h"
|
||||
#include "elf-bfd.h"
|
||||
|
||||
#define START_RELOC_NUMBERS(name) enum name {
|
||||
#define RELOC_NUMBER(name, number) name = number ,
|
||||
#define END_RELOC_NUMBERS R_MN10300_MAX };
|
||||
#include "elf/mn10300.h"
|
||||
|
||||
struct elf32_mn10300_link_hash_entry
|
||||
@ -112,22 +116,6 @@ static void compute_function_info
|
||||
does absolutely nothing. */
|
||||
#define USE_RELA
|
||||
|
||||
enum reloc_type
|
||||
{
|
||||
R_MN10300_NONE = 0,
|
||||
R_MN10300_32,
|
||||
R_MN10300_16,
|
||||
R_MN10300_8,
|
||||
R_MN10300_PCREL32,
|
||||
R_MN10300_PCREL16,
|
||||
R_MN10300_PCREL8,
|
||||
|
||||
/* These are GNU extensions to enable C++ vtable garbage collection. */
|
||||
R_MN10300_GNU_VTINHERIT,
|
||||
R_MN10300_GNU_VTENTRY,
|
||||
|
||||
R_MN10300_MAX
|
||||
};
|
||||
|
||||
static reloc_howto_type elf_mn10300_howto_table[] =
|
||||
{
|
||||
@ -458,7 +446,7 @@ mn10300_elf_final_link_relocate (howto, input_bfd, output_bfd,
|
||||
case R_MN10300_8:
|
||||
value += addend;
|
||||
|
||||
if ((long)value > 0x7fff || (long)value < -0x8000)
|
||||
if ((long)value > 0x7f || (long)value < -0x80)
|
||||
return bfd_reloc_overflow;
|
||||
|
||||
bfd_put_8 (input_bfd, value, hit_data);
|
||||
@ -2704,6 +2692,30 @@ _bfd_mn10300_elf_object_p (abfd)
|
||||
return true;
|
||||
}
|
||||
|
||||
/* Merge backend specific data from an object file to the output
|
||||
object file when linking. */
|
||||
|
||||
boolean
|
||||
_bfd_mn10300_elf_merge_private_bfd_data (ibfd, obfd)
|
||||
bfd *ibfd;
|
||||
bfd *obfd;
|
||||
{
|
||||
if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour
|
||||
|| bfd_get_flavour (obfd) != bfd_target_elf_flavour)
|
||||
return true;
|
||||
|
||||
if (bfd_get_arch (obfd) == bfd_get_arch (ibfd)
|
||||
&& bfd_get_mach (obfd) < bfd_get_mach (ibfd))
|
||||
{
|
||||
if (! bfd_set_arch_mach (obfd, bfd_get_arch (ibfd),
|
||||
bfd_get_mach (ibfd)))
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
#define TARGET_LITTLE_SYM bfd_elf32_mn10300_vec
|
||||
#define TARGET_LITTLE_NAME "elf32-mn10300"
|
||||
#define ELF_ARCH bfd_arch_mn10300
|
||||
@ -2729,5 +2741,8 @@ _bfd_mn10300_elf_object_p (abfd)
|
||||
_bfd_mn10300_elf_final_write_processing
|
||||
#define elf_backend_object_p _bfd_mn10300_elf_object_p
|
||||
|
||||
#define bfd_elf32_bfd_merge_private_bfd_data \
|
||||
_bfd_mn10300_elf_merge_private_bfd_data
|
||||
|
||||
|
||||
#include "elf32-target.h"
|
||||
|
Loading…
Reference in New Issue
Block a user