mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-23 19:50:13 +08:00
Fix integration pb for:
* elf32-m68hc11.c (elf_m68hc11_howto_table): Add the new relocs; fix masks for PC-rel relocs. (m68hc11_elf_ignore_reloc): New function.
This commit is contained in:
@ -55,7 +55,7 @@ static reloc_howto_type elf_m68hc11_howto_table[] = {
|
|||||||
32, /* bitsize */
|
32, /* bitsize */
|
||||||
false, /* pc_relative */
|
false, /* pc_relative */
|
||||||
0, /* bitpos */
|
0, /* bitpos */
|
||||||
complain_overflow_bitfield, /* complain_on_overflow */
|
complain_overflow_dont,/* complain_on_overflow */
|
||||||
bfd_elf_generic_reloc, /* special_function */
|
bfd_elf_generic_reloc, /* special_function */
|
||||||
"R_M68HC11_NONE", /* name */
|
"R_M68HC11_NONE", /* name */
|
||||||
false, /* partial_inplace */
|
false, /* partial_inplace */
|
||||||
@ -214,9 +214,51 @@ static reloc_howto_type elf_m68hc11_howto_table[] = {
|
|||||||
0, /* dst_mask */
|
0, /* dst_mask */
|
||||||
false), /* pcrel_offset */
|
false), /* pcrel_offset */
|
||||||
|
|
||||||
EMPTY_HOWTO (11),
|
/* A 24 bit relocation */
|
||||||
EMPTY_HOWTO (12),
|
HOWTO (R_M68HC11_24, /* type */
|
||||||
EMPTY_HOWTO (13),
|
0, /* rightshift */
|
||||||
|
1, /* size (0 = byte, 1 = short, 2 = long) */
|
||||||
|
24, /* bitsize */
|
||||||
|
false, /* pc_relative */
|
||||||
|
0, /* bitpos */
|
||||||
|
complain_overflow_bitfield, /* complain_on_overflow */
|
||||||
|
bfd_elf_generic_reloc, /* special_function */
|
||||||
|
"R_M68HC11_24", /* name */
|
||||||
|
false, /* partial_inplace */
|
||||||
|
0xffff, /* src_mask */
|
||||||
|
0xffff, /* dst_mask */
|
||||||
|
false), /* pcrel_offset */
|
||||||
|
|
||||||
|
/* A 16-bit low relocation */
|
||||||
|
HOWTO (R_M68HC11_LO16, /* type */
|
||||||
|
0, /* rightshift */
|
||||||
|
1, /* size (0 = byte, 1 = short, 2 = long) */
|
||||||
|
16, /* bitsize */
|
||||||
|
false, /* pc_relative */
|
||||||
|
0, /* bitpos */
|
||||||
|
complain_overflow_bitfield, /* complain_on_overflow */
|
||||||
|
bfd_elf_generic_reloc, /* special_function */
|
||||||
|
"R_M68HC11_LO16", /* name */
|
||||||
|
false, /* partial_inplace */
|
||||||
|
0xffff, /* src_mask */
|
||||||
|
0xffff, /* dst_mask */
|
||||||
|
false), /* pcrel_offset */
|
||||||
|
|
||||||
|
/* A page relocation */
|
||||||
|
HOWTO (R_M68HC11_PAGE, /* type */
|
||||||
|
0, /* rightshift */
|
||||||
|
0, /* size (0 = byte, 1 = short, 2 = long) */
|
||||||
|
8, /* bitsize */
|
||||||
|
false, /* pc_relative */
|
||||||
|
0, /* bitpos */
|
||||||
|
complain_overflow_bitfield, /* complain_on_overflow */
|
||||||
|
bfd_elf_generic_reloc, /* special_function */
|
||||||
|
"R_M68HC11_PAGE", /* name */
|
||||||
|
false, /* partial_inplace */
|
||||||
|
0x00ff, /* src_mask */
|
||||||
|
0x00ff, /* dst_mask */
|
||||||
|
false), /* pcrel_offset */
|
||||||
|
|
||||||
EMPTY_HOWTO (14),
|
EMPTY_HOWTO (14),
|
||||||
EMPTY_HOWTO (15),
|
EMPTY_HOWTO (15),
|
||||||
EMPTY_HOWTO (16),
|
EMPTY_HOWTO (16),
|
||||||
@ -277,6 +319,10 @@ static const struct m68hc11_reloc_map m68hc11_reloc_map[] = {
|
|||||||
{BFD_RELOC_VTABLE_INHERIT, R_M68HC11_GNU_VTINHERIT},
|
{BFD_RELOC_VTABLE_INHERIT, R_M68HC11_GNU_VTINHERIT},
|
||||||
{BFD_RELOC_VTABLE_ENTRY, R_M68HC11_GNU_VTENTRY},
|
{BFD_RELOC_VTABLE_ENTRY, R_M68HC11_GNU_VTENTRY},
|
||||||
|
|
||||||
|
{BFD_RELOC_M68HC11_LO16, R_M68HC11_LO16},
|
||||||
|
{BFD_RELOC_M68HC11_PAGE, R_M68HC11_PAGE},
|
||||||
|
{BFD_RELOC_M68HC11_24, R_M68HC11_24},
|
||||||
|
|
||||||
{BFD_RELOC_M68HC11_RL_JUMP, R_M68HC11_RL_JUMP},
|
{BFD_RELOC_M68HC11_RL_JUMP, R_M68HC11_RL_JUMP},
|
||||||
{BFD_RELOC_M68HC11_RL_GROUP, R_M68HC11_RL_GROUP},
|
{BFD_RELOC_M68HC11_RL_GROUP, R_M68HC11_RL_GROUP},
|
||||||
};
|
};
|
||||||
|
Reference in New Issue
Block a user