Commit Graph

174 Commits

Author SHA1 Message Date
Zhixiong Chi
b9feb4e46b binutils: fix four CVE issues
Backport the CVE patches from the binutils upstream.

(From OE-Core rev: 84bb9c0514ecbd7c31935c22062b18b4aaefbef1)

Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-11-09 15:27:34 +00:00
Zhixiong Chi
1c106ae64a binutils: fix three CVE issues
Backport the CVE patches from the upstream:
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;
h=30838132997e6a3cfe3ec11c58b32b22f6f6b102
h=cf93e9c2cf8f8b2566f8fc86e961592b51b5980d

[BZ 23686] https://sourceware.org/bugzilla/show_bug.cgi?id=23686
[BZ 23685] https://sourceware.org/bugzilla/show_bug.cgi?id=23685

The one is for CVE-2018-17358 and CVE-2018-17359, and the another
is for CVE-2018-17360.

(From OE-Core rev: 2683d8287d6878868d3aa15ce6e6a80ce28d8737)

Signed-off-by: Zhixiong Chi <zhixiong.chi@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-16 20:35:43 +01:00
Achille Fouilleul
8b6109901a binutils: fix symlinks
For nativesdk, symlinks created by do_install contain ${SDKPATHNATIVE}.

This is a problem with SDKs that include nativesdk-binutils and nativesdk-gcc.
When extracting such an SDK dangling symlinks are created, because
relocate_sdk.py does not adjust symlinks. As a result gcc ends up calling the
host binutils.

Use the os.path.relpath function to obtain shorter relative paths, which do not
contain ${SDKPATHNATIVE}.

(From OE-Core rev: 3d6372aa2d9f752eac0e4943d1bde04f0f1924a0)

Signed-off-by: Achille Fouilleul <achille.fouilleul@gadz.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-09 19:04:02 +01:00
Alexey Brodkin
cbd7c6294a binutils: Fix Glibc building for ARC
(From OE-Core rev: c2b7410aaac0c68dc1bcf8d0f4102ff55dc870aa)

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-22 15:52:12 -07:00
Richard Purdie
bcaa35fe54 binutils: Fix variable conflict
A recent binutils patch added the LDGOLD variable but its already used
for controlling EXTRA_OECONF options for gold. Separate the two variables
to different names to avoid build warnings and confusion.

