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>
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>
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>
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>
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>
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>
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>
When using -fpie (security related cflags), qemux6-64 builds would
fail due to linker symbol errors. This was due to the internal zlib
that binutils was using.
Add the switch to tell it to use the target system zlib which is
already in DEPENDS. That zlib is already compiled with the correct
flags.
(From OE-Core rev: 9ec713c3949f9bcfa1e03561b9811eb3d0451c2f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In some recipes overly-split -dbg packages were merged into PN-dbg. Unless
there's a very good reason, recipes should have a single -dev and -dbg package.
(From OE-Core rev: a3b000643898d7402b9e57c02e8d10e677cc9722)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>
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>
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>
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>
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>
As part of adding nativesdk toolchain support, enable
nativesdk-binutils.
(From OE-Core rev: 20e585543d3e8c143921de665ceed6c0c2c90e73)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>
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>
Resolves:
ERROR: QA Issue: binutils: Files/directories were installed but not shipped
/usr/bin/dwp
/usr/bin/ld.gold [installed-vs-shipped]
now gold is always built.
(From OE-Core rev: 6333186e9764b2c269a2b3869956860fa8fde2b1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It can be useful to have gold available for testing even when its not the
default, therefore build gold by default in all configurations.
(From OE-Core rev: 67dc1df30ec9f38c41df0ad88978e8135e00dd18)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>
* 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>
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>
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>
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>
The class itself currently does nothing. The idea is to mark all recipes that
make use of the texinfo utilities. In the future, this class could be used to
suppress the generation/formatting of documentation for performance,
explicitly track dependencies on these utilities, and eliminate Yocto's
current dependency on the host system's texinfo utilities.
(From OE-Core rev: e6fb2f9afe2ba6b676c46d1eb297ca9cc532d405)
Signed-off-by: Max Eliaser <max.eliaser@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This allows them to co-exist together in the native sysroot, with one
set of cross tools per target architecture.
(From OE-Core rev: a2c5509520d5c3e082f55844e6545d0309565f8f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The base_contains is kept as a compatibility method and we ought to
not use it in OE-Core so we can remove it from base metadata in
future.
(From OE-Core rev: d83b16dbf0862be387f84228710cb165c6d2b03b)
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
"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>
gold linker does not support all architectures, currently arm and x86
are best supported, therefore we can not enable this as a full distro
option where we need to support other architectures e.g. ppc, mips
currently, if we enable ld-is-gold distro feature conditionally then it
invalidates native and sdk version of native binutils because configure
option would change. With this patch we limit ld-is-gold feature to
imapact cross binutils and target binutils only. This means that we
can reuse the sdk and native versions across architectures.
(From OE-Core rev: 542609b968f0dc6f56cc9d6aabe4ff0144041261)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>
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>
Commit 616354f13732d13c17434d5b60b166f691c25761 is insufficient because
gnu-config-native's gnu-configize script uses perl modules from autoconf
and hence doesn't work unless autoconf-native is staged (which it may
not be if building from sstate).
Ideally g-c-n would itself declare a dependency on autoconf-native but this
is difficult to arrange without creating a dependency loop. autoconf-native
already depends on gnu-config-native (because autoreconf invokes gnu-configize)
and has a build dependency on m4-native, which in turn build-depends on g-c-n
because it configizes itself by steam in do_configure and needs config.{guess,sub}
to be available. Adding some sort of gnu-config-initial-native recipe would
fix the latter problem, but this would be ugly because it would need special-casing
in (at least) autotools.bbclass, and in any case this still wouldn't solve
the problem of autoconf itself depending on g-c-n.
So, the easiest solution to the problem at hand is to arrange for those
few recipes that depend on g-c-n but not autoconf-native to gain that
latter dependency as well.
(From OE-Core rev: 507199e57acfcc99639dc2c53abe194d77d60866)
Signed-off-by: Phil Blundell <pb@pbcl.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is only built for PPC, fixes the following QA Error
ERROR: QA Issue: binutils: Files/directories were installed but not shipped
/usr/bin/embedspu
(From OE-Core rev: e77f419565bd54743bc773b17a17acdbf3773ec2)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
do_configure() in binutils.inc includes an explicit call to
gnu-configize so we need to make sure that gnu-config-native is
present. Previously this was being dragged in with the rest of the
autotools stuff, but commit 54a3e2ee37003fc56af0339f857b0b6442790c26
disabled that for binutils-cross on the grounds that "we don't
autoreconf" the toolchain components. Fix this by adding
gnu-config-native itself explicitly to DEPENDS.
(From OE-Core rev: 616354f13732d13c17434d5b60b166f691c25761)
Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is only built for PPC and not needed, so remove it to fix the QA Issue
ERROR: QA Issue: binutils: Files/directories were installed but not shipped
/usr/bin/embedspu
(From OE-Core rev: 98c2b40b64785db99b4f02765212ff40301d3034)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The -symlinks package doesn't really add any value if we're
using update-alternatives. Drop it, leaving a spare RPROVIDES
in case anyone thought they needed it.
(From OE-Core rev: 24093e26f246f222c385dc37a2f8cf8b0f183175)
Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The ar and strings utilities are provided as alternatives, but
the rest of binutils is being done with binutils-symlinks. This
has the side effect that if you want "as", and you install
binutils-symlinks to get it, you don't get "ar" from it, because
it's not in the symlinks package.
Solution: Use the same mechanisms for everything, putting
everything in ALTERNATIVES, so installing binutils on a target
produces the expected behavior of having the various utilities in place.
(We do this only for class-target, though.)
Issues: The "embedspu" and "ld.gold" binaries may or may not exist,
but the determination of whether to list them as alternatives is
being made before the point at which we can easily check for them,
so that can produce warnings.
(From OE-Core rev: 1395aefcaeac94dd0e6ed3a718b7e58dd43b355e)
Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
PowerPC toolchains can use the OS "linux" or "linux-gnuspe". This
patch links them together so the one cross-canadian toolchain can support
both.
GCC_FOR_TARGET is set for the GCC recipe as otherwise configure
can pick up an incorrect value.
[YOCTO #5354]
(From OE-Core rev: a1d6331238982b0c5d39b0a18794f6654b00d46a)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The cross-canadian compilers are now build once per architecture but were being
installed into tune specific locations which is incorrect. This adjusts things
so they are make TARGET_ARCH specific. We gain the tune specific parts from the
target sysroot which remains tune specific, the compiler and tools are independent
ot that.
binutils/gcc require sysroot options but since we reset at runtime, these shouldn't
have dependencies in the sstate checksums. They are therefore also excluded.
With these patches, switching machines does not result in a rebuild of *-cross-canadian
and the compiler is correctly located and referenced in the target images.
(From OE-Core rev: f58acab6414fe96d9e07ebbe86b348d2ac2bed5f)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Back port two patches to fix the error of complex expressions before @l/@h.
Error sample:
test.s: Assembler messages:
test.s:1: Error: operand out of range (0xffffffffffff8000 is not between 0x0000000000000000 and 0x000000000000ffff)
Fix Bug 4524.
(From OE-Core rev: 9ba812ab1f613d28f9eb3192d2ff1a34dfce33e4)
Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Update required to pass "movi" related build errors when gcc-4.8 is
used.
libgcrypt, slang, mysql5 were failing like this:
| {standard input}: Assembler messages:
| {standard input}:316: Error: immediate value out of range 0 to 255 at operand 2 -- `movi v3.8b,-106'
| {standard input}:348: Error: immediate value out of range 0 to 255 at operand 2 -- `movi v3.8b,-8'
| {standard input}:352: Error: immediate value out of range 0 to 255 at operand 2 -- `movi v3.8b,-27'
(From OE-Core rev: 2489151dbfc8bc002d89ab199d457ab3794c54a8)
Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
There is a race condition between when the CONFIG_SITE list is generated and
then used here via the cat to create the config.cache and in *all* configure
scripts when reading from CONFIG_SITE.
The race in this case is that the sstate setscene task runs on a package that
contains a site config file (ncurses in this case) and then bitbake decides
that it needs to rebuild and cleans out the site config file, so it existed
for siteinfo_get_files() to find in SITECONFIG_SYSROOTCACHE and then was removed
for the rebuild. When bintuils tried to run the do_configure() task which creates
the binutil's version of config.cache it reads from CONFIG_SITE which now contains
the non-existant site config file. (confused yet ;-)?
Currently the configure script does a test -r to ensure the file is readable
before using it, therefore having the cat succeed regardless of the file being
available is consistent behaviour.
(From OE-Core rev: ffd8f05e5548500199c9b04a174067811ad2c5e7)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is a backport of a whitespace skipping issue: PR14987 and PR14887
(From OE-Core rev: f4312eaeb6eb2b7196be2b968e2e468e705fb2cf)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This can cause issues building ppc64/eabi kernel. For details
see the patch header
(From OE-Core rev: 3c6622e22b0e1b2a8ceea6465ea84c6fb8299518)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
binutils build fails on Fedora18+:
1. binutils-2.23.1/bfd/elf32-xtensa.c:6078:36: error: argument to 'sizeof' in 'memset' call is the same expression as the destination; did you mean to dereference it? [-Werror=sizeof-pointer-memaccess]
memset (sec_cache, 0, sizeof (sec_cache));
^
2. binutils-2.23.1/bfd/elf32-xtensa.c:6120:32: error: argument to 'sizeof' in 'memset' call is the same expression as the destination; did you mean to dereference it? [-Werror=sizeof-pointer-memaccess]
memset (sec_cache, 0, sizeof (sec_cache));
^
3. binutils-2.23.1/opcodes/arc-dis.c:430:13: error: argument to 'sizeof' in '__builtin_strncat' call is the same expression as the destination; did you mean to provide an explicit length? [-Werror=sizeof-pointer-memaccess]
sizeof (state->commentBuffer));
^
4. binutils-2.23.1/opcodes/rl78-dis.c:230:13: error: array subscript is above array bounds [-Werror=array-bounds]
if (oper->use_es && indirect_type (oper->type))
^
(From OE-Core rev: 5445e12e5a32cc5c51ce8a29f2800692ed831115)
Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Drop virtclass override in favor of class override
(From OE-Core rev: b2e2cf532ebbeb7463b45193fa684e785e299c99)
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>
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>
There does not exist an '--enable-target=all' option
(From OE-Core rev: 60fe4e80ca5845a0d03f918b80d6e980c13378b9)
Signed-off-by: Enrico Scholz <enrico.scholz@sigma-chemnitz.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The overrides virtclass-native and virtclass-nativesdk are deprecated,
which should be replaced by class-native and class-nativesdk.
[YOCTO #3297]
(From OE-Core rev: bb67ddeb2eed3e25c626a279ef53a7e8c7bfe6f2)
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
binutils will build differently if this feature is enabled, so
make the do_configure step depend on it
(From OE-Core rev: 0788cf349fe37ef4a36c626dbc396c97d1ab14d7)
Signed-off-by: Matthew McClintock <msm@freescale.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>
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>
As discussed on the mailing lists, using a suffix to package names is
hard and has lead to many recipes having to do PKGSUFFIX games. Its
looking extremely hard to scale nativesdk much further without hacking
many recipes.
By comparison, using a prefix like multilib does works much better and
doesn't involve "hacking" as many recipes. This change converts nativesdk
to use a prefix using the existing multilib infrastructure.
(From OE-Core rev: 81813c0e322dc04ce4b069117188d8a54dfddb8c)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
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>
This options will let gold spawn multiple
threads for linking and speeding up linking
on multicore build hosts.
(From OE-Core rev: 210957a58260ec50416649aba799d0e96aeeff24)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch is needed so that all SDK binaries have the PT_INTERP section
size set to 4096 (max path size in Linux) in order to be able to parse
the binaries later and change the interpreter to the path we want.
(From OE-Core rev: 9bf657bbdfe7c1a9dff1cc121eab496e3e407197)
Signed-off-by: Laurentiu Palcu <laurentiu.palcu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
e.g. libfl from flex is needed for target
binutils to link otherwise it can fail to build
(From OE-Core rev: 627725700ee9e2ca39a19f19a77cd772cd8ecf9f)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This updates the E5500 and E6500 support patches
as they have been applied upstream binutils.
(From OE-Core rev: 202420871785cbdbbf57adbe26eb0f649e57512b)
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>
Plugins work well in 2.22+ so lets enable them
helps with lto
(From OE-Core rev: 81ecc9d468c36b36c4b2ccc4ab5f366611a8fa46)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Also rearrange the recipes to have common bits
in inc files and not include the target bb file
everywhere. This lets us add specific options
to specific recipes particularly target recipe in
this case
(From OE-Core rev: f4ed063e32f064e996a4c29760fa4ac49f1ed73c)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is reported by prelinker which does not
go well with textrels.
(From OE-Core rev: 7b1caeca8e5c0dd066bb940fe6d2dff4d22bf816)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The patches this recipe refers to don't exist so nobody can have
been using this so lets just remove it.
(From OE-Core rev: 29916bfbbea3bb785e8e4d332848b19ebc0a3ea9)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Default ABI for mips64 is n64 so make it default in binutils
(From OE-Core rev: 99f859612e16d636702f9bb11825259d90e468f2)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
WARNING: For recipe binutils, the following files/directories were installed but not shipped in any package:
WARNING: /usr/bin/embedspu
(From OE-Core rev: 447d77b9e33a68f748c96a152eae19148e43ed7c)
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
A comment in the binutils sources indicate that it should support all of the
-march= parameters that gcc supports. The tune validations noted that
gas failed on -march=armv5e.
It is not yet clear to me if this patch belongs upstream or not.
(From OE-Core rev: 4f2503ebdb5c491b758cbdf6eb7df96d4295c24f)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Dont use autotools, it really not so autoconf like.
the configure script gets updated with every release of zlib
and we overwrite that. Instead use the upstream provided
configure
copyright year was changed in zlib.h which caused change in
LIC_FILE_CHECKSUM
fix.inverted.LFS.logic.patch is already applied upstream so drop it
Drop the configure.ac and Makefile.am scripts since we do not
autoreconf anymore and do not inherit autotools anymore
Bump PR for depending recipes so a rebuild it ensues so that
they dont depend on .la anymore
and add missing dependencies discovered during incremental
build
(From OE-Core rev: 50ad5230ea9e0982cdfda23fb9fcfccf89d28f29)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
In order to actually generate a toolchain (with
bitbake meta-toolchain) that supports gold, binutils-
cross-canadian also needs to be built this way.
(From OE-Core rev: 0eb3a0f3ee857a17d80598ea2f0b1f3d14ac6d30)
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
x86_64 opensuse 11.4 has bintuils version 2.21, and when
binutils_2.21 recipe is built for x86_64 target then, the invocation
of distro gcc fails with errors like this:
/usr/lib64/gcc/x86_64-suse-linux/4.5/../../../../x86_64-suse-linux/bin/as:
symbol lookup error: /usr/lib64/gcc/x86_64-suse-linux/4.5/..
make[2]: *** [sysinfo.o] Error 1
The issue rootcaused as incompatible LD_LIBRARY_PATH while running
the distro gcc.
As per Martin Jansa gentoo also sees similar issue with binutils 2.22
recipe.
This commit fixes the issue by clearing the LD_LIBRARY_PATH for
distro gcc (CC_FOR_BUILD)
This Fixes bug: [YOCTO #1833]
(From OE-Core rev: be769d948a9c26d55d98fbf38fc0b109edb40c3f)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Right now for cross recipes e.g. gcc-cross and binutils-cross
we specify --disable-nls .... --enable-nls on configure cmdline
the --enable-nls coming from gettext bbclass.
So we disable nls for all cross inheriting recipes in gettext
bbclass and then we remove the extra --disable-nls in gcc-cross
and binutils-cross
This patch needs testing. Please help
(From OE-Core rev: d66b379f809b9c75981848fcc71ed5de13382bf7)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
THis commit fixes these QA warnings for binutils recipe
WARNING: For recipe binutils, the following files/directories were installed but not shipped in any package:
WARNING: /usr/arm-oe-linux-gnueabi/bin/.debug
WARNING: /usr/arm-oe-linux-gnueabi/bin/.debug/strip
WARNING: /usr/arm-oe-linux-gnueabi/bin/.debug/objcopy
WARNING: /usr/arm-oe-linux-gnueabi/bin/.debug/objdump
WARNING: /usr/arm-oe-linux-gnueabi/bin/.debug/ld
WARNING: /usr/arm-oe-linux-gnueabi/bin/.debug/nm
WARNING: /usr/arm-oe-linux-gnueabi/bin/.debug/as
WARNING: /usr/arm-oe-linux-gnueabi/bin/.debug/ranlib
WARNING: /usr/arm-oe-linux-gnueabi/bin/.debug/ld.bfd
WARNING: /usr/arm-oe-linux-gnueabi/bin/.debug/ar
(From OE-Core rev: 1615287660e9d0cce89c7d6d5ad177769856b3cc)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
And rebase the patches to the newer source code
This patch is upstream hence deleting it from the recipe.
binutils/110-arm-eabi-conf.patch
(From OE-Core rev: 715bcfe3701e5ee3e12ee4af9c868a9bbf441525)
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This patch introduces a distro feature which enables gcc to produce
both 32bit and 64bit code, and enables binutils to operate on both
32bit and 64bit binaries. It differs from multilib toolchains in
that it does not require to compile a version of the libc for each
architecture variant. However, the code produced for the secondary
architecture will not be linkable against the libc.
v2: - Renamed the feature name from "biarch" to "multiarch". The GCC
installation manual claims that the mips-linux can be made a tri-arch
compiler (http://gcc.gnu.org/install/configure.html)
- For x86_64, the compiler is made bi-arch by default, so nothing
has to be done in particular.
- I analyzed the gcc/config.gcc from GCC sources and added in this
patch all the architectures that could be made biarch with the version
of gcc currently used in OE, which are powerpc, and sparc, in addition
to x86. mips and s390 will probably be supported in future versions of
gcc. For x86 and sparc, only the --enable-targets=all option is valid
to make this work (this option doesn't have any other side effects than
making the compiler bi-arch). For powerpc, I used the
--enable-targets=powerpc64 option (although 'all' also works).
Note: - Untested on powerpc and sparc. But I believe it works the same
as with x86.
- gcc in meta-toolchain is also made multiarch.
(From OE-Core rev: 99e295ef30ba02db3966c66619807c037ef5089f)
Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>