projects
/
deliverable
/
binutils-gdb.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
gas: detect DCTI couples in sparc
[deliverable/binutils-gdb.git]
/
bfd
/
elf32-m68hc11.c
diff --git
a/bfd/elf32-m68hc11.c
b/bfd/elf32-m68hc11.c
index 63d0786bb60a2a3e7bc9db2562c2b62695830c6a..fb700236bb12ab8d6f71fa0172e9e20e58f0a75c 100644
(file)
--- a/
bfd/elf32-m68hc11.c
+++ b/
bfd/elf32-m68hc11.c
@@
-1,6
+1,5
@@
/* Motorola 68HC11-specific support for 32-bit ELF
/* Motorola 68HC11-specific support for 32-bit ELF
- Copyright 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2010
- Free Software Foundation, Inc.
+ Copyright (C) 1999-2016 Free Software Foundation, Inc.
Contributed by Stephane Carrez (stcarrez@nerim.fr)
(Heavily copied from the D10V port by Martin Hunt (hunt@cygnus.com))
Contributed by Stephane Carrez (stcarrez@nerim.fr)
(Heavily copied from the D10V port by Martin Hunt (hunt@cygnus.com))
@@
-66,8
+65,8
@@
static reloc_howto_type elf_m68hc11_howto_table[] = {
/* This reloc does nothing. */
HOWTO (R_M68HC11_NONE, /* type */
0, /* rightshift */
/* This reloc does nothing. */
HOWTO (R_M68HC11_NONE, /* type */
0, /* rightshift */
-
2
, /* size (0 = byte, 1 = short, 2 = long) */
-
32,
/* bitsize */
+
3
, /* size (0 = byte, 1 = short, 2 = long) */
+
0,
/* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont,/* complain_on_overflow */
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont,/* complain_on_overflow */
@@
-385,7
+384,11
@@
m68hc11_info_to_howto_rel (bfd *abfd ATTRIBUTE_UNUSED,
unsigned int r_type;
r_type = ELF32_R_TYPE (dst->r_info);
unsigned int r_type;
r_type = ELF32_R_TYPE (dst->r_info);
- BFD_ASSERT (r_type < (unsigned int) R_M68HC11_max);
+ if (r_type >= (unsigned int) R_M68HC11_max)
+ {
+ _bfd_error_handler (_("%B: invalid M68HC11 reloc number: %d"), abfd, r_type);
+ r_type = 0;
+ }
cache_ptr->howto = &elf_m68hc11_howto_table[r_type];
}
cache_ptr->howto = &elf_m68hc11_howto_table[r_type];
}
@@
-693,7
+696,7
@@
m68hc11_elf_relax_section (bfd *abfd, asection *sec,
/* We don't have to do anything for a relocatable link, if
this section does not have relocs, or if this is not a
code section. */
/* We don't have to do anything for a relocatable link, if
this section does not have relocs, or if this is not a
code section. */
- if (
link_info->relocatable
+ if (
bfd_link_relocatable (link_info)
|| (sec->flags & SEC_RELOC) == 0
|| sec->reloc_count == 0
|| (sec->flags & SEC_CODE) == 0)
|| (sec->flags & SEC_RELOC) == 0
|| sec->reloc_count == 0
|| (sec->flags & SEC_CODE) == 0)
@@
-703,7
+706,7
@@
m68hc11_elf_relax_section (bfd *abfd, asection *sec,
/* Get a copy of the native relocations. */
internal_relocs = (_bfd_elf_link_read_relocs
/* Get a copy of the native relocations. */
internal_relocs = (_bfd_elf_link_read_relocs
- (abfd, sec,
(PTR)
NULL, (Elf_Internal_Rela *) NULL,
+ (abfd, sec, NULL, (Elf_Internal_Rela *) NULL,
link_info->keep_memory));
if (internal_relocs == NULL)
goto error_return;
link_info->keep_memory));
if (internal_relocs == NULL)
goto error_return;
@@
-1289,7
+1292,7
@@
static const struct bfd_elf_special_section elf32_m68hc11_special_sections[] =
#define ELF_MACHINE_CODE EM_68HC11
#define ELF_MAXPAGESIZE 0x1000
#define ELF_MACHINE_CODE EM_68HC11
#define ELF_MAXPAGESIZE 0x1000
-#define TARGET_BIG_SYM
bfd_elf32_m68hc11
_vec
+#define TARGET_BIG_SYM
m68hc11_elf32
_vec
#define TARGET_BIG_NAME "elf32-m68hc11"
#define elf_info_to_howto 0
#define TARGET_BIG_NAME "elf32-m68hc11"
#define elf_info_to_howto 0
@@
-1302,11
+1305,10
@@
static const struct bfd_elf_special_section elf32_m68hc11_special_sections[] =
#define elf_backend_final_write_processing 0
#define elf_backend_can_gc_sections 1
#define elf_backend_special_sections elf32_m68hc11_special_sections
#define elf_backend_final_write_processing 0
#define elf_backend_can_gc_sections 1
#define elf_backend_special_sections elf32_m68hc11_special_sections
+#define elf_backend_merge_symbol_attribute elf32_m68hc11_merge_symbol_attribute
#define bfd_elf32_bfd_link_hash_table_create \
m68hc11_elf_bfd_link_hash_table_create
#define bfd_elf32_bfd_link_hash_table_create \
m68hc11_elf_bfd_link_hash_table_create
-#define bfd_elf32_bfd_link_hash_table_free \
- m68hc11_elf_bfd_link_hash_table_free
#define bfd_elf32_bfd_merge_private_bfd_data \
_bfd_m68hc11_elf_merge_private_bfd_data
#define bfd_elf32_bfd_set_private_flags _bfd_m68hc11_elf_set_private_flags
#define bfd_elf32_bfd_merge_private_bfd_data \
_bfd_m68hc11_elf_merge_private_bfd_data
#define bfd_elf32_bfd_set_private_flags _bfd_m68hc11_elf_set_private_flags
This page took
0.024721 seconds
and
4
git commands to generate.