From 38929ed6a4630d2b8f3efa00616800b4012ea0d7 Mon Sep 17 00:00:00 2001 From: Adrian Dudau Date: Wed, 28 Oct 2015 13:30:10 +0100 Subject: Initial commit result of splitting up meta-enea Signed-off-by: Adrian Dudau --- recipes-devtools/binutils/binutils-2.24.inc | 6 + .../binutils/binutils-cross-canadian_2.24.bbappend | 1 + .../binutils/binutils-cross_2.24.bbappend | 1 + .../binutils/binutils-crosssdk_2.24.bbappend | 1 + recipes-devtools/binutils/binutils_2.24.bbappend | 1 + ...rt-overflow-on-PowerPC64-h-and-ha-relocat.patch | 1087 ++++++++++++++++++++ .../e2fsprogs/e2fsprogs_1.42.9.bbappend | 1 + .../files/disable-power-isa-2.07-check.patch | 48 + recipes-devtools/valgrind/valgrind_3.9.0.bbappend | 30 + 9 files changed, 1176 insertions(+) create mode 100644 recipes-devtools/binutils/binutils-2.24.inc create mode 100644 recipes-devtools/binutils/binutils-cross-canadian_2.24.bbappend create mode 100644 recipes-devtools/binutils/binutils-cross_2.24.bbappend create mode 100644 recipes-devtools/binutils/binutils-crosssdk_2.24.bbappend create mode 100644 recipes-devtools/binutils/binutils_2.24.bbappend create mode 100644 recipes-devtools/binutils/files/0001-Revert-Report-overflow-on-PowerPC64-h-and-ha-relocat.patch create mode 100644 recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bbappend create mode 100644 recipes-devtools/valgrind/files/disable-power-isa-2.07-check.patch create mode 100644 recipes-devtools/valgrind/valgrind_3.9.0.bbappend (limited to 'recipes-devtools') diff --git a/recipes-devtools/binutils/binutils-2.24.inc b/recipes-devtools/binutils/binutils-2.24.inc new file mode 100644 index 0000000..3a1186c --- /dev/null +++ b/recipes-devtools/binutils/binutils-2.24.inc @@ -0,0 +1,6 @@ +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +SRC_URI += "\ + file://0001-Revert-Report-overflow-on-PowerPC64-h-and-ha-relocat.patch \ + " + diff --git a/recipes-devtools/binutils/binutils-cross-canadian_2.24.bbappend b/recipes-devtools/binutils/binutils-cross-canadian_2.24.bbappend new file mode 100644 index 0000000..0427595 --- /dev/null +++ b/recipes-devtools/binutils/binutils-cross-canadian_2.24.bbappend @@ -0,0 +1 @@ +require binutils-${PV}.inc diff --git a/recipes-devtools/binutils/binutils-cross_2.24.bbappend b/recipes-devtools/binutils/binutils-cross_2.24.bbappend new file mode 100644 index 0000000..0427595 --- /dev/null +++ b/recipes-devtools/binutils/binutils-cross_2.24.bbappend @@ -0,0 +1 @@ +require binutils-${PV}.inc diff --git a/recipes-devtools/binutils/binutils-crosssdk_2.24.bbappend b/recipes-devtools/binutils/binutils-crosssdk_2.24.bbappend new file mode 100644 index 0000000..0427595 --- /dev/null +++ b/recipes-devtools/binutils/binutils-crosssdk_2.24.bbappend @@ -0,0 +1 @@ +require binutils-${PV}.inc diff --git a/recipes-devtools/binutils/binutils_2.24.bbappend b/recipes-devtools/binutils/binutils_2.24.bbappend new file mode 100644 index 0000000..0427595 --- /dev/null +++ b/recipes-devtools/binutils/binutils_2.24.bbappend @@ -0,0 +1 @@ +require binutils-${PV}.inc diff --git a/recipes-devtools/binutils/files/0001-Revert-Report-overflow-on-PowerPC64-h-and-ha-relocat.patch b/recipes-devtools/binutils/files/0001-Revert-Report-overflow-on-PowerPC64-h-and-ha-relocat.patch new file mode 100644 index 0000000..bda760f --- /dev/null +++ b/recipes-devtools/binutils/files/0001-Revert-Report-overflow-on-PowerPC64-h-and-ha-relocat.patch @@ -0,0 +1,1087 @@ +From 269bee7df1abfdc230f1ed6a6de3150adffde962 Mon Sep 17 00:00:00 2001 +From: Alexandru-Cezar Sardan +Date: Fri, 11 Apr 2014 16:15:36 +0300 +Subject: [PATCH] Revert 'Report overflow on PowerPC64 @h and @ha + relocations.' patch + +--- + bfd/elf64-ppc.c | 183 +++++++++------------------------------------------ + bfd/reloc.c | 12 ---- + elfcpp/powerpc.h | 6 -- + gas/config/tc-ppc.c | 139 ++++++++++---------------------------- + gold/powerpc.cc | 130 +++++++++++------------------------- + include/elf/ppc64.h | 13 +--- + 6 files changed, 109 insertions(+), 374 deletions(-) + +diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c +index bf13a5d..ba3c655 100644 +--- a/bfd/elf64-ppc.c ++++ b/bfd/elf64-ppc.c +@@ -327,7 +327,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_PPC64_ADDR16_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -343,7 +343,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_ha_reloc, /* special_function */ + "R_PPC64_ADDR16_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -505,7 +505,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed,/* complain_on_overflow */ ++ complain_overflow_dont,/* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_GOT16_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -521,7 +521,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed,/* complain_on_overflow */ ++ complain_overflow_dont,/* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_GOT16_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -698,7 +698,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_PLT16_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -714,7 +714,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_PLT16_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -759,7 +759,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_sectoff_reloc, /* special_function */ + "R_PPC64_SECTOFF_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -774,7 +774,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_sectoff_ha_reloc, /* special_function */ + "R_PPC64_SECTOFF_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -981,7 +981,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_toc_reloc, /* special_function */ + "R_PPC64_TOC16_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -1000,7 +1000,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_toc_ha_reloc, /* special_function */ + "R_PPC64_TOC16_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -1072,7 +1072,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_PLTGOT16_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -1090,7 +1090,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont,/* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_PLTGOT16_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -1392,7 +1392,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_DTPREL16_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -1407,7 +1407,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_DTPREL16_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -1558,7 +1558,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_TPREL16_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -1573,7 +1573,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_TPREL16_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -1710,7 +1710,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_GOT_TLSGD16_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -1725,7 +1725,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_GOT_TLSGD16_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -1772,7 +1772,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_GOT_TLSLD16_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -1787,7 +1787,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_GOT_TLSLD16_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -1833,7 +1833,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_GOT_DTPREL16_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -1848,7 +1848,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_GOT_DTPREL16_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -1894,7 +1894,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_GOT_TPREL16_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -1909,7 +1909,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_unhandled_reloc, /* special_function */ + "R_PPC64_GOT_TPREL16_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -1982,7 +1982,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + TRUE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* special_function */ + "R_PPC64_REL16_HI", /* name */ + FALSE, /* partial_inplace */ +@@ -1998,7 +1998,7 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 16, /* bitsize */ + TRUE, /* pc_relative */ + 0, /* bitpos */ +- complain_overflow_signed, /* complain_on_overflow */ ++ complain_overflow_dont, /* complain_on_overflow */ + ppc64_elf_ha_reloc, /* special_function */ + "R_PPC64_REL16_HA", /* name */ + FALSE, /* partial_inplace */ +@@ -2006,96 +2006,6 @@ static reloc_howto_type ppc64_elf_howto_raw[] = { + 0xffff, /* dst_mask */ + TRUE), /* pcrel_offset */ + +- /* Like R_PPC64_ADDR16_HI, but no overflow. */ +- HOWTO (R_PPC64_ADDR16_HIGH, /* type */ +- 16, /* rightshift */ +- 1, /* size (0 = byte, 1 = short, 2 = long) */ +- 16, /* bitsize */ +- FALSE, /* pc_relative */ +- 0, /* bitpos */ +- complain_overflow_dont, /* complain_on_overflow */ +- bfd_elf_generic_reloc, /* special_function */ +- "R_PPC64_ADDR16_HIGH", /* name */ +- FALSE, /* partial_inplace */ +- 0, /* src_mask */ +- 0xffff, /* dst_mask */ +- FALSE), /* pcrel_offset */ +- +- /* Like R_PPC64_ADDR16_HA, but no overflow. */ +- HOWTO (R_PPC64_ADDR16_HIGHA, /* type */ +- 16, /* rightshift */ +- 1, /* size (0 = byte, 1 = short, 2 = long) */ +- 16, /* bitsize */ +- FALSE, /* pc_relative */ +- 0, /* bitpos */ +- complain_overflow_dont, /* complain_on_overflow */ +- ppc64_elf_ha_reloc, /* special_function */ +- "R_PPC64_ADDR16_HIGHA", /* name */ +- FALSE, /* partial_inplace */ +- 0, /* src_mask */ +- 0xffff, /* dst_mask */ +- FALSE), /* pcrel_offset */ +- +- /* Like R_PPC64_DTPREL16_HI, but no overflow. */ +- HOWTO (R_PPC64_DTPREL16_HIGH, +- 16, /* rightshift */ +- 1, /* size (0 = byte, 1 = short, 2 = long) */ +- 16, /* bitsize */ +- FALSE, /* pc_relative */ +- 0, /* bitpos */ +- complain_overflow_dont, /* complain_on_overflow */ +- ppc64_elf_unhandled_reloc, /* special_function */ +- "R_PPC64_DTPREL16_HIGH", /* name */ +- FALSE, /* partial_inplace */ +- 0, /* src_mask */ +- 0xffff, /* dst_mask */ +- FALSE), /* pcrel_offset */ +- +- /* Like R_PPC64_DTPREL16_HA, but no overflow. */ +- HOWTO (R_PPC64_DTPREL16_HIGHA, +- 16, /* rightshift */ +- 1, /* size (0 = byte, 1 = short, 2 = long) */ +- 16, /* bitsize */ +- FALSE, /* pc_relative */ +- 0, /* bitpos */ +- complain_overflow_dont, /* complain_on_overflow */ +- ppc64_elf_unhandled_reloc, /* special_function */ +- "R_PPC64_DTPREL16_HIGHA", /* name */ +- FALSE, /* partial_inplace */ +- 0, /* src_mask */ +- 0xffff, /* dst_mask */ +- FALSE), /* pcrel_offset */ +- +- /* Like R_PPC64_TPREL16_HI, but no overflow. */ +- HOWTO (R_PPC64_TPREL16_HIGH, +- 16, /* rightshift */ +- 1, /* size (0 = byte, 1 = short, 2 = long) */ +- 16, /* bitsize */ +- FALSE, /* pc_relative */ +- 0, /* bitpos */ +- complain_overflow_dont, /* complain_on_overflow */ +- ppc64_elf_unhandled_reloc, /* special_function */ +- "R_PPC64_TPREL16_HIGH", /* name */ +- FALSE, /* partial_inplace */ +- 0, /* src_mask */ +- 0xffff, /* dst_mask */ +- FALSE), /* pcrel_offset */ +- +- /* Like R_PPC64_TPREL16_HA, but no overflow. */ +- HOWTO (R_PPC64_TPREL16_HIGHA, +- 16, /* rightshift */ +- 1, /* size (0 = byte, 1 = short, 2 = long) */ +- 16, /* bitsize */ +- FALSE, /* pc_relative */ +- 0, /* bitpos */ +- complain_overflow_dont, /* complain_on_overflow */ +- ppc64_elf_unhandled_reloc, /* special_function */ +- "R_PPC64_TPREL16_HIGHA", /* name */ +- FALSE, /* partial_inplace */ +- 0, /* src_mask */ +- 0xffff, /* dst_mask */ +- FALSE), /* pcrel_offset */ +- + /* GNU extension to record C++ vtable hierarchy. */ + HOWTO (R_PPC64_GNU_VTINHERIT, /* type */ + 0, /* rightshift */ +@@ -2174,12 +2084,8 @@ ppc64_elf_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED, + break; + case BFD_RELOC_HI16: r = R_PPC64_ADDR16_HI; + break; +- case BFD_RELOC_PPC64_ADDR16_HIGH: r = R_PPC64_ADDR16_HIGH; +- break; + case BFD_RELOC_HI16_S: r = R_PPC64_ADDR16_HA; + break; +- case BFD_RELOC_PPC64_ADDR16_HIGHA: r = R_PPC64_ADDR16_HIGHA; +- break; + case BFD_RELOC_PPC_BA16: r = R_PPC64_ADDR14; + break; + case BFD_RELOC_PPC_BA16_BRTAKEN: r = R_PPC64_ADDR14_BRTAKEN; +@@ -2298,12 +2204,8 @@ ppc64_elf_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED, + break; + case BFD_RELOC_PPC_TPREL16_HI: r = R_PPC64_TPREL16_HI; + break; +- case BFD_RELOC_PPC64_TPREL16_HIGH: r = R_PPC64_TPREL16_HIGH; +- break; + case BFD_RELOC_PPC_TPREL16_HA: r = R_PPC64_TPREL16_HA; + break; +- case BFD_RELOC_PPC64_TPREL16_HIGHA: r = R_PPC64_TPREL16_HIGHA; +- break; + case BFD_RELOC_PPC_TPREL: r = R_PPC64_TPREL64; + break; + case BFD_RELOC_PPC_DTPREL16: r = R_PPC64_DTPREL16; +@@ -2312,12 +2214,8 @@ ppc64_elf_reloc_type_lookup (bfd *abfd ATTRIBUTE_UNUSED, + break; + case BFD_RELOC_PPC_DTPREL16_HI: r = R_PPC64_DTPREL16_HI; + break; +- case BFD_RELOC_PPC64_DTPREL16_HIGH: r = R_PPC64_DTPREL16_HIGH; +- break; + case BFD_RELOC_PPC_DTPREL16_HA: r = R_PPC64_DTPREL16_HA; + break; +- case BFD_RELOC_PPC64_DTPREL16_HIGHA: r = R_PPC64_DTPREL16_HIGHA; +- break; + case BFD_RELOC_PPC_DTPREL: r = R_PPC64_DTPREL64; + break; + case BFD_RELOC_PPC_GOT_TLSGD16: r = R_PPC64_GOT_TLSGD16; +@@ -3662,8 +3560,6 @@ must_be_dyn_reloc (struct bfd_link_info *info, + case R_PPC64_TPREL16_HA: + case R_PPC64_TPREL16_DS: + case R_PPC64_TPREL16_LO_DS: +- case R_PPC64_TPREL16_HIGH: +- case R_PPC64_TPREL16_HIGHA: + case R_PPC64_TPREL16_HIGHER: + case R_PPC64_TPREL16_HIGHERA: + case R_PPC64_TPREL16_HIGHEST: +@@ -5394,8 +5290,6 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, + case R_PPC64_DTPREL16_HA: + case R_PPC64_DTPREL16_DS: + case R_PPC64_DTPREL16_LO_DS: +- case R_PPC64_DTPREL16_HIGH: +- case R_PPC64_DTPREL16_HIGHA: + case R_PPC64_DTPREL16_HIGHER: + case R_PPC64_DTPREL16_HIGHERA: + case R_PPC64_DTPREL16_HIGHEST: +@@ -5556,8 +5450,6 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, + case R_PPC64_TPREL16_HA: + case R_PPC64_TPREL16_DS: + case R_PPC64_TPREL16_LO_DS: +- case R_PPC64_TPREL16_HIGH: +- case R_PPC64_TPREL16_HIGHA: + case R_PPC64_TPREL16_HIGHER: + case R_PPC64_TPREL16_HIGHERA: + case R_PPC64_TPREL16_HIGHEST: +@@ -5605,8 +5497,6 @@ ppc64_elf_check_relocs (bfd *abfd, struct bfd_link_info *info, + case R_PPC64_ADDR16_DS: + case R_PPC64_ADDR16_HA: + case R_PPC64_ADDR16_HI: +- case R_PPC64_ADDR16_HIGH: +- case R_PPC64_ADDR16_HIGHA: + case R_PPC64_ADDR16_HIGHER: + case R_PPC64_ADDR16_HIGHERA: + case R_PPC64_ADDR16_HIGHEST: +@@ -7363,8 +7253,6 @@ dec_dynrel_count (bfd_vma r_info, + case R_PPC64_TPREL16_HA: + case R_PPC64_TPREL16_DS: + case R_PPC64_TPREL16_LO_DS: +- case R_PPC64_TPREL16_HIGH: +- case R_PPC64_TPREL16_HIGHA: + case R_PPC64_TPREL16_HIGHER: + case R_PPC64_TPREL16_HIGHERA: + case R_PPC64_TPREL16_HIGHEST: +@@ -7386,8 +7274,6 @@ dec_dynrel_count (bfd_vma r_info, + case R_PPC64_ADDR16_DS: + case R_PPC64_ADDR16_HA: + case R_PPC64_ADDR16_HI: +- case R_PPC64_ADDR16_HIGH: +- case R_PPC64_ADDR16_HIGHA: + case R_PPC64_ADDR16_HIGHER: + case R_PPC64_ADDR16_HIGHERA: + case R_PPC64_ADDR16_HIGHEST: +@@ -14091,8 +13977,6 @@ ppc64_elf_relocate_section (bfd *output_bfd, + case R_PPC64_TPREL16_HA: + case R_PPC64_TPREL16_DS: + case R_PPC64_TPREL16_LO_DS: +- case R_PPC64_TPREL16_HIGH: +- case R_PPC64_TPREL16_HIGHA: + case R_PPC64_TPREL16_HIGHER: + case R_PPC64_TPREL16_HIGHERA: + case R_PPC64_TPREL16_HIGHEST: +@@ -14127,8 +14011,6 @@ ppc64_elf_relocate_section (bfd *output_bfd, + case R_PPC64_DTPREL16_HA: + case R_PPC64_DTPREL16_DS: + case R_PPC64_DTPREL16_LO_DS: +- case R_PPC64_DTPREL16_HIGH: +- case R_PPC64_DTPREL16_HIGHA: + case R_PPC64_DTPREL16_HIGHER: + case R_PPC64_DTPREL16_HIGHERA: + case R_PPC64_DTPREL16_HIGHEST: +@@ -14161,8 +14043,6 @@ ppc64_elf_relocate_section (bfd *output_bfd, + case R_PPC64_ADDR16_DS: + case R_PPC64_ADDR16_HA: + case R_PPC64_ADDR16_HI: +- case R_PPC64_ADDR16_HIGH: +- case R_PPC64_ADDR16_HIGHA: + case R_PPC64_ADDR16_HIGHER: + case R_PPC64_ADDR16_HIGHERA: + case R_PPC64_ADDR16_HIGHEST: +@@ -14477,20 +14357,21 @@ ppc64_elf_relocate_section (bfd *output_bfd, + default: + break; + +- case R_PPC64_REL16_HA: + case R_PPC64_ADDR16_HA: +- case R_PPC64_ADDR16_HIGHA: ++ case R_PPC64_REL16_HA: + case R_PPC64_ADDR16_HIGHERA: + case R_PPC64_ADDR16_HIGHESTA: + case R_PPC64_TOC16_HA: + case R_PPC64_SECTOFF_HA: + case R_PPC64_TPREL16_HA: +- case R_PPC64_TPREL16_HIGHA: ++ case R_PPC64_DTPREL16_HA: ++ case R_PPC64_TPREL16_HIGHER: + case R_PPC64_TPREL16_HIGHERA: ++ case R_PPC64_TPREL16_HIGHEST: + case R_PPC64_TPREL16_HIGHESTA: +- case R_PPC64_DTPREL16_HA: +- case R_PPC64_DTPREL16_HIGHA: ++ case R_PPC64_DTPREL16_HIGHER: + case R_PPC64_DTPREL16_HIGHERA: ++ case R_PPC64_DTPREL16_HIGHEST: + case R_PPC64_DTPREL16_HIGHESTA: + /* It's just possible that this symbol is a weak symbol + that's not actually defined anywhere. In that case, +diff --git a/bfd/reloc.c b/bfd/reloc.c +index 77a04f8..cc34760 100644 +--- a/bfd/reloc.c ++++ b/bfd/reloc.c +@@ -2895,10 +2895,6 @@ ENUMX + BFD_RELOC_PPC64_PLTGOT16_DS + ENUMX + BFD_RELOC_PPC64_PLTGOT16_LO_DS +-ENUMX +- BFD_RELOC_PPC64_ADDR16_HIGH +-ENUMX +- BFD_RELOC_PPC64_ADDR16_HIGHA + ENUMDOC + Power(rs6000) and PowerPC relocations. + +@@ -2986,14 +2982,6 @@ ENUMX + BFD_RELOC_PPC64_DTPREL16_HIGHEST + ENUMX + BFD_RELOC_PPC64_DTPREL16_HIGHESTA +-ENUMX +- BFD_RELOC_PPC64_TPREL16_HIGH +-ENUMX +- BFD_RELOC_PPC64_TPREL16_HIGHA +-ENUMX +- BFD_RELOC_PPC64_DTPREL16_HIGH +-ENUMX +- BFD_RELOC_PPC64_DTPREL16_HIGHA + ENUMDOC + PowerPC and PowerPC64 thread-local storage relocations. + +diff --git a/elfcpp/powerpc.h b/elfcpp/powerpc.h +index 98354a2..0f13eda 100644 +--- a/elfcpp/powerpc.h ++++ b/elfcpp/powerpc.h +@@ -164,17 +164,11 @@ enum + R_PPC_EMB_SDA21 = 109, + R_PPC64_TOCSAVE = 109, + R_PPC_EMB_MRKREF = 110, +- R_PPC64_ADDR16_HIGH = 110, + R_PPC_EMB_RELSEC16 = 111, +- R_PPC64_ADDR16_HIGHA = 111, + R_PPC_EMB_RELST_LO = 112, +- R_PPC64_TPREL16_HIGH = 112, + R_PPC_EMB_RELST_HI = 113, +- R_PPC64_TPREL16_HIGHA = 113, + R_PPC_EMB_RELST_HA = 114, +- R_PPC64_DTPREL16_HIGH = 114, + R_PPC_EMB_BIT_FLD = 115, +- R_PPC64_DTPREL16_HIGHA = 115, + R_PPC_EMB_RELSDA = 116, + + R_PPC_VLE_REL8 = 216, +diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c +index 7c99e43..d888aee 100644 +--- a/gas/config/tc-ppc.c ++++ b/gas/config/tc-ppc.c +@@ -87,11 +87,7 @@ static int set_target_endian = 0; + compensating for #lo being treated as a signed number. */ + #define PPC_HIGHESTA(v) PPC_HIGHEST ((v) + 0x8000) + +-#define SEX16(val) (((val) ^ 0x8000) - 0x8000) +- +-/* For the time being on ppc64, don't report overflow on @h and @ha +- applied to constants. */ +-#define REPORT_OVERFLOW_HI 0 ++#define SEX16(val) ((((val) & 0xffff) ^ 0x8000) - 0x8000) + + static bfd_boolean reg_names_p = TARGET_REG_NAMES_P; + +@@ -1935,8 +1931,6 @@ ppc_elf_suffix (char **str_p, expressionS *exp_p) + MAP32 ("bitfld", BFD_RELOC_PPC_EMB_BIT_FLD), + MAP32 ("relsda", BFD_RELOC_PPC_EMB_RELSDA), + MAP32 ("xgot", BFD_RELOC_PPC_TOC16), +- MAP64 ("high", BFD_RELOC_PPC64_ADDR16_HIGH), +- MAP64 ("higha", BFD_RELOC_PPC64_ADDR16_HIGHA), + MAP64 ("higher", BFD_RELOC_PPC64_HIGHER), + MAP64 ("highera", BFD_RELOC_PPC64_HIGHER_S), + MAP64 ("highest", BFD_RELOC_PPC64_HIGHEST), +@@ -1946,14 +1940,10 @@ ppc_elf_suffix (char **str_p, expressionS *exp_p) + MAP64 ("toc@l", BFD_RELOC_PPC64_TOC16_LO), + MAP64 ("toc@h", BFD_RELOC_PPC64_TOC16_HI), + MAP64 ("toc@ha", BFD_RELOC_PPC64_TOC16_HA), +- MAP64 ("dtprel@high", BFD_RELOC_PPC64_DTPREL16_HIGH), +- MAP64 ("dtprel@higha", BFD_RELOC_PPC64_DTPREL16_HIGHA), + MAP64 ("dtprel@higher", BFD_RELOC_PPC64_DTPREL16_HIGHER), + MAP64 ("dtprel@highera", BFD_RELOC_PPC64_DTPREL16_HIGHERA), + MAP64 ("dtprel@highest", BFD_RELOC_PPC64_DTPREL16_HIGHEST), + MAP64 ("dtprel@highesta", BFD_RELOC_PPC64_DTPREL16_HIGHESTA), +- MAP64 ("tprel@high", BFD_RELOC_PPC64_TPREL16_HIGH), +- MAP64 ("tprel@higha", BFD_RELOC_PPC64_TPREL16_HIGHA), + MAP64 ("tprel@higher", BFD_RELOC_PPC64_TPREL16_HIGHER), + MAP64 ("tprel@highera", BFD_RELOC_PPC64_TPREL16_HIGHERA), + MAP64 ("tprel@highest", BFD_RELOC_PPC64_TPREL16_HIGHEST), +@@ -2923,76 +2913,55 @@ md_assemble (char *str) + break; + + case BFD_RELOC_LO16: +- ex.X_add_number &= 0xffff; +- if ((operand->flags & PPC_OPERAND_SIGNED) != 0) ++ /* X_unsigned is the default, so if the user has done ++ something which cleared it, we always produce a ++ signed value. */ ++ if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) ++ ex.X_add_number &= 0xffff; ++ else + ex.X_add_number = SEX16 (ex.X_add_number); + break; + + case BFD_RELOC_HI16: +- if (REPORT_OVERFLOW_HI && ppc_obj64) +- { +- /* PowerPC64 @h is tested for overflow. */ +- ex.X_add_number = (addressT) ex.X_add_number >> 16; +- if ((operand->flags & PPC_OPERAND_SIGNED) != 0) +- { +- addressT sign = (((addressT) -1 >> 16) + 1) >> 1; +- ex.X_add_number +- = ((addressT) ex.X_add_number ^ sign) - sign; +- } +- break; +- } +- /* Fall thru */ +- +- case BFD_RELOC_PPC64_ADDR16_HIGH: +- ex.X_add_number = PPC_HI (ex.X_add_number); +- if ((operand->flags & PPC_OPERAND_SIGNED) != 0) +- ex.X_add_number = SEX16 (ex.X_add_number); ++ if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) ++ ex.X_add_number = PPC_HI (ex.X_add_number); ++ else ++ ex.X_add_number = SEX16 (PPC_HI (ex.X_add_number)); + break; + + case BFD_RELOC_HI16_S: +- if (REPORT_OVERFLOW_HI && ppc_obj64) +- { +- /* PowerPC64 @ha is tested for overflow. */ +- ex.X_add_number +- = ((addressT) ex.X_add_number + 0x8000) >> 16; +- if ((operand->flags & PPC_OPERAND_SIGNED) != 0) +- { +- addressT sign = (((addressT) -1 >> 16) + 1) >> 1; +- ex.X_add_number +- = ((addressT) ex.X_add_number ^ sign) - sign; +- } +- break; +- } +- /* Fall thru */ +- +- case BFD_RELOC_PPC64_ADDR16_HIGHA: +- ex.X_add_number = PPC_HA (ex.X_add_number); +- if ((operand->flags & PPC_OPERAND_SIGNED) != 0) +- ex.X_add_number = SEX16 (ex.X_add_number); ++ if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) ++ ex.X_add_number = PPC_HA (ex.X_add_number); ++ else ++ ex.X_add_number = SEX16 (PPC_HA (ex.X_add_number)); + break; + + case BFD_RELOC_PPC64_HIGHER: +- ex.X_add_number = PPC_HIGHER (ex.X_add_number); +- if ((operand->flags & PPC_OPERAND_SIGNED) != 0) +- ex.X_add_number = SEX16 (ex.X_add_number); ++ if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) ++ ex.X_add_number = PPC_HIGHER (ex.X_add_number); ++ else ++ ex.X_add_number = SEX16 (PPC_HIGHER (ex.X_add_number)); + break; + + case BFD_RELOC_PPC64_HIGHER_S: +- ex.X_add_number = PPC_HIGHERA (ex.X_add_number); +- if ((operand->flags & PPC_OPERAND_SIGNED) != 0) +- ex.X_add_number = SEX16 (ex.X_add_number); ++ if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) ++ ex.X_add_number = PPC_HIGHERA (ex.X_add_number); ++ else ++ ex.X_add_number = SEX16 (PPC_HIGHERA (ex.X_add_number)); + break; + + case BFD_RELOC_PPC64_HIGHEST: +- ex.X_add_number = PPC_HIGHEST (ex.X_add_number); +- if ((operand->flags & PPC_OPERAND_SIGNED) != 0) +- ex.X_add_number = SEX16 (ex.X_add_number); ++ if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) ++ ex.X_add_number = PPC_HIGHEST (ex.X_add_number); ++ else ++ ex.X_add_number = SEX16 (PPC_HIGHEST (ex.X_add_number)); + break; + + case BFD_RELOC_PPC64_HIGHEST_S: +- ex.X_add_number = PPC_HIGHESTA (ex.X_add_number); +- if ((operand->flags & PPC_OPERAND_SIGNED) != 0) +- ex.X_add_number = SEX16 (ex.X_add_number); ++ if (ex.X_unsigned && ! (operand->flags & PPC_OPERAND_SIGNED)) ++ ex.X_add_number = PPC_HIGHESTA (ex.X_add_number); ++ else ++ ex.X_add_number = SEX16 (PPC_HIGHESTA (ex.X_add_number)); + break; + } + #endif /* OBJ_ELF */ +@@ -6566,51 +6535,25 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) + fieldval = value & 0xffff; + sign_extend_16: + if (operand != NULL && (operand->flags & PPC_OPERAND_SIGNED) != 0) +- fieldval = SEX16 (fieldval); ++ fieldval = (fieldval ^ 0x8000) - 0x8000; + fixP->fx_no_overflow = 1; + break; + +- case BFD_RELOC_HI16: +- case BFD_RELOC_HI16_PCREL: + #ifdef OBJ_ELF +- if (REPORT_OVERFLOW_HI && ppc_obj64) +- { +- fieldval = value >> 16; +- if (operand != NULL && (operand->flags & PPC_OPERAND_SIGNED) != 0) +- { +- valueT sign = (((valueT) -1 >> 16) + 1) >> 1; +- fieldval = ((valueT) fieldval ^ sign) - sign; +- } +- break; +- } +- /* Fall thru */ +- + case BFD_RELOC_PPC_VLE_HI16A: + case BFD_RELOC_PPC_VLE_HI16D: +- case BFD_RELOC_PPC64_ADDR16_HIGH: + #endif ++ case BFD_RELOC_HI16: ++ case BFD_RELOC_HI16_PCREL: + fieldval = PPC_HI (value); + goto sign_extend_16; + +- case BFD_RELOC_HI16_S: +- case BFD_RELOC_HI16_S_PCREL: + #ifdef OBJ_ELF +- if (REPORT_OVERFLOW_HI && ppc_obj64) +- { +- fieldval = (value + 0x8000) >> 16; +- if (operand != NULL && (operand->flags & PPC_OPERAND_SIGNED) != 0) +- { +- valueT sign = (((valueT) -1 >> 16) + 1) >> 1; +- fieldval = ((valueT) fieldval ^ sign) - sign; +- } +- break; +- } +- /* Fall thru */ +- + case BFD_RELOC_PPC_VLE_HA16A: + case BFD_RELOC_PPC_VLE_HA16D: +- case BFD_RELOC_PPC64_ADDR16_HIGHA: + #endif ++ case BFD_RELOC_HI16_S: ++ case BFD_RELOC_HI16_S_PCREL: + fieldval = PPC_HA (value); + goto sign_extend_16; + +@@ -6673,14 +6616,10 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) + case BFD_RELOC_PPC_GOT_DTPREL16_HA: + case BFD_RELOC_PPC64_TPREL16_DS: + case BFD_RELOC_PPC64_TPREL16_LO_DS: +- case BFD_RELOC_PPC64_TPREL16_HIGH: +- case BFD_RELOC_PPC64_TPREL16_HIGHA: + case BFD_RELOC_PPC64_TPREL16_HIGHER: + case BFD_RELOC_PPC64_TPREL16_HIGHERA: + case BFD_RELOC_PPC64_TPREL16_HIGHEST: + case BFD_RELOC_PPC64_TPREL16_HIGHESTA: +- case BFD_RELOC_PPC64_DTPREL16_HIGH: +- case BFD_RELOC_PPC64_DTPREL16_HIGHA: + case BFD_RELOC_PPC64_DTPREL16_DS: + case BFD_RELOC_PPC64_DTPREL16_LO_DS: + case BFD_RELOC_PPC64_DTPREL16_HIGHER: +@@ -6866,8 +6805,6 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) + case BFD_RELOC_PPC64_HIGHER_S: + case BFD_RELOC_PPC64_HIGHEST: + case BFD_RELOC_PPC64_HIGHEST_S: +- case BFD_RELOC_PPC64_ADDR16_HIGH: +- case BFD_RELOC_PPC64_ADDR16_HIGHA: + break; + + case BFD_RELOC_PPC_DTPMOD: +@@ -6944,14 +6881,10 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED) + case BFD_RELOC_PPC64_TOC16_LO: + case BFD_RELOC_PPC64_TOC16_HI: + case BFD_RELOC_PPC64_TOC16_HA: +- case BFD_RELOC_PPC64_DTPREL16_HIGH: +- case BFD_RELOC_PPC64_DTPREL16_HIGHA: + case BFD_RELOC_PPC64_DTPREL16_HIGHER: + case BFD_RELOC_PPC64_DTPREL16_HIGHERA: + case BFD_RELOC_PPC64_DTPREL16_HIGHEST: + case BFD_RELOC_PPC64_DTPREL16_HIGHESTA: +- case BFD_RELOC_PPC64_TPREL16_HIGH: +- case BFD_RELOC_PPC64_TPREL16_HIGHA: + case BFD_RELOC_PPC64_TPREL16_HIGHER: + case BFD_RELOC_PPC64_TPREL16_HIGHERA: + case BFD_RELOC_PPC64_TPREL16_HIGHEST: +diff --git a/gold/powerpc.cc b/gold/powerpc.cc +index 1aa4791..b8e932e 100644 +--- a/gold/powerpc.cc ++++ b/gold/powerpc.cc +@@ -5168,8 +5168,6 @@ Target_powerpc::Scan::check_non_pic(Relobj* object, + case elfcpp::R_PPC64_JMP_IREL: + case elfcpp::R_PPC64_ADDR16_DS: + case elfcpp::R_PPC64_ADDR16_LO_DS: +- case elfcpp::R_PPC64_ADDR16_HIGH: +- case elfcpp::R_PPC64_ADDR16_HIGHA: + case elfcpp::R_PPC64_ADDR16_HIGHER: + case elfcpp::R_PPC64_ADDR16_HIGHEST: + case elfcpp::R_PPC64_ADDR16_HIGHERA: +@@ -5178,8 +5176,6 @@ Target_powerpc::Scan::check_non_pic(Relobj* object, + case elfcpp::R_POWERPC_ADDR30: + case elfcpp::R_PPC64_TPREL16_DS: + case elfcpp::R_PPC64_TPREL16_LO_DS: +- case elfcpp::R_PPC64_TPREL16_HIGH: +- case elfcpp::R_PPC64_TPREL16_HIGHA: + case elfcpp::R_PPC64_TPREL16_HIGHER: + case elfcpp::R_PPC64_TPREL16_HIGHEST: + case elfcpp::R_PPC64_TPREL16_HIGHERA: +@@ -5354,6 +5350,7 @@ Target_powerpc::Scan::local( + case elfcpp::R_POWERPC_GNU_VTINHERIT: + case elfcpp::R_POWERPC_GNU_VTENTRY: + case elfcpp::R_PPC64_TOCSAVE: ++ case elfcpp::R_PPC_EMB_MRKREF: + case elfcpp::R_POWERPC_TLS: + break; + +@@ -5391,8 +5388,6 @@ Target_powerpc::Scan::local( + case elfcpp::R_POWERPC_ADDR16_HI: + case elfcpp::R_POWERPC_ADDR16_HA: + case elfcpp::R_POWERPC_UADDR16: +- case elfcpp::R_PPC64_ADDR16_HIGH: +- case elfcpp::R_PPC64_ADDR16_HIGHA: + case elfcpp::R_PPC64_ADDR16_HIGHER: + case elfcpp::R_PPC64_ADDR16_HIGHERA: + case elfcpp::R_PPC64_ADDR16_HIGHEST: +@@ -5451,35 +5446,31 @@ Target_powerpc::Scan::local( + case elfcpp::R_POWERPC_REL16_HI: + case elfcpp::R_POWERPC_REL16_HA: + case elfcpp::R_POWERPC_SECTOFF: +- case elfcpp::R_POWERPC_SECTOFF_LO: +- case elfcpp::R_POWERPC_SECTOFF_HI: +- case elfcpp::R_POWERPC_SECTOFF_HA: +- case elfcpp::R_PPC64_SECTOFF_DS: +- case elfcpp::R_PPC64_SECTOFF_LO_DS: + case elfcpp::R_POWERPC_TPREL16: ++ case elfcpp::R_POWERPC_DTPREL16: ++ case elfcpp::R_POWERPC_SECTOFF_LO: + case elfcpp::R_POWERPC_TPREL16_LO: ++ case elfcpp::R_POWERPC_DTPREL16_LO: ++ case elfcpp::R_POWERPC_SECTOFF_HI: + case elfcpp::R_POWERPC_TPREL16_HI: ++ case elfcpp::R_POWERPC_DTPREL16_HI: ++ case elfcpp::R_POWERPC_SECTOFF_HA: + case elfcpp::R_POWERPC_TPREL16_HA: +- case elfcpp::R_PPC64_TPREL16_DS: +- case elfcpp::R_PPC64_TPREL16_LO_DS: +- case elfcpp::R_PPC64_TPREL16_HIGH: +- case elfcpp::R_PPC64_TPREL16_HIGHA: ++ case elfcpp::R_POWERPC_DTPREL16_HA: ++ case elfcpp::R_PPC64_DTPREL16_HIGHER: + case elfcpp::R_PPC64_TPREL16_HIGHER: ++ case elfcpp::R_PPC64_DTPREL16_HIGHERA: + case elfcpp::R_PPC64_TPREL16_HIGHERA: ++ case elfcpp::R_PPC64_DTPREL16_HIGHEST: + case elfcpp::R_PPC64_TPREL16_HIGHEST: ++ case elfcpp::R_PPC64_DTPREL16_HIGHESTA: + case elfcpp::R_PPC64_TPREL16_HIGHESTA: +- case elfcpp::R_POWERPC_DTPREL16: +- case elfcpp::R_POWERPC_DTPREL16_LO: +- case elfcpp::R_POWERPC_DTPREL16_HI: +- case elfcpp::R_POWERPC_DTPREL16_HA: ++ case elfcpp::R_PPC64_TPREL16_DS: ++ case elfcpp::R_PPC64_TPREL16_LO_DS: + case elfcpp::R_PPC64_DTPREL16_DS: + case elfcpp::R_PPC64_DTPREL16_LO_DS: +- case elfcpp::R_PPC64_DTPREL16_HIGH: +- case elfcpp::R_PPC64_DTPREL16_HIGHA: +- case elfcpp::R_PPC64_DTPREL16_HIGHER: +- case elfcpp::R_PPC64_DTPREL16_HIGHERA: +- case elfcpp::R_PPC64_DTPREL16_HIGHEST: +- case elfcpp::R_PPC64_DTPREL16_HIGHESTA: ++ case elfcpp::R_PPC64_SECTOFF_DS: ++ case elfcpp::R_PPC64_SECTOFF_LO_DS: + case elfcpp::R_PPC64_TLSGD: + case elfcpp::R_PPC64_TLSLD: + break; +@@ -5713,6 +5704,7 @@ Target_powerpc::Scan::global( + case elfcpp::R_POWERPC_GNU_VTINHERIT: + case elfcpp::R_POWERPC_GNU_VTENTRY: + case elfcpp::R_PPC_LOCAL24PC: ++ case elfcpp::R_PPC_EMB_MRKREF: + case elfcpp::R_POWERPC_TLS: + break; + +@@ -5762,8 +5754,6 @@ Target_powerpc::Scan::global( + case elfcpp::R_POWERPC_ADDR16_HI: + case elfcpp::R_POWERPC_ADDR16_HA: + case elfcpp::R_POWERPC_UADDR16: +- case elfcpp::R_PPC64_ADDR16_HIGH: +- case elfcpp::R_PPC64_ADDR16_HIGHA: + case elfcpp::R_PPC64_ADDR16_HIGHER: + case elfcpp::R_PPC64_ADDR16_HIGHERA: + case elfcpp::R_PPC64_ADDR16_HIGHEST: +@@ -5897,35 +5887,31 @@ Target_powerpc::Scan::global( + case elfcpp::R_POWERPC_REL16_HI: + case elfcpp::R_POWERPC_REL16_HA: + case elfcpp::R_POWERPC_SECTOFF: +- case elfcpp::R_POWERPC_SECTOFF_LO: +- case elfcpp::R_POWERPC_SECTOFF_HI: +- case elfcpp::R_POWERPC_SECTOFF_HA: +- case elfcpp::R_PPC64_SECTOFF_DS: +- case elfcpp::R_PPC64_SECTOFF_LO_DS: + case elfcpp::R_POWERPC_TPREL16: ++ case elfcpp::R_POWERPC_DTPREL16: ++ case elfcpp::R_POWERPC_SECTOFF_LO: + case elfcpp::R_POWERPC_TPREL16_LO: ++ case elfcpp::R_POWERPC_DTPREL16_LO: ++ case elfcpp::R_POWERPC_SECTOFF_HI: + case elfcpp::R_POWERPC_TPREL16_HI: ++ case elfcpp::R_POWERPC_DTPREL16_HI: ++ case elfcpp::R_POWERPC_SECTOFF_HA: + case elfcpp::R_POWERPC_TPREL16_HA: +- case elfcpp::R_PPC64_TPREL16_DS: +- case elfcpp::R_PPC64_TPREL16_LO_DS: +- case elfcpp::R_PPC64_TPREL16_HIGH: +- case elfcpp::R_PPC64_TPREL16_HIGHA: ++ case elfcpp::R_POWERPC_DTPREL16_HA: ++ case elfcpp::R_PPC64_DTPREL16_HIGHER: + case elfcpp::R_PPC64_TPREL16_HIGHER: ++ case elfcpp::R_PPC64_DTPREL16_HIGHERA: + case elfcpp::R_PPC64_TPREL16_HIGHERA: ++ case elfcpp::R_PPC64_DTPREL16_HIGHEST: + case elfcpp::R_PPC64_TPREL16_HIGHEST: ++ case elfcpp::R_PPC64_DTPREL16_HIGHESTA: + case elfcpp::R_PPC64_TPREL16_HIGHESTA: +- case elfcpp::R_POWERPC_DTPREL16: +- case elfcpp::R_POWERPC_DTPREL16_LO: +- case elfcpp::R_POWERPC_DTPREL16_HI: +- case elfcpp::R_POWERPC_DTPREL16_HA: ++ case elfcpp::R_PPC64_TPREL16_DS: ++ case elfcpp::R_PPC64_TPREL16_LO_DS: + case elfcpp::R_PPC64_DTPREL16_DS: + case elfcpp::R_PPC64_DTPREL16_LO_DS: +- case elfcpp::R_PPC64_DTPREL16_HIGH: +- case elfcpp::R_PPC64_DTPREL16_HIGHA: +- case elfcpp::R_PPC64_DTPREL16_HIGHER: +- case elfcpp::R_PPC64_DTPREL16_HIGHERA: +- case elfcpp::R_PPC64_DTPREL16_HIGHEST: +- case elfcpp::R_PPC64_DTPREL16_HIGHESTA: ++ case elfcpp::R_PPC64_SECTOFF_DS: ++ case elfcpp::R_PPC64_SECTOFF_LO_DS: + case elfcpp::R_PPC64_TLSGD: + case elfcpp::R_PPC64_TLSLD: + break; +@@ -7098,10 +7084,8 @@ Target_powerpc::Relocate::relocate( + + case elfcpp::R_PPC64_TPREL16_DS: + case elfcpp::R_PPC64_TPREL16_LO_DS: +- case elfcpp::R_PPC64_TPREL16_HIGH: +- case elfcpp::R_PPC64_TPREL16_HIGHA: + if (size != 64) +- // R_PPC_TLSGD, R_PPC_TLSLD, R_PPC_EMB_RELST_LO, R_PPC_EMB_RELST_HI ++ // R_PPC_TLSGD and R_PPC_TLSLD + break; + case elfcpp::R_POWERPC_TPREL16: + case elfcpp::R_POWERPC_TPREL16_LO: +@@ -7131,8 +7115,6 @@ Target_powerpc::Relocate::relocate( + case elfcpp::R_POWERPC_DTPREL16_HI: + case elfcpp::R_POWERPC_DTPREL16_HA: + case elfcpp::R_POWERPC_DTPREL: +- case elfcpp::R_PPC64_DTPREL16_HIGH: +- case elfcpp::R_PPC64_DTPREL16_HIGHA: + // tls symbol values are relative to tls_segment()->vaddr() + value -= dtp_offset; + break; +@@ -7273,34 +7255,6 @@ Target_powerpc::Relocate::relocate( + overflow = Reloc::CHECK_BITFIELD; + break; + +- case elfcpp::R_POWERPC_ADDR16_HI: +- case elfcpp::R_POWERPC_ADDR16_HA: +- case elfcpp::R_POWERPC_GOT16_HI: +- case elfcpp::R_POWERPC_GOT16_HA: +- case elfcpp::R_POWERPC_PLT16_HI: +- case elfcpp::R_POWERPC_PLT16_HA: +- case elfcpp::R_POWERPC_SECTOFF_HI: +- case elfcpp::R_POWERPC_SECTOFF_HA: +- case elfcpp::R_PPC64_TOC16_HI: +- case elfcpp::R_PPC64_TOC16_HA: +- case elfcpp::R_PPC64_PLTGOT16_HI: +- case elfcpp::R_PPC64_PLTGOT16_HA: +- case elfcpp::R_POWERPC_TPREL16_HI: +- case elfcpp::R_POWERPC_TPREL16_HA: +- case elfcpp::R_POWERPC_DTPREL16_HI: +- case elfcpp::R_POWERPC_DTPREL16_HA: +- case elfcpp::R_POWERPC_GOT_TLSGD16_HI: +- case elfcpp::R_POWERPC_GOT_TLSGD16_HA: +- case elfcpp::R_POWERPC_GOT_TLSLD16_HI: +- case elfcpp::R_POWERPC_GOT_TLSLD16_HA: +- case elfcpp::R_POWERPC_GOT_TPREL16_HI: +- case elfcpp::R_POWERPC_GOT_TPREL16_HA: +- case elfcpp::R_POWERPC_GOT_DTPREL16_HI: +- case elfcpp::R_POWERPC_GOT_DTPREL16_HA: +- case elfcpp::R_POWERPC_REL16_HI: +- case elfcpp::R_POWERPC_REL16_HA: +- if (size == 32) +- break; + case elfcpp::R_POWERPC_REL24: + case elfcpp::R_PPC_PLTREL24: + case elfcpp::R_PPC_LOCAL24PC: +@@ -7334,6 +7288,7 @@ Target_powerpc::Relocate::relocate( + case elfcpp::R_POWERPC_TLS: + case elfcpp::R_POWERPC_GNU_VTINHERIT: + case elfcpp::R_POWERPC_GNU_VTENTRY: ++ case elfcpp::R_PPC_EMB_MRKREF: + break; + + case elfcpp::R_PPC64_ADDR64: +@@ -7404,12 +7359,6 @@ Target_powerpc::Relocate::relocate( + status = Reloc::addr16_u(view, value, overflow); + break; + +- case elfcpp::R_PPC64_ADDR16_HIGH: +- case elfcpp::R_PPC64_TPREL16_HIGH: +- case elfcpp::R_PPC64_DTPREL16_HIGH: +- if (size == 32) +- // R_PPC_EMB_MRKREF, R_PPC_EMB_RELST_LO, R_PPC_EMB_RELST_HA +- goto unsupp; + case elfcpp::R_POWERPC_ADDR16_HI: + case elfcpp::R_POWERPC_REL16_HI: + case elfcpp::R_PPC64_TOC16_HI: +@@ -7424,12 +7373,6 @@ Target_powerpc::Relocate::relocate( + Reloc::addr16_hi(view, value); + break; + +- case elfcpp::R_PPC64_ADDR16_HIGHA: +- case elfcpp::R_PPC64_TPREL16_HIGHA: +- case elfcpp::R_PPC64_DTPREL16_HIGHA: +- if (size == 32) +- // R_PPC_EMB_RELSEC16, R_PPC_EMB_RELST_HI, R_PPC_EMB_BIT_FLD +- goto unsupp; + case elfcpp::R_POWERPC_ADDR16_HA: + case elfcpp::R_POWERPC_REL16_HA: + case elfcpp::R_PPC64_TOC16_HA: +@@ -7554,6 +7497,11 @@ Target_powerpc::Relocate::relocate( + case elfcpp::R_PPC64_PLT16_LO_DS: + case elfcpp::R_PPC64_PLTGOT16_DS: + case elfcpp::R_PPC64_PLTGOT16_LO_DS: ++ case elfcpp::R_PPC_EMB_RELSEC16: ++ case elfcpp::R_PPC_EMB_RELST_LO: ++ case elfcpp::R_PPC_EMB_RELST_HI: ++ case elfcpp::R_PPC_EMB_RELST_HA: ++ case elfcpp::R_PPC_EMB_BIT_FLD: + case elfcpp::R_PPC_EMB_RELSDA: + case elfcpp::R_PPC_TOC16: + default: +diff --git a/include/elf/ppc64.h b/include/elf/ppc64.h +index 78d947b..5888460 100644 +--- a/include/elf/ppc64.h ++++ b/include/elf/ppc64.h +@@ -141,14 +141,6 @@ START_RELOC_NUMBERS (elf_ppc64_reloc_type) + RELOC_NUMBER (R_PPC64_TLSLD, 108) + RELOC_NUMBER (R_PPC64_TOCSAVE, 109) + +-/* Added when HA and HI relocs were changed to report overflows. */ +- RELOC_NUMBER (R_PPC64_ADDR16_HIGH, 110) +- RELOC_NUMBER (R_PPC64_ADDR16_HIGHA, 111) +- RELOC_NUMBER (R_PPC64_TPREL16_HIGH, 112) +- RELOC_NUMBER (R_PPC64_TPREL16_HIGHA, 113) +- RELOC_NUMBER (R_PPC64_DTPREL16_HIGH, 114) +- RELOC_NUMBER (R_PPC64_DTPREL16_HIGHA, 115) +- + #ifndef RELOC_MACROS_GEN_FUNC + /* Fake relocation only used internally by ld. */ + RELOC_NUMBER (R_PPC64_LO_DS_OPT, 128) +@@ -169,9 +161,8 @@ START_RELOC_NUMBERS (elf_ppc64_reloc_type) + + END_RELOC_NUMBERS (R_PPC64_max) + +-#define IS_PPC64_TLS_RELOC(R) \ +- (((R) >= R_PPC64_TLS && (R) <= R_PPC64_DTPREL16_HIGHESTA) \ +- || ((R) >= R_PPC64_TPREL16_HIGH && (R) <= R_PPC64_DTPREL16_HIGHA)) ++#define IS_PPC64_TLS_RELOC(R) \ ++ ((R) >= R_PPC64_TLS && (R) <= R_PPC64_DTPREL16_HIGHESTA) + + + /* e_flags bits specifying ABI. +-- +1.7.9.5 + diff --git a/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bbappend b/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bbappend new file mode 100644 index 0000000..c9eeb4e --- /dev/null +++ b/recipes-devtools/e2fsprogs/e2fsprogs_1.42.9.bbappend @@ -0,0 +1 @@ +BBCLASSEXTEND += " nativesdk" diff --git a/recipes-devtools/valgrind/files/disable-power-isa-2.07-check.patch b/recipes-devtools/valgrind/files/disable-power-isa-2.07-check.patch new file mode 100644 index 0000000..88a8a54 --- /dev/null +++ b/recipes-devtools/valgrind/files/disable-power-isa-2.07-check.patch @@ -0,0 +1,48 @@ +valgrind: Disable Power ISA 2.07 check + +The Power ISA 2.07 check fails when not supported by both machine +architecture and gcc. + +Upstream-Status: Inappropriate [disable feature] + +Signed-off-by: Gabriel Barbu + +--- a/configure.ac 2014-05-05 17:06:29.674630565 +0200 ++++ b/configure.ac 2014-05-06 13:16:47.525598513 +0200 +@@ -1316,18 +1316,25 @@ + AM_CONDITIONAL(BUILD_DFP_TESTS, test x$ac_gcc_have_dfp_type = xyes) + + # isa 2.07 checking +-AC_MSG_CHECKING([that assembler knows ISA 2.07 ]) ++AC_ARG_ENABLE([isa_2_07_check], ++ [AS_HELP_STRING([--disable-isa_2_07_check], ++ [disable Power ISA 2.07 check])], ++ [], ++ [disable_isa_2_07_check=no]) + +-AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ +-]], [[ +- __asm__ __volatile__("mtvsrd 1,2 "); +-]])], [ +-ac_asm_have_isa_2_07=yes +-AC_MSG_RESULT([yes]) +-], [ +-ac_asm_have_isa_2_07=no +-AC_MSG_RESULT([no]) +-]) ++AS_IF([test "x$disable_isa_2_07_check" = xno], ++ [AC_MSG_CHECKING([that assembler knows ISA 2.07 ]) ++ ++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[ ++ ]], [[ ++ __asm__ __volatile__("mtvsrd 1,2 "); ++ ]])], [ ++ ac_asm_have_isa_2_07=yes ++ AC_MSG_RESULT([yes]) ++ ], [ ++ ac_asm_have_isa_2_07=no ++ AC_MSG_RESULT([no]) ++ ])]) + + AM_CONDITIONAL(HAS_ISA_2_07, test x$ac_asm_have_isa_2_07 = xyes) + diff --git a/recipes-devtools/valgrind/valgrind_3.9.0.bbappend b/recipes-devtools/valgrind/valgrind_3.9.0.bbappend new file mode 100644 index 0000000..4af368d --- /dev/null +++ b/recipes-devtools/valgrind/valgrind_3.9.0.bbappend @@ -0,0 +1,30 @@ +EXTRA_OECONF_append_b4860qds-64b = " --disable-isa_2_07_check" + +FILESEXTRAPATHS_prepend := "${THISDIR}/files:" + +SRC_URI += "\ + file://disable-power-isa-2.07-check.patch \ + " + +do_compile_ptest_zc702-zynq7-prt() { + # This is to replace the ptest building part that fails due to + # internal compiler error on ARM targets (LXCR-3358) + echo "" +} + +do_compile_ptest_zc702-zynq7() { + # This is to replace the ptest building part that fails due to + # internal compiler error on ARM targets (LXCR-3358) + echo "" +} + +do_compile_ptest_k2hk-evm() { + # This is to replace the ptest building part that fails due to + # internal compiler error on ARM targets (LXCR-3358) + echo "" +} +do_compile_ptest_proliant-m800() { + # This is to replace the ptest building part that fails due to + # internal compiler error on ARM targets (LXCR-3358) + echo "" +} -- cgit v1.2.3-54-g00ecf