Age | Commit message (Collapse) | Author | Files |
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Ross Burton <ross.burton@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
Signed-off-by: Matthew McClintock <msm@freescale.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.
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
* 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>
|
|
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>
|
|
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>
|
|
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
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>
|
|
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
Signed-off-by: Saul Wold <sgw@linux.intel.com>
|
|
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>
|
|
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>
|
|
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>
|
|
bfd.h conflicts between 32-bit and 64-bit versions.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
To fix these package qa warnings
WARNING: For recipe binutils, the following files were installed but not shipped in any package:
WARNING: /usr/bin/ld.bfd
WARNING: /usr/bin/elfedit
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
|
|
Without this, compiler errors such as:
configure:33440: i586-poky-linux-gcc -march=i586 --sysroot=/media/build2/builds/rptest/b2/tmp/sysroots/qemux86 -o conftest -D_REENTRANT -Wl,-O1 -Wl,--as-needed conftest.c -lpthread >&5
/media/build2/builds/rptest/b2/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.6.0/as: /media/build2/builds/rptest/b2/tmp/sysroots/x86_64-linux/usr/bin/i586-poky-linux/../../../usr/lib/libz.so.1: no version information available (required by /media/build2/builds/rptest/b2/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.6.0/as)
/media/build2/builds/rptest/b2/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.6.0/ld: /media/build2/builds/rptest/b2/tmp/sysroots/x86_64-linux/usr/bin/i586-poky-linux/../../../usr/lib/libz.so.1: no version information available (required by /media/build2/builds/rptest/b2/tmp/sysroots/x86_64-linux/usr/libexec/i586-poky-linux/gcc/i586-poky-linux/4.6.0/ld)
can be see. This is due to the compiler being built against the system
zlib, before zlib-native is built and in the sysroot. Once that has been
built it can confuse the linker depending on the relative library versions.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
|
|
When TARGET_PREFIX and TARGET_SYS didn't match up, the symlinks and
update-alternatives weren't working. TARGET_PREFIX is what we use when
configuring so it's what we should be using here.
This is 79b497edc0ce5d54db564818e59b690d3391d6ce from OE.
Signed-off-by: Tom Rini <tom_rini@mentor.com>
|
|
binutils.inc exports its own ${CC} which is similar to default ${CC}
but missing ${TOOLCHAIN_OPTION}, which makes --sysroot option lost
when compiling target binutils which then further breaks sstate.
Signed-off-by: Kevin Tian <kevin.tian@intel.com>
|
|
Cleanup some simple whitespace / line break issues.
Signed-off-by: Scott Garman <scott.a.garman@intel.com>
|
|
Add Summary information and update Descripts as necessary.
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
|
and also correct the license field in the recipe
This fixes [BUGID #245]
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
|
|
Having one monolithic packages directory makes it hard to find things
and is generally overwhelming. This commit splits it into several
logical sections roughly based on function, recipes.txt gives more
information about the classifications used.
The opportunity is also used to switch from "packages" to "recipes"
as used in OpenEmbedded as the term "packages" can be confusing to
people and has many different meanings.
Not all recipes have been classified yet, this is just a first pass
at separating things out. Some packages are moved to meta-extras as
they're no longer actively used or maintained.
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
|