2013-05-16  Tristan Gingold  <gingold@adacore.com>

	* coff-rs6000.c (_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_16.
	* coff64-rs6000.c (xcoff64_reloc_type_lookup): Likewise.


gas/
2013-05-16  Tristan Gingold  <gingold@adacore.com>

	* config/tc-ppc.c (ppc_is_toc_sym): Symbols of class XMC_TC
	are also TOC symbols.
This commit is contained in:
Tristan Gingold 2013-05-16 15:41:40 +00:00
parent ec9fbfea24
commit 9f6e76f4ea
5 changed files with 18 additions and 2 deletions

View file

@ -1,3 +1,8 @@
2013-05-16 Tristan Gingold <gingold@adacore.com>
* coff-rs6000.c (_bfd_xcoff_reloc_type_lookup): Handle BFD_RELOC_16.
* coff64-rs6000.c (xcoff64_reloc_type_lookup): Likewise.
2013-05-15 Andreas Schwab <schwab@suse.de>
* elf64-aarch64.c (elf_backend_default_execstack): Define to 0.

View file

@ -1098,7 +1098,6 @@ reloc_howto_type xcoff_howto_table[] =
0xffff, /* src_mask */
0xffff, /* dst_mask */
FALSE), /* pcrel_offset */
};
void
@ -1146,6 +1145,9 @@ _bfd_xcoff_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
return &xcoff_howto_table[8];
case BFD_RELOC_PPC_TOC16:
return &xcoff_howto_table[3];
case BFD_RELOC_16:
/* Note that this relocation is only internally used by gas. */
return &xcoff_howto_table[0xc];
case BFD_RELOC_32:
case BFD_RELOC_CTOR:
return &xcoff_howto_table[0];

View file

@ -1826,6 +1826,9 @@ xcoff64_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED,
return &xcoff64_howto_table[8];
case BFD_RELOC_PPC_TOC16:
return &xcoff64_howto_table[3];
case BFD_RELOC_16:
/* Note that this relocation is only internally used by gas. */
return &xcoff64_howto_table[0xc];
case BFD_RELOC_32:
case BFD_RELOC_CTOR:
return &xcoff64_howto_table[0x1c];

View file

@ -1,3 +1,8 @@
2013-05-16 Tristan Gingold <gingold@adacore.com>
* config/tc-ppc.c (ppc_is_toc_sym): Symbols of class XMC_TC
are also TOC symbols.
2013-05-16 Nick Clifton <nickc@redhat.com>
* config/tc-msp430.c: Make -mmcu recognise more part numbers.

View file

@ -2428,7 +2428,8 @@ static int
ppc_is_toc_sym (symbolS *sym)
{
#ifdef OBJ_XCOFF
return symbol_get_tc (sym)->symbol_class == XMC_TC;
return (symbol_get_tc (sym)->symbol_class == XMC_TC
|| symbol_get_tc (sym)->symbol_class == XMC_TC0);
#endif
#ifdef OBJ_ELF
const char *sname = segment_name (S_GET_SEGMENT (sym));