summaryrefslogtreecommitdiffstats
path: root/meta/recipes-devtools/binutils/binutils.inc
AgeCommit message (Collapse)Author
2021-09-11binutils: inherit pkgconfig to address libdebuginfod depdencyChanho Park
Since libdebuginfo was default distro feature[1], cross build of binutils has been broken due to absence of pkg-config. To find the dependency properly, we should inherit pkgconfig bbclass. checking for aarch64-poky-linux-pkg-config... no checking for pkg-config... no checking whether to use debuginfod... yes checking for libdebuginfod >= 0.179... no configure: error: "--with-debuginfod was given, but libdebuginfod is missing or unusable." [1]: https://lists.openembedded.org/g/openembedded-core/message/150666 Signed-off-by: Chanho Park <chanho61.park@samsung.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-30Convert to new override syntaxRichard Purdie
This is the result of automated script conversion: scripts/contrib/convert-overrides.py <oe-core directory> converting the metadata to use ":" as the override character instead of "_". Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-07-24binutils: Upgrade to 2.37 branchKhem Raj
This is next/latest release branch for binutils Drop backports and CVE fixes which already are applied upstream bfd_stdint.h has been removed in favor of using stdint.h Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2021-02-03binutils: Package libdep linker pluginsKhem Raj
this is new plugin added in binutils 2.36 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-26binutils: Install PIC version of libiberty.aKhem Raj
some architectures e.g. mips complain in linking apps which have shared libs that are linking with libiberty.a fixes errors like below libiberty/../../libiberty/hashtab.c:285:(.text+0xf8): relocation R_MIPS_26 against `htab_create_typed_alloc' cannot be used when making a shared object; recompile with -fPIC Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-05binutils: Use configure options to disable gdb and dependenciesKhem Raj
Deleting sources is a rough way of dealing with disabling components, using configure option is elegant way and we also keep the sources unchanged, this should not cause any funcitonal changes otherwise Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-04-01binutils: Do not build gold linker on mips/glibcKhem Raj
Using gnu_hash style is unsupported on gold for now therefore disable building gold on mips/glibc Certain applications poke for presence of gold linker and silently use it (webkit), therefore its best to disable building it Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-03-30binutils: Pregenerate autoconf filesKhem Raj
libtool patch will result in configure file regeneration, instead of doing that at build time, do it in patch itself, this avoids running autoconf before configure step. Since binutils needs specific version of autoconf ( which is 2.69 ) this will break on systems using newer or older verisons of autoconf in current state. Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-29binutils: fix multilib header differenceJeremy Puhlman
bfd_stdint.h encodes the name of the compiler in the header which is different between mutlilibs. Remvoe target prefix to make the headers match. Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22binutils: Fix x86_64 override usageRichard Purdie
This override was applying to binutils-native meaning it would behave differently depending upon the host it was building on. This is not a good idea and we have tests to detect it which failed: oe-selftest -r sstatetests.SStateTests.test_sstate_32_64_same_hash binutils-native already enables all targets so we can avoid issues by not setting this option in the native case. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-22binutils: Upgrade to 2.34 releaseKhem Raj
Details of changelog [1] Removing bfd/ld patch to enable PE targets, instead use specific emulations via --enable-targets for x86_64 Re-arrange/forward-port patches and upgrade libctf configure to libtool 2.4 patch rpaths are no longer emitted into elfedit/readelf therefore no need of chrpath anymore Instead of pre-generating configure scripts and house them in libtool patch, generate them during configure. This also ensures that we do not patch configure directly but rather the sources which generate it Package newly added libctf library [1] https://lists.gnu.org/archive/html/info-gnu/2020-02/msg00000.html Signed-off-by: Khem Raj <raj.khem@gmail.com> Cc: Christopher Clark <christopher.clark6@baesystems.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2020-02-14binutils: Bail out if gold is used on 32/64 bit RISC-VKhem Raj
gold is not supporting risc-v yet and, this will cause subltle errors during build e.g. autoconf not finding certain features like visibility and it could take a while to unwind the problem. Its better to error out early Remove dwp and ld.gold for rv32 as well Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-09binutils: fix symlinksAchille Fouilleul
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}. Signed-off-by: Achille Fouilleul <achille.fouilleul@gadz.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-05binutils: Fix variable conflictRichard Purdie
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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-04gdb: Seprate out gold and dwp into a variableKhem Raj
This is needed for riscv64 to build target binutils fixes alternatives creation Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-09-18binutils: apply mingw fix only for binutils-cross-canadianSamuli Piippo
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. Signed-off-by: Samuli Piippo <samuli.piippo@qt.io> Signed-off-by: Ross Burton <ross.burton@intel.com>
2017-03-20binutils: disable gold on mingwRoss Burton
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. Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-03-17binutils: Enable threading when gold is enabled and is not default linkerKhem Raj
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. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-16meta: remove True option to getVar callsJoshua Lock
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\) Signed-off-by: Joshua Lock <joshua.g.lock@intel.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-08-07binutils: Bump to 2.27Khem Raj
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2016-06-23binutils: configure with --enable-deterministic-archivesAndre McCurdy
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 Signed-off-by: Andre McCurdy <armccurdy@gmail.com> Signed-off-by: Ross Burton <ross.burton@intel.com>
2016-02-18binutils: Fix useless rpaths QA warningKhem Raj
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. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-16meta: more removals of redunant FILES_${PN}-dbgRoss Burton
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. Signed-off-by: Ross Burton <ross.burton@intel.com>
2015-04-08binutils: Fix packaging now gold is always builtRichard Purdie
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. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-07binutils: Allow gold to build even when not the defaultRichard Purdie
It can be useful to have gold available for testing even when its not the default, therefore build gold by default in all configurations. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-05-01Add texinfo.bbclass; recipes that use texinfo utils at build-time inherit it.Max Eliaser
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. Signed-off-by: Max Eliaser <max.eliaser@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-25Globally replace 'base_contains' calls with 'bb.utils.contains'Otavio Salvador
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. Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-02-18binutils: ld-is-gold should not affect native and crosssdk recipesKhem Raj
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. Signed-off-by: Khem Raj <raj.khem@gmail.com>
2014-02-04binutils: Package additional file when using ld-is-goldKhem Raj
Fixes QA warnings like WARNING: QA Issue: binutils: Files/directories were installed but not shipped /usr/bin/ld.bfd /usr/bin/dwp Signed-off-by: Khem Raj <raj.khem@gmail.com> Acked-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-10binutils: Also add autoconf-native to DEPENDSPhil Blundell
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. Signed-off-by: Phil Blundell <pb@pbcl.net> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-01-02binutils: add/tweak SUMMARYPaul Eggleton
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
2013-12-10binutils: Add embedspu to standard binutils packageSaul Wold
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 Signed-off-by: Saul Wold <sgw@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-11-12binutils: Add gnu-config-native to DEPENDSPhil Blundell
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. Signed-off-by: Phil Blundell <philb@gnu.org> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-11-08binutils: remove embedspuSaul Wold
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 Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-11-07binutils: Drop binutils-symlinksPeter Seebach
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. Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-11-07binutils: Use alternatives for the binutils-symlinks package.Peter Seebach
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. Signed-off-by: Peter Seebach <peter.seebach@windriver.com> Signed-off-by: Saul Wold <sgw@linux.intel.com>
2013-05-24binutils: the cat should always succeed when building config.cacheSaul Wold
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. Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-11-12meta: remove redundant _FOR_BUILD variablesRoss Burton
Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-10-02binutils.inc: add vardep on multiarch DISTRO_FEATUREMatthew McClintock
binutils will build differently if this feature is enabled, so make the do_configure step depend on it Signed-off-by: Matthew McClintock <msm@freescale.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-07binutils: Enable threaded linking with goldKhem Raj
This options will let gold spawn multiple threads for linking and speeding up linking on multicore build hosts. Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-07-18binutils: package ld.gold symlinkMartin Jansa
* fixes: NOTE: package binutils-2.22-r11: task do_package: Started WARNING: QA Issue: binutils: Files/directories were installed but not shipped /usr/bin/ld.gold NOTE: package binutils-2.22-r11: task do_package: Succeeded Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-21binutils: Enable plugins by defaultKhem Raj
Plugins work well in 2.22+ so lets enable them helps with lto Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-06-21binutils: Add with-sysroot to target binutilsKhem Raj
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 Signed-off-by: Khem Raj <raj.khem@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-05-30binutils: use new update-alternativesMark Hatle
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2012-04-24binutils: add embedspu for ppc buildsSaul Wold
WARNING: For recipe binutils, the following files/directories were installed but not shipped in any package: WARNING: /usr/bin/embedspu Signed-off-by: Saul Wold <sgw@linux.intel.com>
2012-02-03binutils: fixes for build with an external csl toolchainChristopher Larson
Signed-off-by: Christopher Larson <chris_larson@mentor.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-24binutils: refactor packages for staticdevSaul Wold
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-12-22binutils: fix building on distros with matching binutils versionNitin A Kamble
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] Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2011-12-01binutils: fix for .debug files QA warningsNitin A Kamble
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 Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-11-29Introduce multiarch DISTRO_FEATUREJulian Pidancet
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. Signed-off-by: Julian Pidancet <julian.pidancet@gmail.com>