CSKY: Fix special_function in howto table

The special_function for reloc should be 'bfd_elf_generic_reloc',
reloc list:
	R_CKCORE_PCREL_IMM16BY2,
	R_CKCORE_PCREL_IMM16BY4,
	R_CKCORE_PCREL_IMM10BY4,
	R_CKCORE_PCREL_IMM18BY2,
	R_CKCORE_PCREL_FLRW_IMM8BY4

bfd/
	* elf32-csky.c (csky_elf_howto_table)
	<R_CKCORE_PCREL_IMM16BY2>: Set special_function to
	bfd_elf_generic_reloc.
	<R_CKCORE_PCREL_IMM16BY4>: Likewise.
	<R_CKCORE_PCREL_IMM10BY4>: Likewise.
	<R_CKCORE_PCREL_IMM18BY2>: Likewise.
	<R_CKCORE_PCREL_FLRW_IMM8BY4>: Likewise.
This commit is contained in:
Lifang Xia
2021-04-14 17:18:13 +08:00
parent d4015fc5aa
commit f6a1f95749
2 changed files with 70 additions and 60 deletions

View File

@ -1,3 +1,13 @@
2021-04-15 Lifang Xia<lifang_xia@c-sky.com>
* elf32-csky.c (csky_elf_howto_table)
<R_CKCORE_PCREL_IMM16BY2>: Set special_function to
bfd_elf_generic_reloc.
<R_CKCORE_PCREL_IMM16BY4>: Likewise.
<R_CKCORE_PCREL_IMM10BY4>: Likewise.
<R_CKCORE_PCREL_IMM18BY2>: Likewise.
<R_CKCORE_PCREL_FLRW_IMM8BY4>: Likewise.
2021-04-14 H.J. Lu <hongjiu.lu@intel.com>
PR binutils/27708

View File

@ -330,7 +330,7 @@ static reloc_howto_type csky_elf_howto_table[] =
true, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
NULL, /* special_function */
bfd_elf_generic_reloc, /* special_function */
"R_CKCORE_PCREL_IMM16BY2", /* name */
false, /* partial_inplace */
0x0, /* src_mask */
@ -345,7 +345,7 @@ static reloc_howto_type csky_elf_howto_table[] =
true, /* pc_relative */
0, /* bitpos */
complain_overflow_bitfield, /* complain_on_overflow */
NULL, /* special_function */
bfd_elf_generic_reloc, /* special_function */
"R_CKCORE_PCREL_IMM16BY4", /* name */
false, /* partial_inplace */
0xffff0000, /* src_mask */
@ -375,7 +375,7 @@ static reloc_howto_type csky_elf_howto_table[] =
true, /* pc_relative */
0, /* bitpos */
complain_overflow_bitfield, /* complain_on_overflow */
NULL, /* special_function */
bfd_elf_generic_reloc, /* special_function */
"R_CKCORE_PCREL_IMM10BY4", /* name */
false, /* partial_inplace */
0x0, /* src_mask */
@ -627,7 +627,7 @@ static reloc_howto_type csky_elf_howto_table[] =
true, /* pc_relative */
0, /* bitpos */
complain_overflow_signed, /* complain_on_overflow */
NULL, /* special_function */
bfd_elf_generic_reloc, /* special_function */
"R_CKCORE_PCREL_IMM18BY2", /* name */
false, /* partial_inplace */
0x0, /* src_mask */
@ -831,8 +831,8 @@ static reloc_howto_type csky_elf_howto_table[] =
true, /* pc_relative */
0, /* bitpos */
complain_overflow_bitfield, /* complain_on_overflow */
NULL, /* special_function */
"R_CKCORE_PCREL_FLRW_IMM8BY4", /* name */
bfd_elf_generic_reloc, /* special_function */
"R_CKCORE_PCREL_FLRW_IMM8BY4",/* name */
false, /* partial_inplace */
0xfe1fff0f, /* src_mask */
0x1e000f0, /* dst_mask */