(From OE-Core rev: 713c83fd00ab16250f05b0c3933f0c8178b8a33e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-05 18:00:25 +01:00
Khem Raj
5c0f6391cf gdb: Seprate out gold and dwp into a variable
This is needed for riscv64 to build target binutils fixes alternatives
creation

(From OE-Core rev: 81a8e7addadcffc322735f3a30369d382334590b)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-04 11:03:55 +01:00
Khem Raj
0b57d37132 binutils: Update past 2.31.1 release
list of changes in this rev bump

* a69de9c7cf ld-x86-64/pr23486b.d: Swap pr23486a.s and pr23486a.s
* 28a27bdbb9 x86: Properly add X86_ISA_1_NEEDED property
* d692290444 x86: Replace evex-no-scale.s with evex-no-scale-[32|64].s
* d55c3e3609 x86: Properly merge GNU_PROPERTY_X86_ISA_1_USED
* 381c1eb6ec x86: Update assembler tests for non-ELF targets
* 9b075c7167 x32: Align the .note.gnu.property section to 4 bytes
* 4aa5eb02fd __tls_get_addr_opt stubs and tocsave optimization
* 95fbde6791 Re: PowerPC64 __tls_get_addr_opt stub .eh_frame fix
* 079a6882b5 PowerPC64 __tls_get_addr_opt stub .eh_frame fix
* 1d8f56a971 Updated Bulgarian translation for the ld/ directory
* b7991db94c Add --warn-drop-version option; by default, do not warn when discarding version info.
* dbf924a63a Fix type checking errors.
* 60b3b24ca1 Fix spurious check-ld failures on aarch64-elf
* feaed90494 [PATCH, LD, AArch64] Fix ifunc testisms
* 2069ccaf8d x86: don't mistakenly scale non-8-bit displacements
* 254ade2586 Fix unwind offset for call_info->start_symbol.
* 29153520a8 S/390: Set the htm flag on PPA
* 6737a6b34f x86: Add a GNU_PROPERTY_X86_ISA_1_USED note if needed
* 01683b308a x86: Split vcvtps2{,u}qq and vcvttps2{,u}qq
* be8a252e18 Set the development flag back to true.
* 0860693812 (tag: binutils-2_31_1) Regenerate files and add changelog entries for 2.31.1 release
* 4afd6a72e3 Fix typo in src-release.sh script.  Update French translation for gold and Spanish translation for ld.

(From OE-Core rev: 6902d807d3ce13ea7abffebf349d66100ac023db)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-20 17:38:22 +01:00
Robert Yang
c66512c2d5 binutils: Improve check for input file matching output file
When the assembler reports that the input and output are the same, report the
file names involved, in order to help debugging.  Also do not equate two files
are the same if the have the same inode value but reside on different file
systems.

(From OE-Core rev: 83cb0938b90bab9ba727f883b8955b0b40d49a01)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-16 22:40:27 +01:00
Christopher Clark
028a292001 binutils: enable x86_64-pep for producing EFI binaries on x86-64
Add x86_64-pep emulation support to the set enabled for x86_64 targets
to enable the linker to produce Portable Executables for EFI binaries.

Enables building the x86-64 EFI variant of the Xen hypervisor for
the OpenXT Project.

(From OE-Core rev: 3d493838f0284948a09693ad65656cb7afbb21cc)

Signed-off-by: Christopher Clark <christopher.clark6@baesystems.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-09 23:47:56 +01:00
Khem Raj
26810bc160 binutils: Upgrade to 2.31 release branch
(From OE-Core rev: 7eeec2ad91eca6ba44ea7b761d47082f4ebb04cc)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-07-26 13:16:40 +01:00
Khem Raj
6ccc45aed5 binutils: Upgrade to 2.30 release
Additionally cherry-pick

5ffeba4a09 Revert "PowerPC PLT speculative execution barriers"
b01452b1d4 [PR22764][LD][AARCH64]Allow R_AARCH64_ABS16 and R_AARCH64_ABS32 against absolution symbol or undefine symbol in shared object.
a985e9b9de Import patch from mainline to remove PROVODE qualifiers around definitions of __CTOR_LIST__ and __DTOR_LIST__ in PE linker scripts.
eec4607fc5 Add support for DWARF-4 line number tables.

(From OE-Core rev: c708506eb9dbb4b817f563fbaacb80eee0b5b301)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-02-24 10:31:48 +00:00
Khem Raj
43c1698465 binutils: Convert SRC_URI and SRCREV to weak defines
This makes it easy to override them in bbappends

(From OE-Core rev: 99458d1fa170970e8a1aa04eeb0c86d3754fd988)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-03 09:26:37 +00:00
Armin Kuster
a255e82b7d binutils: update to 2.29.1
update to 2.29.1 to fix the following missing CVEs:

CVE-2017-15939, CVE-2017-15938, CVE-2017-15225, CVE-2017-15025,
CVE-2017-15024, CVE-2017-15023, CVE-2017-15022, CVE-2017-15021,
CVE-2017-15020, CVE-2017-14974, CVE-2017-14940, CVE-2017-14939,
CVE-2017-14938, CVE-2017-14934, CVE-2017-14933, CVE-2017-14932,
CVE-2017-14930, CVE-2017-14745, CVE-2017-14729, CVE-2017-14529,
CVE-2017-14333, CVE-2017-14130, CVE-2017-14129, CVE-2017-14128,
CVE-2017-13757, CVE-2017-13716, CVE-2017-13710, CVE-2017-12967,
CVE-2017-12799, CVE-2017-12459, CVE-2017-12458, CVE-2017-12457,
CVE-2017-12456, CVE-2017-12455, CVE-2017-12454, CVE-2017-12453,
CVE-2017-12452, CVE-2017-12451, CVE-2017-12450, CVE-2017-12449,
CVE-2017-12448

see Changelogs for additional information

(From OE-Core rev: 53df200cb5edab04a7ab38b974f96281733fadb2)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-01-03 09:26:37 +00:00
Samuli Piippo
2c8cc36f24 binutils: apply mingw fix only for binutils-cross-canadian
Whenever SDKMACHINE is set to mingw32, sdkmingw32 override is defined
everywhere. This meant that value of LDGOLD was different also for
binutils and binutils-cross depending whether SDKMACHINE was set or not.

(From OE-Core rev: 0398f84482dbe5ee99b20e2ca6b3e9984f7ccec5)

Signed-off-by: Samuli Piippo <samuli.piippo@qt.io>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-18 11:07:30 +01:00
Yi Zhao
597b1aaafc binutils: bump SRCREV to latest 2.29 branch
Update to the latest commit on the 2.29 branch to fix CVEs:
CVE-2017-12448, CVE-2017-12449. CVE-2017-12451, CVE-2017-12452,
CVE-2017-12454, CVE-2017-12455, CVE-2017-12456, CVE-2017-12457,
CVE-2017-12458, CVE-2017-12459, CVE-2017-12799, CVE-2017-12967,
CVE-2017-13710

References:
https://nvd.nist.gov/vuln/detail/CVE-2017-12448
https://nvd.nist.gov/vuln/detail/CVE-2017-12449
https://nvd.nist.gov/vuln/detail/CVE-2017-12451
https://nvd.nist.gov/vuln/detail/CVE-2017-12452
https://nvd.nist.gov/vuln/detail/CVE-2017-12454
https://nvd.nist.gov/vuln/detail/CVE-2017-12455
https://nvd.nist.gov/vuln/detail/CVE-2017-12456
https://nvd.nist.gov/vuln/detail/CVE-2017-12457
https://nvd.nist.gov/vuln/detail/CVE-2017-12458
https://nvd.nist.gov/vuln/detail/CVE-2017-12459
https://nvd.nist.gov/vuln/detail/CVE-2017-12799
https://nvd.nist.gov/vuln/detail/CVE-2017-12967
https://nvd.nist.gov/vuln/detail/CVE-2017-13710

(From OE-Core rev: 3fb29742db68314ae1e53bee534efe6472b99b11)

Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-13 22:07:42 +01:00
Khem Raj
00ea0bf798 binutils: Upgrade to 2.29
(From OE-Core rev: 3bf990eb275f63190a2cf7253527d6d49fd93f1a)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-16 00:03:13 +01:00
Randy MacLeod
5422b0cc38 binutils: update SRCREV to fix powerpc gold link bug
Update to the latest commit on the 2.28 branch to pick up:
   a3e00a8 [GOLD] Avoid duplicate PLT stub symbols on ppc32
along with several backported bug fixes for arm*, etc.

This resolves the systemd link error for qemuppc
with the error message:
   .../powerpc-oe-linux-ld.gold:
   error: invalid STB_LOCAL symbol in external symbols
   error: linker defined: multiple definition of '00000001.plt_call.memcpy+8000'
   command line: previous definition here

described in:

[YOCTO #11696]

(From OE-Core rev: 0d1273cdf8652bf1844f1f1fe4ba0eacd27ada65)

Signed-off-by: Randy MacLeod <Randy.MacLeod@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-07-06 14:38:14 +01:00
Richard Purdie
4c2d0b1205 meta: Remove further uclibc remnants (inc. patches and site files)
Some of these are clearly dead, e.g. one binutils patch reverts the effects
of the earlier one.

This also removes the uclibc site files. We now have mechanisms to allow these
to be extended from another layer should someone ever wish to do that.

(From OE-Core rev: e01e7c543a559c8926d72159b5cd55db0c661434)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-22 09:16:00 +01:00
Khem Raj
18369bf39c binutils-2.28: Update to latest on release branch
Drop patches to ChangeLog, they are in patch
header anyway

(From OE-Core rev: 0b0f545dbf16b0970c5a79975d451dc9d887c2a7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-06-13 10:46:34 +01:00
Yuanjie Huang
12f9c4ca9f binutils: fix CVE-2017-7210
CVE: CVE-2017-7210

[BZ 21157] -- https://sourceware.org/bugzilla/show_bug.cgi?id=21157

PR binutils/21157: Fix handling of corrupt STABS enum type strings.

(From OE-Core rev: d12a99cba6c9dc9e1f6bc3a7ca8057f07e9cb950)

Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-30 10:15:20 +01:00
Yuanjie Huang
02089be016 binutils: fix CVE-2017-7209 in readelf
CVE: CVE-2017-7209

[BZ 21135] -- https://sourceware.org/bugzilla/show_bug.cgi?id=21135

PR binutils/21135: Fix invalid read of section contents whilst processing
a corrupt binary.

(From OE-Core rev: 2df642ca0a1e4a4e6616729018cf32d2108cabb2)

Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-30 10:15:20 +01:00
Yuanjie Huang
204d9a0e01 binutils: fix CVE-2017-6969 in readelf
CVE: CVE-2017-6969
[BZ 21156] -- https://sourceware.org/bugzilla/show_bug.cgi?id=21156

PR binutils/21156: Fix illegal memory accesses in readelf when
ing a corrupt binary.
PR binutils/21156: Fix another memory access error in readelf when
parsing a corrupt binary.

(From OE-Core rev: de04c9811f7ce5179ba261bd8eae921d7873d6cd)

Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-25 23:59:32 +01:00
Fan Xin
2d4ae96708 binutils: Fix CVE-2017-8392
Backport upsream commit to fix CVE-2017-8392

CVE: CVE-2017-8392

[BZ 21409] -- https://sourceware.org/bugzilla/show_bug.cgi?id=21409

        PR 21409, segfault in _bfd_dwarf2_find_nearest_line

        PR 21409
        * dwarf2.c (_bfd_dwarf2_find_nearest_line): Don't segfault when
        no symbols.

(From OE-Core rev: dff01b827c87ae135a1d5511b1efbdad01c0eaee)

Signed-off-by: Fan Xin <fan.xin@jp.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-25 23:59:32 +01:00
Cody P Schafer
c9043894b8 binutils: package libbfd seperately
Some tools (my issue was with 'perf') only need the libbfd component of
binutils, so we can save space in images by splitting it out.

Previously, instead of `perf` pulling in `libbfd-VERSION.so`, it pulled
in all the libraries and binaries from binutils.

(From OE-Core rev: d57109e44f1a32d0e39d250ad7e71d7d80757d35)

Signed-off-by: Cody P Schafer <dev@codyps.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-05-18 14:01:47 +01:00
Patrick Ohly
3e903cb42f recipes/*-cross recipes: ignore TARGET_ARCH sstate hash
"yocto-compat-layer.py --machines" showed that shared packages like
gcc-cross-powerpc64 have a sstate signature that depends on
TUNEFLAGS. As a result, there are unnecessary rebuilds and potential
conflicts in a multiconfig.

That's due to the way how TARGET_ARCH is set. Richard Purdie suggested
setting TARGET_ARCH[vardepvalue] as fix, which works. It would be
shorter to do that in cross.bbclass instead of repeating the relevant
line in different recipes, but Richard was concerned about potential
side-effects in other usages of cross.bbclass.

TARGET_GOARM as used in go.inc is still causing signature differences
for go-cross-powerpc64 and machines b4420qds-64b and p5020ds-64b. This
needs further investigation.

(From OE-Core rev: 39bfa0dd3237cbca47e7fca1075d521f9d073f25)

Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-12 15:09:58 +01:00
Yuanjie Huang
ca22ef73d0 binutils: Fix CVE-2017-6965 and CVE-2017-6966
Backport upstream commit to address vulnerabilities:

CVE: CVE-2017-6965
[BZ 21137] -- https://sourceware.org/bugzilla/show_bug.cgi?id=21137

Fix readelf writing to illegal addresses whilst processing corrupt input
files containing symbol-difference relocations.

	PR binutils/21137
	* readelf.c (target_specific_reloc_handling): Add end parameter.
	Check for buffer overflow before writing relocated values.
	(apply_relocations): Pass end to target_specific_reloc_handling.

CVE: CVE-2017-6966
[BZ 21139] -- https://sourceware.org/bugzilla/show_bug.cgi?id=21139

Fix read-after-free error in readelf when processing multiple, relocated
sections in an MSP430 binary.

	PR binutils/21139
	* readelf.c (target_specific_reloc_handling): Add num_syms
	parameter.  Check for symbol table overflow before accessing
	symbol value.  If reloc pointer is NULL, discard all saved state.
	(apply_relocations): Pass num_syms to target_specific_reloc_handling.
	Call target_specific_reloc_handling with a NULL reloc pointer
	after processing all of the relocs.

(From OE-Core rev: 8c52a530ba2beb438aa47956bcec3777a1eafe5f)

Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-11 18:10:18 +01:00
Khem Raj
5a85d39c9d binutils: Detect 64bit mips target for gold
(From OE-Core rev: b007eb12a80d81c2aa498941961df3f2899ece7e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-04-01 23:28:19 +01:00
Ross Burton
69d3d55ea7 binutils: disable gold on mingw
oe-core 759eed (binutils: Enable threading when gold is enabled and is not
default linker) causes linking in mingw SDKs to fail:

.../work/i686-nativesdk-mingw32-pokysdk-mingw32/binutils-cross-canadian-x86-64/2.28-r0
/recipe-sysroot-native/usr/bin/i686-pokysdk-mingw32/../../libexec/i686-pokysdk-mingw32/gcc/i686-pokysdk-mingw32/6.3.0/ld:
cannot find -lpthread

Work around this by disabling gold entirely in mingw SDKs.

(From OE-Core rev: b5a595a4be09756b88e91f3353e3b221b165ab44)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-21 22:39:17 +00:00
Khem Raj
56b2f19ca1 binutils: Enable threading when gold is enabled and is not default linker
Currently we enable threaded linking feature of gold linker only
when its used as default ld. There is no need to restrict it when
its not default linker either. As long as gold is enabled, which
is the case here, we should be able to do threaded linking.

(From OE-Core rev: 759eed2b02e0a7b5c8b19d4b087d9151c009eed4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17 16:53:05 +00:00
Khem Raj
4485ea5807 binutils: Upgrade to 2.28 release
(From OE-Core rev: e9f839d5fe70a222cc7b8942f401ac86a10e6604)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-07 20:05:31 +00:00
Richard Purdie
9852db9d22 binutils-cross: Remove exec_prefix from the linker search path
We don't put target libs into a native/cross ${exec_prefix} but having
this in the default search path means all linker scripts have to be relocated.
This is a considerable chunk of files to create multiple copies of for no good
reason.

Instead, patch out the paths we don't need.

(From OE-Core rev: 20816eb5398512652c971a37589a2ca28ffd3d68)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-31 23:47:33 +00:00
Manjukumar Matha
764a780136 binutils-2.27.inc: Fix alignment frags for aarch64
There was bug with alignment frags for aarch64 in binutils. This is fixed in
master of binutils. This patch backports the fix to binutils 2.27 version.

(From OE-Core rev: f6f87019073d4f3caa7766aca89faa6781690fba)

Signed-off-by: Manjukumar Matha <manjukumar.harthikote-matha@xilinx.com>
Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-20 15:22:17 +00:00
Joshua Lock
c4e2c59088 meta: remove True option to getVar calls
getVar() now defaults to expanding by default, thus remove the True
option from getVar() calls with a regex search and replace.

Search made with the following regex: getVar ?\(( ?[^,()]*), True\)

(From OE-Core rev: 7c552996597faaee2fbee185b250c0ee30ea3b5f)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-16 10:23:23 +00:00
Fabio Berton
8a81facc23 binutils: Fix build for c293pcie PPC machine
The following patch fix build for c293pcie PPC machine :
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=8941017b

This patch is a backport from master branch.

Fix error:
/
|ERROR: binutils-2.27-r0 do_package: runstrip: ''powerpc-fslc-linux-gnuspe-strip'
|--remove-section=.comment --remove-section=.note --strip-unneeded
|'../tmp/work/ppce500v2-fslc-linux-gnuspe/binutils/2.27-r0/package/usr/lib/
|libbfd-2.27.0.20160806.so'' strip command failed with 1
|(b'powerpc-fslc-linux-gnuspe-strip: ../tmp/work/ppce500v2-fslc-linux-gnuspe/
|binutils/2.27-r0/package/usr/lib/stJMAEnm: Not enough room for program headers,
|try linking with -N\npowerpc-fslc-linux-gnuspe-strip:../tmp/work/
|ppce500v2-fslc-linux-gnuspe/binutils/2.27-r0/package/usr/lib/stJMAEnm
|[.note.gnu.build-id]: Bad value\n')
\

(From OE-Core rev: 3526c23ae98d2e08af20b77175c12907355ec42a)

Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-11-30 15:48:05 +00:00
Khem Raj
86973c0843 binutils-2.27: Fix linker segfaults when linking binary files
Fixes segfaults when doing partial linking and generaring binary objects

/tmp/binu/ld/ld-new -r -b binary -o etc_certs_ui_ca_pem.o etc_certs_ui_ca_pem

0  elf32_arm_count_additional_relocs (sec=0x79bf40) at /mnt/a/work/oe/binutils-gdb/bfd/elf32-arm.c:18210
1  0x000000000047635a in bfd_elf_final_link (abfd=abfd@entry=0x783250, info=info@entry=0x748400 <link_info>) at /mnt/a/work/oe/binutils-gdb/bfd/elflink.c:11224
2  0x000000000044df7b in elf32_arm_final_link (abfd=0x783250, info=0x748400 <link_info>) at /mnt/a/work/oe/binutils-gdb/bfd/elf32-arm.c:12131
3  0x0000000000418917 in ldwrite () at /mnt/a/work/oe/binutils-gdb/ld/ldwrite.c:577
4  0x000000000040365f in main (argc=<optimized out>, argv=<optimized out>) at /mnt/a/work/oe/binutils-gdb/ld/ldmain.c:433

gold works ok. The patch is already applied in master binutils

(From OE-Core rev: 00d1913520f1572fa7def865e57852c7f25b0ec4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-11-06 23:35:32 +00:00
Yuanjie Huang
f248db1972 binutils: enable warn system direcotories in cross-canadian ld
Warn system directories requires a configuration option to be enabled.
This patch enables the warning for cross-canadian ld, to align with the
cross version.

(From OE-Core rev: 581a746f081a265e08b41712e7bc953f46c6e92a)

Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-10-28 16:15:20 +01:00
Khem Raj
24abb88196 binutils: Fix gas error with cfi_section inconsistencies
This error is visible when using clang but not when using gcc
this has been reported and fixed upstream.

llvm bug https://llvm.org/bugs/show_bug.cgi?id=29017
binutils bug https://sourceware.org/bugzilla/show_bug.cgi?id=20648

(From OE-Core rev: e5a81575f11dc2a0ec9ee4184514750d2dbd09aa)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-10-15 10:01:44 +01:00
Andre McCurdy
76f42d622b binutils: fix for MIPS "Can't find matching LO16 reloc" errors
Patch taken from Binutils Bugzilla:

  https://sourceware.org/bugzilla/show_bug.cgi?id=20649

(From OE-Core rev: a31eff6894099ee1d0ce7ccf2972f7276ca12743)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-10-15 10:01:43 +01:00
Ross Burton
0c9ba38d92 binutils: apply RPATH fixes from our libtool patches
We don't autoreconf/libtoolize binutils as it has very strict requirements, so
extend our patching of the stock libtool to include two fixes to RPATH
behaviour, as part of the solution to ensure that native binaries don't have
RPATHs pointing at the host system's /usr/lib.

This generally doesn't cause a problem but it can cause some binaries (such as
ar) to abort on startup:

./x86_64-pokysdk-linux-ar: relocation error: /usr/lib/libc.so.6: symbol
_dl_starting_up, version GLIBC_PRIVATE not defined in file ld-linux.so.2 with
link time reference

The situation here is that ar is built and as it links to the host libc/loader
has an RPATH for /usr/lib.  If tmp is wiped and then binutils is installed from
sstate relocation occurs and the loader changed to the sysroot, but there
remains a RPATH for /usr/lib.  This means that the sysroot loader is used with
the host libc, which can be incompatible.  By telling libtool that the host
library paths are in the default search path, and ensuring that all default
search paths are not added as RPATHs by libtool, the result is a binary that
links to what it should be linking to and nothing else.

[ YOCTO #9287 ]

(From OE-Core rev: 6b201081b622cc083cc2b1a8ad99d6f7d2bea480)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-10-04 16:29:04 +01:00
Ross Burton
55e8c3a9f9 binutils: fix typo in libtool patch
There was a clear typo in a function name, correct it.

(From OE-Core rev: dcf44e184a807d76463a3bf1b2315e80b9469de3)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-10-04 16:29:04 +01:00
Juro Bystricky
cf882b6e3a SDK: Allow changing SDKMACHINE without wiping TMP folder
When changing SDKMACHINE, we may encounter an error forcing us to wipe the TMP folder.
Since only SDK_ARCH is captured in the PN of the crosssdk recipes, changes to SDK_OS
result in conflicts. Eventually we hit the error:

ERROR: ...: The recipe <...>  is trying to install files into a shared area when those files already exist.
The build has stopped as continuing in this scenario WILL break things

This patchset addresses the problem by SDK_SYS as the recipe name suffix instead
of SDK_ARCH.

[YOCTO #9281]

(From OE-Core rev: d2eccccb70e809d482c493922f23aef4409cfd82)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-28 10:16:03 +01:00
Khem Raj
30ab044dac binutils: Bump to 2.27
(From OE-Core rev: 3f1eb2556026572dca9476c561d89b86723395c7)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-10 10:46:28 +01:00
Khem Raj
556059a5cb binutils: Cache gettext api version 1 and 2 support
Problem described here

https://lists.gnu.org/archive/html/bug-gettext/2015-11/msg00012.html

gettext does not detect the gettext support in libc
correctly if the libc is not glibc. Musl does support
the gettext version 1 and 2 of APIs

http://www.openwall.com/lists/musl/2015/04/16/3

tests in gettext.m4 however fail since it pokes at glibc
internal symbols to determine the gettext APIs
musl's implementaitons are done differenty so the
tests fail and hence it does not enable  the libc
implementation. Since we install the header from
libc it confuses the compilation and results in errors
like

libbfd.so: undefined reference to `libintl_dgettext'

see
http://savannah.gnu.org/bugs/?46436

binutils need these variables in make env since
binutils build system runs configure in the sub directories
during make step, so we need to pass these flags
in compile step in addition to configure step

(From OE-Core rev: 21bba0548463f277684cc52d23194ad6d7c17956)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-01 11:47:11 +01:00
Ross Burton
bb915a1492 binutils: backport fix for TLSDESC relocations with no TLS segment on arch64
As exposed by WebKit on aarch64 hosts, which causes binutils to throw an
internal error.

[ YOCTO #9509 ]

(From OE-Core rev: b31294e4f34dfb530c40526ab56c07aedb76e31b)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-20 10:28:49 +01:00
Khem Raj
ec336702a2 binutils: Upgrade to 2.26.1
Delete upstreamed patch

(From OE-Core rev: 37e8b6ecf9f9163d7b5b3becdc2feba57df4838f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-12 23:10:13 +01:00
André Draszik
1b29aff0e0 binutils: backport patch to fix mipsel (malta) kernel compile
This fixes the following compilation error when building a mipsel
yocto kernel for qemu:

|   CC      arch/mips/mm/sc-ip22.o
| {standard input}: Assembler messages:
| {standard input}:128: Error: number (0x9000000080000000) larger than 32 bits
| {standard input}:151: Error: number (0x9000000080000000) larger than 32 bits
| {standard input}:186: Error: number (0x9000000080000000) larger than 32 bits

We leave out the testsuite bits and the changelog in this
backport.

(From OE-Core rev: 8b378a17bf6d6c43f097b9df491e5c6ec59bf316)

Signed-off-by: André Draszik <adraszik@tycoint.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-07-01 16:22:44 +01:00
Andre McCurdy
51059ee20d binutils: configure with --enable-deterministic-archives
Causes ar to use zero for timestamps and uids/gids by default when
creating static archives, which helps make builds deterministic.

  https://bugzilla.redhat.com/show_bug.cgi?id=1124342
  https://wiki.debian.org/ReproducibleBuilds/TimestampsInStaticLibraries

(From OE-Core rev: df0d525c02780b5a0bd7a177a249c55f41797476)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-23 14:26:15 +01:00
Zhenhua Luo
f491996392 binutils: fix the incorrect assembling for ppc wait instruction
The wait mnemonic for ppc targets is incorrectly assembled into 0x7c00003c due
to duplicated address definition with waitasec instruction. The issue causes
kernel boot calltrace for ppc targets when wait instruction is executed.

(From OE-Core rev: 9764de92d5673d0f629555723321c933db015fe0)

Signed-off-by: Zhenhua Luo <zhenhua.luo@nxp.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-06-15 08:35:01 +01:00
Dan McGregor
f0d2bd3d90 binutils: disable werror on native build
It's disabled on cross builds, and it's needed for gcc 6

(From OE-Core rev: ce1b37e29dc89b67dc698e856007b59faa16c4df)

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-13 13:41:30 +01:00
Khem Raj
04c6a4850a binutils: Fix useless rpaths QA warning
elfedit and readelf contains /usr/lib in elf header
this patch deletes them from binaries, ideally it
should be fixed in libtool and Makery of binutils

mips target binutils dont build gold so remove
them from ALTERNATIVES list

depend on own version of chrpath native, so builds on
build OS like Centos can work, the verison of chrpath
on centos is old enough to not support dealing with
multi-arch ELF files.

(From OE-Core rev: 9043202f4e705932a3847f2f7635fca06fe5a916)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-18 07:39:30 +00:00