Commit Graph

60 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
Khem Raj
1387785013 binutils: Use tip of 2.26 branch
Until 2.26.1 is released there are few fixes which are needed especially
when using -fpie, here are changes that are part of this version bump

H.J. Lu (7):
      Add a testcase for PR ld/18591
      Store estimated distances in compressed_size
      Remove duplicated marker for 2.26 in gas/NEWS
      Add -mrelax-relocations= to x86 assembler
      Mask off the least significant bit in GOT offset
      Enable -Bsymbolic and -Bsymbolic-functions to PIE
      Fix a typo in objcopy manual

John David Anglin (1):
      Fix /usr/bin/ld: final link failed: File truncated error on hppa

(From OE-Core rev: 3685a1246110d84bffffa6d03a3c2ec0417cb4a3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-16 09:04:22 +00:00
Marek Vasut
611e3d87d8 binutils: Repair nios2 PLT and GP handling
Repair corner cases in nios2 PLT and GP handling. See the patches
themselves for extensive detailed explanation.

The patches don't contain the ChangeLog entries, since the changelog
entries often cause trouble when applying the patch.

(From OE-Core rev: fdac5c38183aa96faea8d51d16ce5f54ee16f944)

Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Ross Burton <ross.burton@intel.com>
Cc: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-11 12:27:48 +00:00
Khem Raj
c85c54f7f8 binutils: Upgrade to 2.26
(From OE-Core rev: 86ade2cc2553c942d9526c5323a11ae151653505)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-01 11:20:18 +00:00
Khem Raj
136db70700 binutils: Fix gold linking errors due to unresolved R_ARM_MOVW_ABS_NC
This issue has been seen in multiple times e.g.

http://patchwork.openembedded.org/patch/103083/

https://www.mail-archive.com/openembedded-core@lists.openembedded.org/msg72513.html

(From OE-Core rev: 9db094039ed7bce34006cc21bb65cd800fbfee7d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-24 09:40:31 +00:00
Mark Hatle
116360f39b binutils: Fix XLP / Octeon 3 instruction clash
Use the value 0x00000080 for INSN_XLP, as the value 0x00000040 has already
been assigned to INSN_OCTEON3 by the binutils project.

Without this change, invalid instructions can be generated for both INSN_XLP
and INSN_OCTEON3.

(From OE-Core rev: 3a3269e7f4c7d13ad0c5705cb59c138b697151d7)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:26 +00:00
Mark Hatle
fd4f4d299e binutils: Fix octeon3 disassembly patch
The structure has apparently changed, and there was a missing
setting.  This corrects a segfault when disassembling code.

(From OE-Core rev: 2e8f1ffe3a8d7740b0ac68eefbba3fe28f7ba6d4)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:26 +00:00
Ross Burton
1c914a844b meta: Fix Upstream-Status statements
Fix a variety of problems such as typos, bad punctuations, or incorrect
Upstream-Status values.

(From OE-Core rev: bd220fe6ce8c3a0805f13a14706d3130ea872604)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-12 23:01:53 +01:00
Jagadeesh Krishnanjanappa
8a2edb9856 binutils: Add thunderx support to gas
Without this patch, cross compiling for AArch64 with
"-mcpu=thunderx" fails with below error,

-- snip --
Assembler messages:
Error: unknown cpu `thunderx'
Error: unrecognized option -mcpu=thunderx
-- CUT --

(From OE-Core rev: 0cdf96013f66ee3a695038af633e3160b7f720dc)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-09 14:27:47 +01:00
Khem Raj
31c231c95d binutils: Fix symbols with --dynamic-list when using gold linker
There are random crashes and hangups, seen in libQtCore (QT4) as mentioned
in the binutils bugs as well, the reason is that
gold ignores all other symbols except specified in --dynamic-list which
is different in behavior as compared to bfd linker. The patch is a
backport from upstream master. This patch implements the bfd linker's
behaviour into gold.

(From OE-Core rev: 0ee1e3b000137ebcb2e223e7a3f8e9eb53088c70)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-04 16:23:47 +01:00
Armin Kuster
86559e1345 binutils: Add MIPS Octeon3
This add MIPS octeon3 support to binutils.

(From OE-Core rev: a3d3dc83a1ef73162f548594241c587ad12d8226)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-19 18:05:40 +01:00
Khem Raj
91b7c88d9f binutils: Update to tip of 2.25 branch
This update brings following patches

749b1c7 Fix some PPC assembler errors.
fe1e924 [AArch64][Backport] Remove Load/Store register (unscaled immediate) alias
4e4d08c [AArch64][Backport] Don't always create new frag for .inst directive
0381bf1 [AArch64][Backport] PR18270, fix handling of GOT entry for local symbol
bb22a11 [AArch64][Backport]Improve PC-relative relocation check for shared library
699dcf3 opcodes/
e700dd4 Downgrade linker error on protected symbols in .dynbss to a warning
13ccf8a Revert "Add extern_protected_data and set it for x86"
b0356a6 Add support for the Samsung Exynos M1 processor.
40dbf9d Add support for the Samsung Exynos M1 processor.
2aa5937 Don't pass unadorned zeros to varargs functions
12aca65 Relax PR 15228 protected visibility restriction
b443789 [AArch64] Fix branch stubs for BE
ab50ec0 Import fixes from mainline sources that address illegal memory access problems with the ELF targeted parts of the BFD library.
a539f2c Import patches from the master sources which fix illegal memory accesses found by running the binutils on fuzzed binaries.
a5ebc2c Fix build problem introduced by previous delta to coffgrok.c
7a57494 Import fixes from mainline that address illegal memory accesses when working with COFF/PE based files.
4f9583e Import fixes from trunk sources to correct invalid memory access issues with various binutils programs.
304a2b6 Import fixes for invalid memory access issues in the binutils DWARF parser from the trunk sources.
1dead8a Import security fixes for readelf from the master branch:
3e3feb3 Limit multi-byte nop instructions to 10 bytes
f12dd7b S/390: Disable relocation sort against code sections.
846daac Fix ppc32 synthetic symbols when __tls_get_addr_opt stub is generated
7235408 Tweak ppc32 tls_get_addr optimisation
642fe3b PowerPC64 thread-safe stubs not needed for iplt
2791b63 Use dynamic text relocs for protected vars
cff59f0 PowerPC64 GOLD: complain on misaligned _DS relocs
20951c8 Fix gold error: hidden symbol '...' is not defined locally
7428be5 [AArch64][2.25] Backport support for Cortex-A72
8093a8b [ARM][2.25] Backport support for Cortex-A72
f7cf878 [ARM] Backport "Skip private symbol when doing objdump"
031994d Add extern_protected_data and set it for x86

Additionally rearranges the local patches in sequence

(From OE-Core rev: a23cbec2fab9832dfcbad08e22f0f81a01fcab65)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-03 16:38:47 +01:00
Khem Raj
768794e6a8 binutils: Fix linking issue for R_ARM_REL32 relocs
This issue is surfaces with gcc 5.0 but its a real issue in gold
errors are like

https://sourceware.org/ml/binutils/2010-12/msg00473.html
is the test case

Change-Id: I44806e9fb75a164745e52f0040b7efc9be624ae6
(From OE-Core rev: 887c8cb41a3857b2381e3d83c2db83c1d78ae48d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-10 18:10:27 +01:00
Khem Raj
b559d7f81f binutils: Switch to using binutils stable/2.25 branch
We have a lot of patches on top of 2.25 release that we need
its easier/cleaner to use the git src instead of tarball and use
the latest on the 2.25 branch

Additionally, drop binutils-uclibc-300-006_better_file_error.patch
since it has been redone with
https://sourceware.org/ml/binutils/2006-10/msg00337.html upstream

git'ify the patches against upstream repos for better maintainance

Change-Id: I572c9bb49f60853e7ade4e8f63ab77b7e41476c5
(From OE-Core rev: 3c7fe424f850af70989ad682dd9c5be70cd02ca5)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-08 10:53:11 +01:00
Khem Raj
1cb175fd7b binutils: Fix ICE in gold
Found when linking busybox using gold linker

Change-Id: I47b89998b9cb3d75ac97113a1b0fba109483b198
(From OE-Core rev: f370b72a0d5e13bd4f53daea99f0851517b361a2)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-08 10:53:10 +01:00
Robert Yang
2be79f0b1d binutils: upgrade to 2.25
* Remove the following patches since they are already in the new code:
  binutils/fix-pr15815.patch
  binutils/fix-pr16428.patch
  binutils/fix-pr16476.patch
  binutils/fix-pr2404.patch
  binutils/replace_macros_with_static_inline.patch
  binutils/binutils_CVE-2014-8484.patch
  binutils/binutils_CVE-2014-8485.patch
  binutils/binutils_CVE-2014-8501.patch
  binutils/binutils_CVE-2014-8502.patch
  binutils/binutils_CVE-2014-8502_1.patch
  binutils/binutils_CVE-2014-8503.patch
  binutils/binutils_CVE-2014-8504.patch
  binutils/binutils_CVE-2014-8737.patch

* The file src-release is gone.

* Updated patches for the new code.

(From OE-Core rev: a8446ea78daa5875de43eb5bcccd8f536ea07e1c)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>

Conflicts:
	meta/conf/distro/include/tcmode-default.inc
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-08 10:53:09 +01:00
Armin Kuster
6dde745bf9 binutils: several security fixes
CVE-2014-8484
CVE-2014-8485
CVE-2014-8501
CVE-2014-8502
CVE-2014-8503
CVE-2014-8504
CVE-2014-8737

and one supporting patch.

[Yocto # 7084]

(From OE-Core rev: 859fb4d9ec6974be9ce755e4ffefd9b199f3604c)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-27 22:53:40 +00:00
Richard Purdie
540b7a196a binutils: Add fix for recent patch on older gcc
The recent bintuils patch update breaks on older gccs such as CentOS 6.
Backport a patch to address this.

(From OE-Core rev: 76f65e73081f52cea718ef164f9d1d7a5c65d537)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-25 13:51:46 +01:00
H.J. Lu
ad07178802 binutils: Apply the proper fix for PR 16428
It is fixed by

commit 4199e3b8669d0a36448687850374fdc2ad7240b6
Author: Alan Modra <amodra@gmail.com>
Date:   Wed Jan 15 21:50:55 2014 +1030

    non-PIC references to __ehdr_start in pie and shared

    Rather than hacking every backend to not discard dynamic relocations
    against an undefined hidden __ehdr_start, make it appear to be defined
    early.  We want __ehdr_start hidden before size_dynamic_sections so
    that it isn't put in .dynsym, but we do need the dynamic relocations
    for a PIE or shared library with a non-PIC reference.  Defining it
    early is wrong if we don't actually define the symbol later to its
    proper value.  (In some cases we want to leave the symbol undefined,
    for example, when the ELF header isn't loaded, and we don't have this
    infomation available in before_allocation.)

So replace the existing patches with this one.

(From OE-Core rev: db37534c412ff3f1460687611060b3c4b3f95a04)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-06-25 13:51:45 +01:00
Khem Raj
ab6f21f62c binutils: Fix building nativesdk binutils with gcc 4.9
Patches explain the issue in detail but this is exposed
with gcc 4.9 in binutils 2.24

(From OE-Core rev: fc5c467b680fc5aef4b0f689e6988e17a9322ae0)

(From OE-Core rev: 4dfb8847ebf8aab90ad8888933468e2899c96998)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-06 17:59:15 +01:00
Richard Purdie
ffa8bbf965 binutils: Add fixes for binutils issue 16428
"ld:i386 crashes with -static -fPIE -pie"
https://bugs.launchpad.net/ubuntu/+source/binutils/+bug/1266492

This adds in two upstream binutils fixes to avoid the internal error
triggered by the combination of -static with -pie on x86 builds. This
triggers a backtrace which then triggers a bug in glibc where the process
ends up hanging on some systems with broken libcs.

We can't fix the libc but we can stop the internal error and hence
avoid the hanging builds.

(From OE-Core rev: e949f9a8fc337bd768c7e8a3fd082775a94e0ad4)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-03-25 21:26:49 +00:00
Richard Purdie
4a85e2698e binutils: Add backports to resolve systemd (from git) breakage
Backport the patches for PR2404 and PR16476 from binutils to
resolve failures when compiling systemd from git.

(From OE-Core rev: 25e376f6c8c66cca95ae7fa7f512b7dadfdd6140)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-09 09:40:00 +00:00
Khem Raj
d4b11e8f16 binutils: Upgrade to 2.24
This builds and runs images for all qemu machines

(From OE-Core rev: 015eca84f1b0f25868b47d2480bb60cea698f70e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-02 22:37:40 +00:00
Khem Raj
0d2b60e2d6 binutils: Delete recipes for 2.22
We have 2.23.1 as default now.

(From OE-Core rev: a2f5a228422f9807fa21de88ad589853817695f8)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-02-28 23:15:49 +00:00
Laurentiu Palcu
f862f06f32 binutils-crosssdk: do not set .interp size to 0x1000 for partial linked objects
When building the SDK, the final .interp section size should be set to a
bigger value (0x1000) in order to be able to change the dynamic loader's
path later. However, we shouldn't do that for partial linked objects
(when -r or -rU is used). That's because those objects will then have an
.interp section of 0x1000 even if it contains no data and when the final
linking is done we will end up with a "cannot move location counter
backwards" error. That's because the linker will try to squeeze all the data in
the .interp sections found in various partial linked objects into one 0x1000
bytes final .interp section.

[YOCTO #3264]

(From OE-Core rev: b25d0c5fe286e44ded46aefdcbe35ed259087759)

Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-11-24 15:12:29 +00:00
Khem Raj
d4384e126a binutils-2.22: Disable recent gold backports from 2.22 branch
This patch has been causing some regressions on gold.
e.g. systemd based images segfault and uclibc based images
dont boot. There has been few other reports on the mailing
list. Considering this lets withdraw this patch.

(From OE-Core rev: ecbe671de1553956f83798e1c6fa3ec2fc6a7b4e)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-24 12:13:48 +01:00
Khem Raj
97bb9c5b67 binutils-2.22: Backport PR fixes from 2.22 branch
These are fixes mainly cherrypicks for mips/ppc/x86
mainly fixing PRs in ld and gold

(From OE-Core rev: f098cfc24bae8e0685bcae53ea4fdc3326ddc6c4)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-09-14 09:50:30 +01:00
Andy Ross
8592e82826 ld: -rpath must search under sysroot
The -rpath argument would search the host filesystem for libraries,
even when a sysroot was defined.  For cross toolchains with targets
compatible with the host architecture this can find incorrect
libraries.  Leave -rpath-link unmodified, as build systems in the wild
are already using this to point to host directories.

[YOCTO #2965]

(From OE-Core rev: bccea580f1abb762d231f785a4e60c9cd368dcdf)

Signed-off-by: Andy Ross <andy.ross@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-24 17:25:14 +01:00