Commit Graph

238 Commits

Author SHA1 Message Date
Andre McCurdy
2d1b0452ba bitbake.conf: replace USE_LDCONFIG with new "ldconfig" distro feature
USE_LDCONFIG could previously be set to 0 by distros which do not
require ldconfig or ld.so.conf on the target. Since more and more
recipes may need to respect that option, replace the ad-hoc variable
with a distro feature.

Distros which previously set:

  USE_LDCONFIG = "0"

Should now instead use:

  DISTRO_FEATURES_BACKFILL_CONSIDERED_append = " ldconfig"

(From OE-Core rev: a905df2dd8f43a2febffa64a39b6e508510326a0)

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>
2017-03-04 23:18:19 +00:00
Khem Raj
cf6c8a94a4 glibc: Update to 2.25 release
(From OE-Core rev: dc55d982aa3d35fa08749b817dbfd87e499d01ab)

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>
2017-02-15 20:06:41 -08:00
Richard Purdie
bfd0a39bdf classes: Drop now unneeded update_data calls
Now that the datastore works dynamically we don't need the update_data calls
so we can just remove them. They're not actually done anything at all for
a while.

(From OE-Core rev: 8de0c5d3bd01919e2bf0394f9c485936d6098cec)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-15 09:29:55 -08:00
Richard Purdie
7d08a1340f glibc-package: Avoid race sstate races with do_stash_locale
The change to make do_stash_locale an sstate task between do_install and
do_package has some unforeseen problems since the function deletes part of
${D} but may or may not run depending on whether the task is installed from
sstate.

This cleans up the current "pre packaging" function to be more deterministic
and result in the same set of files, whichever code path we end up reaching
that point by. Its not an ideal sitation but it should avoid the race
failures we've seen on some builds.

(From OE-Core rev: 2a60bba00da9c4e2b1a1ce30e509dba82cc6c94a)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-09 10:52:03 +00:00
Richard Purdie
992d17c8e8 glibc: Separate locale files to their own sstate task
Putting the locale and script files into the sysroot for use by their
specific recipes used to be a simple way to share the files. With RSS,
we don't want to copy these into many different recipes so put these
files in their own sstate task.

(From OE-Core rev: c283f2532851e2a65e08fe7b3fd71c5d9abb70f2)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-02-07 14:50:09 +00:00
Richard Purdie
60662a2117 image/kernelsrc/packagegroups/recipes: Remove uneeded noexec tasks
We used to have issues removing tasks like do_fetch due to implications
for targets like world and universe. These have now been resolved.

Removing uneeded tasks has advantages compared to noexec since it means
that accidentally left in dependencies are no longer needed/processed
(e.g. do_patch depends on quilt-native).

This cleans up a number of cases which local analysis highlighted as
being unneeded leading to slightly cleaner task graphs.

(From OE-Core rev: 4e6ee37e09c60e83c0dfd844ba9cf8a07507f099)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-28 23:32:16 +00:00
Khem Raj
49fec741eb glibc: Upgrade to 2.25 snapshot
glibc 2.25 release is in freeze stage now

(From OE-Core rev: b72dbf70646e9dca0dbb5b22bc70d919e6eb8bdc)

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>
2017-01-23 12:05:22 +00:00
Richard Purdie
9107d6ca14 Switch to Recipe Specific Sysroots
This patch is comparatively large and invasive. It does only do one thing, switching the
system to build using recipe specific sysroots and where changes could be isolated from it,
that has been done.

With the current single sysroot approach, its possible for software to find things which
aren't in their dependencies. This leads to a determinism problem and is a growing issue in
several of the market segments where OE makes sense. The way to solve this problem for OE is
to have seperate sysroots for each recipe and these will only contain the dependencies for
that recipe.

Its worth noting that this is not task specific sysroots and that OE's dependencies do vary
enormously by task. This did result in some implementation challenges. There is nothing stopping
the implementation of task specific sysroots at some later point based on this work but
that as deemed a bridge too far right now.

Implementation details:

* Rather than installing the sysroot artefacts into a combined sysroots, they are now placed in
  TMPDIR/sysroot-components/PACKAGE_ARCH/PN.

* WORKDIR/recipe-sysroot and WORKDIR/recipe-sysroot-native are built by hardlinking in files
  from the sysroot-component trees. These new directories are known as RECIPE_SYSROOT and
  RECIPE_SYSROOT_NATIVE.

* This construction is primarily done by a new do_prepare_recipe_sysroot task which runs
  before do_configure and consists of a call to the extend_recipe_sysroot function.

* Other tasks need things in the sysroot before/after this, e.g. do_patch needs quilt-native
  and do_package_write_deb needs dpkg-native. The code therefore inspects the dependencies
  for each task and adds extend_recipe_sysroot as a prefunc if it has populate_sysroot
  dependencies.

* We have to do a search/replace 'fixme' operation on the files installed into the sysroot to
  change hardcoded paths into the correct ones. We create a fixmepath file in the component
  directory which lists the files which need this operation.

* Some files have "postinstall" commands which need to run against them, e.g. gdk-pixbuf each
  time a new loader is added. These are handled by adding files in bindir with the name
  prefixed by "postinst-" and are run in each sysroot as its created if they're present.
  This did mean most sstate postinstalls have to be rewritten but there shouldn't be many of them.

* Since a recipe can have multiple tasks and these tasks can run against each other at the same
  time we have to have a lock when we perform write operations against the sysroot. We also have
  to maintain manifests of what we install against a task checksum of the dependency. If the
  checksum changes, we remove its files and then add the new ones.

* The autotools logic for filtering the view of m4 files is no longer needed (and was the model
  for the way extend_recipe_sysroot works).

* For autotools, we used to build a combined m4 macros directory which had both the native and
  target m4 files. We can no longer do this so we use the target sysroot as the default and add
  the native sysroot as an extra backup include path. If we don't do this, we'd have to build
  target pkg-config before we could built anything using pkg-config for example (ditto gettext).
  Such dependencies would be painful so we haven't required that.

* PKDDATA_DIR was moved out the sysroot and works as before using sstate to build a hybrid copy
  for each machine. The paths therefore changed, the behaviour did not.

* The ccache class had to be reworked to function with rss.

* The TCBOOTSTRAP sysroot for compiler bootstrap is no longer needed but the -initial data
  does have to be filtered out from the main recipe sysroots. Putting "-initial" in a normal
  recipe name therefore remains a bad idea.

* The logic in insane needed tweaks to deal with the new path layout, as did the debug source
  file extraction code in package.bbclass.

* The logic in sstate.bbclass had to be rewritten since it previously only performed search and
  replace on extracted sstate and we now need this to happen even if the compiled path was
  "correct". This in theory could cause a mild performance issue but since the sysroot data
  was the main data that needed this and we'd have to do it there regardless with rss, I've opted
  just to change the way the class for everything. The built output used to build the sstate output
  is now retained and installed rather than deleted.

* The search and replace logic used in sstate objects also seemed weak/incorrect and didn't hold
  up against testing. This has been rewritten too. There are some assumptions made about paths, we
  save the 'proper' search and replace operations to fixmepath.cmd but then ignore this. What is
  here works but is a little hardcoded and an area for future improvement.

* In order to work with eSDK we need a way to build something that looks like the old style sysroot.
  "bitbake build-sysroots" will construct such a sysroot based on everything in the components
  directory that matches the current MACHINE. It will allow transition of external tools and can
  built target or native variants or both. It also supports a clean task. I'd suggest not relying on
  this for anything other than transitional purposes though. To see XXX in that sysroot, you'd have
  to have built that in a previous bitbake invocation.

* pseudo is run out of its components directory. This is fine as its statically linked.

* The hacks for wayland to see allarch dependencies in the multilib case are no longer needed
  and can be dropped.

* wic needed more extensive changes to work with rss and the fixes are in a separate commit series

* Various oe-selftest tweaks were needed since tests did assume the location to binaries and the
  combined sysroot in several cases.

* Most missing dependencies this work found have been sent out as separate patches as they were found
  but a few tweaks are still included here.

* A late addition is that extend_recipe_sysroot became multilib aware and able to populate multilib
  sysroots. I had hoped not to have to add that complexity but the meta-environment recipe forced my
  hand. That implementation can probably be neater but this is on the list of things to cleanup later
  at this point.

In summary, the impact people will likely see after this change:

* Recipes may fail with missing dependencies, particularly native tools like gettext-native,
  glib-2.0-native and libxml2.0-native. Some hosts have these installed and will mask these errors

* Any recipe/class using SSTATEPOSTINSTFUNCS will need that code rewriting into a postinst

* There was a separate patch series dealing with roots postinst native dependency issues. Any postinst
  which expects native tools at rootfs time will need to mark that dependency with PACKAGE_WRITE_DEPS.

There could well be other issues. This has been tested repeatedly against our autobuilders and oe-selftest
and issues found have been fixed. We believe at least OE-Core is in good shape but that doesn't mean
we've found all the issues.

Also, the logging is a bit chatty at the moment. It does help if something goes wrong and goes to the
task logfiles, not the console so I've intentionally left this like that for now. We can turn it down
easily enough in due course.

(From OE-Core rev: 809746f56df4b91af014bf6a3f28997d6698ac78)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-23 12:05:17 +00:00
Paul Eggleton
32da05fa8f meta: use require instead of include when file should exist
If the file is expected to exist, then we should always be using require
so that if it doesn't we get an error rather than some other more
obscure failure later on.

(From OE-Core rev: 603ae6eb487489e65da69c68e532cb767ccc1fc2)

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:11 +00:00
Richard Purdie
022a8b58c8 meta/scripts: Various getVar/getVarFlag expansion parameter fixes
There were a few straggling expansion parameter removals left for
getVar/getVarFlag where the odd whitespace meant they were missed
on previous passes. There were also some plain broken ussages such
as:

d.getVar('ALTERNATIVE_TARGET', old_name, True)
path = d.getVar('PATH', d, True)
d.getVar('IMAGE_ROOTFS', 'True')

which I've corrected (they happend to work by luck).

(From OE-Core rev: 688f7a64917a5ce5cbe12f8e5da4d47e265d240f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-01-09 13:39:11 +00:00
Joshua Lock
c4e2c59088 meta: remove True option to getVar calls
getVar() now defaults to expanding by default, thus remove the True
option from getVar() calls with a regex search and replace.

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

(From OE-Core rev: 7c552996597faaee2fbee185b250c0ee30ea3b5f)

Signed-off-by: Joshua Lock <joshua.g.lock@intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-12-16 10:23:23 +00:00
Yuanjie Huang
f4607a1d6b glibc: Enable backtrace from abort on ARM
ARM stack frames for abort and raise were limited to the the actual
abort and raise call, such as:

Obtained 4 stack frames.
./test-app(print_trace+0x1c) [0x10a08]
./test-app() [0x10b3c]
/lib/libc.so.6(__default_sa_restorer+0) [0x4adae1e0]
/lib/libc.so.6(gsignal+0xa0) [0x4adacf74]

This is not terribly useful when trying to figure out what function
may have called called the abort, especially when using pthreads.

After the change the trace would now look like:

Obtained 8 stack frames.
./test-app(print_trace+0x1c) [0x10a08]
./test-app() [0x10b3c]
/lib/libc.so.6(__default_sa_restorer+0) [0x4befe1e0]
/lib/libc.so.6(gsignal+0xa0) [0x4befcf74]
/lib/libc.so.6(abort+0x134) [0x4befe358]
./test-app(dummy_function+0x50) [0x10adc]
./test-app(main+0xd4) [0x10c24]
/lib/libc.so.6(__libc_start_main+0x114) [0x4bee7a58]

(From OE-Core rev: 93bf8713d8e13c278543baea94fb8dad0cb80e49)

Signed-off-by: Yuanjie Huang <yuanjie.huang@windriver.com>
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>
2016-12-13 22:55:21 +00:00
Kai Kang
40ae3ae8d1 glibc: fix CVE-2016-6323
Backport patch to fix CVE-2016-6323 of glibc. And remove the section of
file ChangeLog which can't be applied.

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

(From OE-Core rev: a3c2acee40c8875e311e03bff6906e7c93c491fc)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-11-23 11:10:12 +00:00
Zubair Lutfullah Kakakhel
2ce5582b03 glibc: Reduce duplication in MIPS variants
Reduce duplication in MIPS variants now that the MACHINEOVERRIDES
variable is defined

(From OE-Core rev: 5013504b8b406b47a66c84413cb7f8beb5c336c3)

Signed-off-by: Zubair Lutfullah Kakakhel <Zubair.Kakakhel@imgtec.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-11-15 15:19:52 +00:00
Zubair Lutfullah Kakakhel
561e7e1a53 glibc: Add mipsisa{32, 64}r6{el, } support
Add support for MIPS Release 6 ISA

The loader is located at a new place for multiarch.
For more details, check https://wiki.debian.org/Multiarch
and https://sourceware.org/glibc/wiki/ABIList#mips

(From OE-Core rev: 502145553e2368525a4b327c64d2971dac58d85b)

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

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

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

[YOCTO #9281]

(From OE-Core rev: d2eccccb70e809d482c493922f23aef4409cfd82)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-28 10:16:03 +01:00
Markus Lehtonen
72dc833d99 glibc-initial: use python3 instead of python (v2)
(From OE-Core rev: 6946a19fdc8853fbb02fd531b76d9d6d9a3febc3)

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-28 10:16:03 +01:00
Jérémy Rosen
059c5568a1 glibc: remove hard-coded reference to gcc -E
(From OE-Core rev: 2c0a72d4e7eafee225e702f4c91cd206bc05ec55)

Signed-off-by: Jérémy Rosen <jeremy.rosen@smile.fr>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-14 22:22:07 +01:00
Jagadeesh Krishnanjanappa
bf1954c700 glibc-scripts: add RDEPENDS on libsotruss package required by sotruss script
It solves below error observed on qemux86 target:
root@qemux86:~# sotruss ./hello
ERROR: ld.so: object '/usr/$LIB/audit/sotruss-lib.so' cannot be loaded as audit
interface: cannot open shared object file; ignored.
Hello World
root@qemux86:~#

With this change, we get:
root@qemux86:~# sotruss ./hello
          hello -> libc.so.6      :*__libc_start_main(0x8048300, 0x1,
0xbfc86274)
          hello -> libc.so.6      :*puts(0x804851c, 0xb74af000, 0x0)
Hello World
root@qemux86:~#

(From OE-Core rev: aa2d2161c5b41358f732e95199f0c066d4e2d77a)

Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-03 23:45:52 +01:00
Mark Hatle
63ac3520b4 glibc: Fix scope resolution in glibc to be breadth first.
The ELF specification indicates symbol resolution should be breadth first, not
depth first.

The dl-deps.c: dl_build_locale_scope function is processing in a depth first
mode.  This is causes certain symbols to be incorrectly reported when
LD_TRACE_PRELINKING=1 is enabled.

See glibc BZ #20488 for more information.

(From OE-Core rev: fb72263eaa94e64ddeee457b5b1bc999f0e647da)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-23 17:44:34 +01:00
Khem Raj
e884ceeaa3 glibc: Switch to 2.24 release branch
glibc 2.24 is released now
https://www.sourceware.org/ml/libc-alpha/2016-08/msg00212.html

(From OE-Core rev: 01fe48252085284e2964f5dd52b8b5fa54ee10d3)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-10 10:46:28 +01:00
Khem Raj
56aa9c8162 glibc: Update to 2.24 after hard-freeze
Drop upstreamed patch

(From OE-Core rev: 96f951af74dd8dcea1372249fb84c2c615a7bba3)

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-21 07:47:52 +01:00
Ross Burton
6494a59552 glibc: use the host locale archive in nativesdk builds
The nativesdk libc when used by buildtools has a hard requirement on supporting
a UTF-8 locale because Python 3 needs a UTF-8 locale.  However we currently only
ship the C locale, which means that Python attempts to lookup the user's locale
(for example, en_NZ.UTF-8) in the locale archive under it's prefix it fails and
falls back to C.  This the results in Python using ASCII instead of UTF-8 for
file encoding, and bitbake breaks.

Th obvious solution would be to ship all locales, but this would add
approximately 250MB to the size of the buildtools tarball (which is currently
around 30MB).  Generating a binary locale archive reduces this down to 100MB,
but this is still a drastic increase in footprint.  If we ship a subset of
locales in the tarball then there will be users whose locale isn't in the
tarball, and they'll have to change their locale to an "approved" one, which
isn't the best of messages to send to new users.

The alternative is to tell the nativesdk libc that the locale archive isn't
under it own prefix but is in fact at /usr/lib/locale/locale-archive, so the
buildtools libc uses the host locale archive. The locale archive format appears
to be at least fairly stable: our glibc 2.24 can read the locale archive
generated by glibc 2.17 (Centos 7).

[ YOCTO #9775 ]

(From OE-Core rev: 75321b6b0f2c0ac667b9350b387b01a188e195c8)

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
Ross Burton
a219424914 glibc: add more Imagination Meta relocation to elf.h
glibc master added the EM_METAG tag but didn't add the relocation defines.
However the kernel tooling only checks for EM_METAG when defining its own values
so scripts/recordmcount ends up using R_META_* symbols without their definition.

Whilst the kernel can and should be fixed, this breaks all users of recordmcount
so patch elf.h to add the values.

(From OE-Core rev: 61f73ae289bf8dfe72d5f4beaac966fb4ac8dc90)

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
Khem Raj
ea439968b6 glibc: Upgrade to latest tip of master
- libc-package.bbclass: Do not use --old-style
  This option has been dropped from latest glibc

(From OE-Core rev: 78ab1e7cdedc6a73395af5d053b49cf081416732)

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
Richard Purdie
0111181bbb nativesdk-glibc: Extend relocation support to locales
Currently locales are not found in a relocated buildtools-tarball
such as that used in eSDK. This breaks bitbake when used under python3.

This patch adds enough relocation magic to nativesdk-glibc so that
the binary locales can be found even in a relocated buildtools-tarball
and bitbake works successfully under python3. The eSDK also works
correctly after this change too.

(From OE-Core rev: faa1229ba848e7a4a90638a98d6c809065016a93)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-21 22:24:56 +01:00
Richard Purdie
6b3ac016d3 glibc-locale: Enable binary locale generation for nativesdk-glibc
python3 has much stricter locale requirements than previous versions.
If a locale isn't present, python3 reverts to ascii mode under which
bit
bake can't operate.

We therefore need working binary locales in things like uninative-tarball and buildtools-tarball. This patch enables binary locales for nativesdk-glibc.

(From OE-Core rev: 6993d18062bcc20713dd39399bd7cb3623853c75)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-21 22:24:56 +01:00
Richard Purdie
3eb00d6597 glibc: Add missing patch hunk back
This hunk of patch went missing during the glibc upgrade to 2.24
and without it, uninative-tarball doesn't work properly. This adds
it back so we can spin a new version of uninative.

(From OE-Core rev: a76cbbd5633301dfcd29f18545e1e6f32e3b2448)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-18 23:17:19 +01:00
Tim Orling
531c354e7e glibc-initial.inc: fix py3 SyntaxError in cfgscript print()
Update so this works with python3.

(From OE-Core rev: 20190566db6d77ee0ccd799587db3dfa35e8029a)

Signed-off-by: Tim Orling <timothy.t.orling@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-15 09:06:00 +01:00
Khem Raj
6d27c16ec0 glibc: Add recipes for 2.24 release
(From OE-Core rev: a0a10b4928c818c34fcd99e6a2bbb5db8cb60950)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-14 23:05:12 +01:00
Tristan Van Berkom
5f142040ba cross-localedef-native_2.22.bb: Use autotools configure
Use the autotools default configure commands and just tell autotools
where to run configure from.

This fixes the build when running on an aarch64 host, which the prebuilt
configure scripts with glibc 2.22 do not recognize.

(From OE-Core rev: 33d4c758a5d71435437dde74556d32404d91342f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-05-06 10:31:14 +01:00
Robert Yang
ef163aba20 glibc: remove unused CVE patches
They were CEVs and should be already in the source after upgraded.

(From OE-Core rev: e8a5332d467434ee65e0f29927abb9c51b025aff)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-04-06 22:57:26 +01:00
Clemens Lang
3ece01215a ldconfig-native: Fix ELF flags on 64-bit binaries
Yocto's ldconfig-native was exported from an old version of glibc and
generates an ld.so.cache that is partially ignored by current versions
of glibc when loading libraries. This occurs for 64-bit binaries, where
glibc expects FLAG_ELF_LIBC6, but ldconfig-native only generates the
standard ELF flag. Fix this with an additional patch on top of the patch
for now.

You can verify this by applying the patch below to your target copy of
glibc and running

  LD_DEBUG=libs /lib64/ld-linux-x86-64.so.2 --list $anybinary

 --- ./elf/dl-cache.c.orig       2016-01-07 11:05:36.823447171 +0100
 +++ ./elf/dl-cache.c    2016-01-07 11:19:53.925878628 +0100
 @@ -106,6 +106,8 @@
                 if (_dl_cache_check_flags (flags)                             \
                     && _dl_cache_verify_ptr (lib->value))                     \
                   {                                                           \
 +                   if (__glibc_unlikely (GLRO_dl_debug_mask & DL_DEBUG_LIBS))\
 +                       _dl_debug_printf ("  considering file %s\n", cache_data + lib->value); \
                     if (best == NULL || flags == GLRO(dl_correct_cache_id))   \
                       {                                                       \
                         HWCAP_CHECK;                                          \
 @@ -117,6 +119,9 @@
                              searching.  */                                   \
                           break;                                              \
                       }                                                       \
 +                 } else {                                                    \
 +                     if (__glibc_unlikely (GLRO_dl_debug_mask & DL_DEBUG_LIBS))              \
 +                       _dl_debug_printf ("  ignoring file %s due to flags %x, expected %x\n", cache_data + lib->value, lib->flags, GLRO(dl_correct_cache_id)); \
                   }                                                           \
               }                                                               \
             while (++middle <= right);                                        \
 @@ -265,14 +270,23 @@

        /* Only accept hwcap if it's for the right platform.  */
  #define HWCAP_CHECK \
 -      if (lib->hwcap & hwcap_exclude)                                        \
 +      if (lib->hwcap & hwcap_exclude) {                                              \
 +       if (__glibc_unlikely (GLRO_dl_debug_mask & DL_DEBUG_LIBS))            \
 +           _dl_debug_printf ("   hwcap mismatch %x vs. %x\n", lib->hwcap, hwcap_exclude); \
         continue;                                                             \
 -      if (GLRO(dl_osversion) && lib->osversion > GLRO(dl_osversion))         \
 +      }                                                                              \
 +      if (GLRO(dl_osversion) && lib->osversion > GLRO(dl_osversion)) {       \
 +       if (__glibc_unlikely (GLRO_dl_debug_mask & DL_DEBUG_LIBS))            \
 +           _dl_debug_printf ("   os version mismatch %x vs. %x\n", lib->osversion, GLRO(dl_osversion)); \
         continue;                                                             \
 +      }                                                                              \
        if (_DL_PLATFORMS_COUNT                                                \
           && (lib->hwcap & _DL_HWCAP_PLATFORM) != 0                           \
 -         && (lib->hwcap & _DL_HWCAP_PLATFORM) != platform)                   \
 -       continue
 +         && (lib->hwcap & _DL_HWCAP_PLATFORM) != platform) {                 \
 +       if (__glibc_unlikely (GLRO_dl_debug_mask & DL_DEBUG_LIBS))            \
 +           _dl_debug_printf ("   platform mismatch %x vs. %x\n", lib->hwcap & _DL_HWCAP_PLATFORM, platform); \
 +       continue;                                                             \
 +      }
        SEARCH_CACHE (cache_new);
      }
    else

This version of ldconfig-native should really be replaced with a version
matching the glibc source in use on the target platform.

(From OE-Core rev: bf9c1e6fa1c8eb86670383bad9b7c2e54bfe17f4)

Signed-off-by: Clemens Lang <clemens.lang@bmw-carit.de>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-31 13:18:06 +01:00
Richard Purdie
034618dbee glibc: Add relocation of GCONV_PATH
We're seeing various failures where nativesdk glibc can't find the gconv
modules. We've tried various workaround but this needs fixing 'properly'.
One significant problem is knowing when a binary would use this glibc
and hence when to set the path and when not to.

Add the default path to its own special section which the sdk
relocation script already knows how to handle and remap.

This significantly improves the usability of uninative.

(From OE-Core rev: d40cb4a359dbc5d762fabd996c29e468f5398dd9)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-03-07 11:55:38 +00:00
Andre McCurdy
77cfa2bcd7 glibc.inc: improve optimisation level sanity checking
- Avoid code duplication to handle -O, -O1 and -Os cases

- Consider the effective optimisation level only (avoids spurious
  warnings if multiple optimisation flags are present).

- Prefix warnings with PN instead of hardcoding "glibc" (avoids
  confusing warnings since the test is also applied to glibc-initial,
  nativesdk-glibc, nativesdk-glibc-initial, etc, and each could
  potentually have different optimisation flags).

(From OE-Core rev: 9d72015e3458c78a9f0d20ad3dc27c8a9bb1069c)

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-02-28 11:33:02 +00:00
Khem Raj
91a1baaf57 glibc: Upgrade to 2.23
Drop kconfig and options-group support
Forward port cross-localedef support
Assume ssp support in libc when building gcc-initial

(From OE-Core rev: 9c3d461c4d54d684b38ec4c038a1c3c2fb9923f0)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-21 09:32:43 +00:00
Armin Kuster
ef30119185 glibc: Security fix CVE-2015-7547
CVE-2015-7547: getaddrinfo() stack-based buffer overflow

(From OE-Core rev: 3f454361fc323119c2850aeb239171e40d085161)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-18 07:37:49 +00:00
Armin Kuster
c834ebc2ac glibc: CVE-2015-8776
it was found that out-of-range time values passed to the strftime function may
cause it to crash, leading to a denial of service, or potentially disclosure
information.

(From OE-Core rev: cf747f0bbcd53af41a7f3981ac65c2b6b6e668f8)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-18 07:37:49 +00:00
Armin Kuster
842177a113 glibc: CVE-2015-9761
A stack overflow vulnerability was found in nan* functions that could cause
applications which process long strings with the nan function to crash or,
potentially, execute arbitrary code.

(From OE-Core rev: 2859c809ac59789d0e631b5386bdf78a5d5c4f4c)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-18 07:37:49 +00:00
Armin Kuster
efa1ae5e45 glibc: CVE-2015-8779
A stack overflow vulnerability in the catopen function was found, causing
applications which pass long strings to the catopen function to crash or,
potentially execute arbitrary code.

(From OE-Core rev: e0f71f123147bf4f48cc90c7f26a50164ed4115e)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-18 07:37:49 +00:00
Armin Kuster
aefe1fadfa glibc: CVE-2015-8777.patch
The process_envvars function in elf/rtld.c in the GNU C Library (aka glibc or
libc6) before 2.23 allows local users to bypass a pointer-guarding protection
mechanism via a zero value of the LD_POINTER_GUARD environment variable.

(From OE-Core rev: bc51411d2edda908cbef733066d78a986dfec0c0)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-18 07:37:49 +00:00
Armin Kuster
7226ce2830 glibc-locale: fix QA warning
WARNING: QA Issue: glibc-locale: /glibc-binary-localedata-sd-in/usr/lib/locale/sd_IN/LC_CTYPE is owned by uid 1000, which is the same as the user running bitbake. This may be due to host contamination [host-user-contaminated]

fix type
(From OE-Core rev: d53a0d410ae2390528f1090a131cd3e16d7ebcc5)

Signed-off-by: Armin Kuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-07 22:53:32 +00:00
Jens Rehsack
c57ba52b70 cross-localedef-native: add ABI breaking glibc patch
Add patch from commit 96b1b5c127 to cross-localedef-native
to avoid broken images built with ENABLE_BINARY_LOCALE_GENERATION set to 1:

    $ sh -c "export LANG=de_DE; ls -la"
    sh: loadlocale.c:130: _nl_intern_locale_data: Assertion `cnt < (sizeof (_nl_value_type_LC_COLLATE) / sizeof (_nl_value_type_LC_COLLATE[0]))' failed.
    Aborted

(From OE-Core rev: be456fb6160bf4ef0e90ebe2014a349318d58310)

Signed-off-by: Jens Rehsack <sno@netbsd.org>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-02-06 23:10:45 +00:00
Hongxu Jia
e631be2bce glibc.inc: do not immediate expand SELECTED_OPTIMIZATION
We need to expand SELECTED_OPTIMIZATION later, so
do not immediate expansion, and do the work in
anonymous python function.

It is reasonable to give an error for -O0.

[YOCTO #7058]

(From OE-Core rev: 6fef0d528158e6317793b1ebfa26a7b5413c3e80)

Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-31 13:29:48 +00:00
Andre McCurdy
aff2f58b67 glibc-testing.inc: drop pruning of PATCH_GET from the testglibc script
PATCH_GET is no longer exported by bitbake.conf, so no longer needs
to be pruned from the glibc do_compile() environment.

(From OE-Core rev: 5865fdc103fb92007f00a238b925be43af1378f5)

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-01-30 11:37:03 +00:00
Ross Burton
44e9c3b779 meta: fix capitalisation in Upstream-Status
(From OE-Core rev: 4084bd02796358abd432104607d9c6569a7e0238)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-26 22:31:59 +00:00
Robert Yang
b2f1de35b4 glibc-initial.inc: use relative path to run configure
Avoid potential build path in output files.

[YOCTO #8894]

(From OE-Core rev: 54931e7d7e4c4bd547398542bb20b70506242561)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-01-18 11:47:03 +00:00
Richard Purdie
e0890b662e meta: Drop now pointless manual -dbg packaging
With the autodebug package generation logic, specifically setting FILES_${PN}-dbg
isn't needed in most cases, we can remove them.

(From OE-Core rev: 3ab59d49dd7c18e194b58d1248b4b87709b5a738)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-16 11:56:30 +00:00
Richard Purdie
0da1d71809 nopackages: Add class for recipes which don't generate packages
It turns out writing the same list of packaging tasks multiple
times in multiple places is error prone. Move this to a new class
'nopackages", migrate existing users and add glibc-initial and
libgcc-initial since we don't want packages for those recipes.

This means the sstate for those recipes won't be installed, saving
small amounts of build time and bandwidth.

A reference to the old package_write task is also dropped.

(From OE-Core rev: cece583d58f82a50c3a4eac876eb326ac3b8f5e5)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-14 22:30:57 +00:00
Alexander Kanavin
12ba5cc325 package_regex.inc: split GITTAGREGEX entries into recipe files
(From OE-Core rev: 589f5442372a7ab0f8bc40403e1739ce1cdd1cc0)

Signed-off-by: Alexander Kanavin <alexander.kanavin@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:51 +00:00
Ross Burton
cbfccc6394 glibc: fix libdir/libexecdir path confusion
$libdir/glibc is deleted if it doesn't exist but this is incorrectly assuming
what variables are used to create this directory.  In fact libexecdir is being
used in the Makefile so use that in the recipe too.

This fixes builds where libexecdir is changed.

(From OE-Core rev: 0c73dcb7c1c369a66e4c5804fcdd19f657426a5d)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-08 10:20:50 +00:00
Peter Seebach
09b4da6763 glibc/0029-fix-getmnt-empty-lines.patch: fix getmntent()
When confronted with an empty line, getmntent() can underrun
a buffer, possibly doing very strange things if it finds
additional space/tab characters. Backport the upstream fix.

(From OE-Core rev: 983a19a65a31b54a6f505181012bd311c28a0ae1)

Signed-off-by: Peter Seebach <peter.seebach@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:14 +00:00
Li Xin
533fc01da4 glibc: Backported a patch to fix glibc's bug(18589)
Also Fix LSB NG cases:
 * /tset/ANSI.os/locale/setlocale/T.setlocale 1 2 4 5 15
 * /tset/ANSI.os/string/strcoll_X/T.strcoll_X 1
 * /tset/LI18NUX2K.L1/base/wcscoll/T.wcscoll 1
 * /tset/LI18NUX2K.L1/utils/localedef/T.localedef 7
 * /tset/LI18NUX2K.L1/utils/sort/T.sort 1 3 17 19 33 35
 * /tset/LI18NUX2K.L1/utils/comm/T.comm 1 2
 * /tset/LI18NUX2K.L1/utils/ls-fh/T.ls-fh 2

This patch is backported from
https://sourceware.org/git/gitweb.cgi?p=glibc.git;h=6c84109cfa26f35c3dfed3acb97d347361bd5849

(From OE-Core rev: e88fe8f4c0ea70fb271d3a11e1a3bfcac4c92626)

Signed-off-by: Li Xin <lixin.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-12-01 21:32:12 +00:00
Ross Burton
521fac6cef glibc: fix Upstream-Status tag
(From OE-Core rev: 27debfb85c74ee7a4a13657e3aa4f3d1a326f776)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-25 07:50:31 +00:00
Mark Hatle
7b1763a248 glibc: Fix ld.so / prelink interface for ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA
A bug in glibc 2.22's ld.so interface for the prelink support causes
the displayed values to be incorrect.  The included path fixes this
issue.

   Clear ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA for prelink

   prelink runs ld.so with the environment variable LD_TRACE_PRELINKING
   set to dump the relocation type class from _dl_debug_bindings.  prelink
   has the following relocation type classes:

   where ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA has a conflict with
   RTYPE_CLASS_TLS.

   Since prelink doesn't use ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA, we
   should clear the ELF_RTYPE_CLASS_EXTERN_PROTECTED_DATA bit when the
   DL_DEBUG_PRELINK bit is set.

(From OE-Core rev: 12c86bdcc60c54e587a896b0dceb8bb6cc9ff7e3)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:34 +00:00
Juro Bystricky
c86957aeb8 glibc: Allow 64 bit atomics for x86
The fix consist of allowing 64bit atomic ops for x86.
This should be safe for i586 and newer CPUs.
It also makes the synchronization more efficient.

[YOCTO #8140]

(From OE-Core rev: 2b8c7aa51f6ac7f79c4834e04b697c04afc8beaf)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-10-29 22:09:53 +00:00
Otavio Salvador
6d68ba98f3 glibc/mmc-utils: Rename 'BRANCH' variable to 'SRCBRANCH' for clearness
The 'BRANCH' variable name has no explicit relation with the
SRC_URI. Using 'SRCBRANCH' makes it more obvious and easier to
identify.

This patch makes the use consistent across the metadata.

(From OE-Core rev: ed86bf9c327ceda3976e799ca453028382f277a7)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-28 12:00:20 +01:00
Richard Purdie
56b2c53ef0 glibc: Ensure OVERRIDES doesn't influence sstate checksum
Switching MACHINE was causing nativesdk-glibc to rebuild. This was
from the use of OVERRIDES in one of the functions. Exclude OVERRIDES
from the checksum to avoid this.

[patch to oe-selftest to ensure this doesn't regress follows]

(From OE-Core rev: 5e8993632e48e83aa4bab90363506b9d5f7a468f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-18 09:05:29 +01:00
Ross Burton
32472dcb4e glibc: don't require bash for nscd init script
The nscd init script uses #! /bin/bash but only really uses one bashism
(translated strings), so remove them and switch the shell to #! /bin/sh.

(From OE-Core rev: 487d4b4d5521ca490e22668ca66921504a1b898f)

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-18 09:05:22 +01: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
Roy Li
d0abea0133 packagegroup-core-nfs: provide the nfs-client IMAGE_FEATURES
provide the nfs-client IMAGE_FEATURES, to ease a user to only
install nfs client related files to image

(From OE-Core rev: bbdc808a8ea76369a36473c906991e25ca49c323)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-12 22:48:32 +01:00
Roy Li
170b89d986 glibc: package nscd related files
install nscd related configuration file, startup files, and package them,
make nscd easy to startup

(From OE-Core rev: 6d8351ac26295d2e5a693169bd2df95b89cb32fe)

Signed-off-by: Roy Li <rongqing.li@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-03 12:43:16 +01:00
Robert Yang
f62afbf633 glibc: use cross-rpcgen to replace host's rpcgen
There might be unexpected errors when use host's rpcgen.

[YOCTO #8181]

(From OE-Core rev: 7daac5798ac9e64efe00d8fca3adc463858a185d)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-24 23:46:54 +01:00
Martin Jansa
c1e7995c34 glibc-package: use ${PN} in INSANE_SKIP
* INSANE_SKIP_${PN}_append_aarch64 is causing following warning in some
  setups:
  WARNING: Variable key INSANE_SKIP_${PN} () replaces original key INSANE_SKIP_glibc ().
* in worst case this will be applied also for glibc-initial package
  which is using the same glibc-package.inc, but glibc-initial doesn't
  create any packages so we should be fine
* someone building for aarch64 should confirm verify that this
  INSANE_SKIP is still needed and cannot be fixed properly it was
  introduced in:
    commit aeb6f53dd607ceb0d2265a05c27f751109c73752
    Author: Mark Hatle <mark.hatle@windriver.com>
    Date:   Thu Dec 18 16:51:13 2014 +0800

    glibc-package: aarch64 enable symlink for ABI compliance

    aarch64 requires the ld.so to be present in /lib, even if the rest
    of the libraries are installed into an alternative directory.

    See: https://sourceware.org/glibc/wiki/ABIList

    Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
    Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>

(From OE-Core rev: 34ffa04a5030d23070aa4d389d1cc51438525670)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-19 18:05:42 +01:00
Khem Raj
625e0ec8b5 glibc: Consider adding -Wno-error in cases when not using -O2
glibc has recently turned on Werror globally which is good but then not
all option combos are well tested so there still remains cleanup needed
when not using -O2, so lets just disable Werror in such cases, until
fixed upstream

Change-Id: I2d491c360a15b0752c97ff77ee0faaeede6e8d2a
(From OE-Core rev: 52a90e8e592ddd228939e15d7fd0d69f3c1e816f)

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>
2015-08-19 18:05:34 +01:00
Khem Raj
b3ec91dd4c glibc: Package libmvec when built
libmvec is new library in glibc 2.22 and currently turned on by default
on x86_64. this helps in packaging it properly when its generated

Fixes warning like
WARNING: QA Issue: nativesdk-glibc: Files/directories were installed but
not shipped in any package:
  /usr/local/oecore-x86_64/sysroots/x86_64-angstromsdk-linux/lib/libmvec-2.21.90.so
  Please set FILES such that these items are packaged. Alternatively if
  they are unneeded, avoid installing them or delete them within
  do_install. [installed-vs-shipped]

(From OE-Core rev: f009e592fd5ef65c2417ec8cc131056a575a003f)

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>
2015-08-16 22:40:53 +01:00
Khem Raj
cb7368c110 glibc: Upgrade 2.21 -> 2.22
- git'ify the OE patches
- add_resource_h_to_wait_h.patch - dropped, we do not support that old
  perf anymore
- mips-rld-map-check.patch - Dropped because binutils is fixed for it
  see https://sourceware.org/ml/binutils/2011-12/msg00112.html
- initgroups_keys.patch - Folded into
  0026-eglibc-Forward-port-eglibc-options-groups-support.patch

Change-Id: Ib8e731b212f52b8ff12e2180babbc19970fb1ef1
(From OE-Core rev: 6ea08396dbb628140fd3289fc9fb19df97914326)

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>
2015-08-16 22:40:53 +01:00
Dmitry Eremin-Solenikov
7b56b2cf61 glibc: don't override TUNE_CCARGS for MIPS
Overriding TUNE_CCARGS this way breaks MULTILIB setup for MIPS. This
override disables multilib handling of tunes for TUNE_CCARGS, thus
enforcing glibc's TUNE_CCARGS to the TUNE_CCARGS of main DEFAULTTUNE.

Glibc perfectly build without this override for both simple and multilib
cases.

(From OE-Core rev: da5d21c3a1ae5d4767b803ba05dcce2f1b3d3808)

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-08-01 07:34:05 +01:00
Robert Yang
d890d81aa5 glibc: print PN when bbwarn
The current warning is:
WARNING: glibc: unable to generate header for spray.x

Which is easier to debug than:
WARNING: unable to generate header for spray.x

And remove the file before generate it again to fix the warning when
recompile:
file `bootparam_prot.h' already exists and may be overwritten
WARNING: unable to generate header for bootparam_prot.x
file `nlm_prot.h' already exists and may be overwritten
WARNING: unable to generate header for nlm_prot.x
[snip]

(From OE-Core rev: 5ae6d368a89d5f7f3c860f80aa8afb689053afd4)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-16 15:09:20 +01:00
Robert Yang
db18fed6f8 glibc: remove invalid ac_cv_path_KSH
There is no ac_cv_path_KSH in configure, can't find it
in config.log after remove, either.

(From OE-Core rev: 6b58670d8b8f2d1c1a7d5043652f48a364a0df5d)

(From OE-Core rev: f193559f5050ab11ec1ebe4ddf7744c502b4983a)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-16 15:09:16 +01:00
Robert Yang
4e9c3db01e glibc-initial: remove invalid sed command
There is no "{ (exit 1); exit 1; }; }" in configure any more, and also
remove chmod since sed command is removed.

(From OE-Core rev: e516e11d5998cdad45c670e22b980089e463a574)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-12 22:55:44 +01:00
Yuanjie Huang
09febe09dc ldconfig-native: Add 64-bit flag for ELF64 entries
ldconfig-native was grepped from an old version of glibc, and its output
lacks neccessary 64bit flag in entries.
Due to this defect, ctypes.util.find_library() python function fails to
detect any library due to the old file format that ldconfig-native
creates. This fix sets architecture-dependent 64bit flags for 64-bit ELF.

Since the host's elf.h may not have definition for new AArch64 machine
type, a work-around is added to correctly flag 64-bit ARM libraries.

(From OE-Core rev: 0b0e4d7aa64feded0a7bf89264d2367489808a38)

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>
2015-07-08 00:01:22 +01:00
Andre McCurdy
a44f203eab glibc: fix typo in add_resource_h_to_wait_h.patch
(From OE-Core rev: 6cb3078a9da332ae4c61347c8be1403d6fb1f9d0)

Signed-off-by: Andre McCurdy <armccurdy@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-07-07 13:33:26 +01:00
Richard Purdie
fed80c3d40 staging: Strip files in sysroot
Add functionality to strip binaries/libraries going into the sysroot. Whilst
this does fractionally slow down the build, it also significantly reduces the
size of the sstate cache files.

(From OE-Core rev: 30f3774f4cd5bbb8c1e6884aeff5af91ab053fc1)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-06-23 16:07:23 +01:00
Khem Raj
8a5df28e67 glibc: ignore for musl/uclibc but only for target recipes
we still need nativesdk  or native recipes for libc to come
from glibc, but only be ignored for target recipes types

Change-Id: Ibaf8114f2aef63f1eadf493b264e78cd928535a0
(From OE-Core rev: 66e4a0d10a382618fe925b33a9d6df3ee49297e2)

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
Andre McCurdy
9dbb2d2bc8 glibc: remove duplicate --disable-nscd from EXTRA_OECONF
An appropriate --enable-nscd or --disable-nscd option is added to
EXTRA_OECONF based on the 'libc-inet-anl' DISTRO_FEATURES check.

(From OE-Core rev: 05360e6e5e82395ef3a5035b62b805d22592d571)

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>
2015-06-03 16:38:47 +01:00
Andre McCurdy
1fd152fef3 glibc: Fix __memcpy_chk on non-SSE2 CPUs
Backport from upstream glibc:

  https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=132a1328eccd20621b77f7810eebbeec0a1af187

Note that the fix is only required when glibc is built for i686/multiarch,
so is not applicable in the default oe-core x86 configuration (which builds
glibc for i586 and therefore does not include SSE2 optimised memcpy etc).

(From OE-Core rev: e643b9bc4c459ea8b59573cf67f2494388e7a377)

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>
2015-06-03 16:38:46 +01:00
Juro Bystricky
55fe5a06d9 eglibc-use-option-groups: Conditionally exclude c++ tests
Some test programs written in c++ are still included in spite of
"libc-cxx-tests" being omitted from DISTRO_FEATURES_LIBC.
All .cc programs are compiled with g++.
g++ automatically specifies linking against the C++ library.
This patch conditionally excludes the following tests as well:

  bug-atexit3-lib.cc
  tst-cancel24.cc
  tst-cancel24-static.cc
  tst-unique3lib.cc
  tst-unique3lib2.cc
  tst-unique4lib.cc
  tst-unique3.cc
  tst-unique4.cc

Tested with DISTRO_FEATURES_LIBC_remove = " libc-cxx-tests"

[YOCTO #7003]

(From OE-Core rev: cef29abf0c699b8bd5c5b52ba15ee63bce5fc258)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-24 07:19:21 +01:00
Haris Okanovic
37fe48d801 glibc: CVE-2015-1781: resolv/nss_dns/dns-host.c buffer overflow
Backport Arjun Shankar's patch for CVE-2015-1781:

A buffer overflow flaw was found in the way glibc's gethostbyname_r() and
other related functions computed the size of a buffer when passed a
misaligned buffer as input. An attacker able to make an application call
any of these functions with a misaligned buffer could use this flaw to
crash the application or, potentially, execute arbitrary code with the
permissions of the user running the application.

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

(From OE-Core rev: c0f0b6e6ef1edc0a9f9e1ceffb1cdbbef2e409c6)

Signed-off-by: Haris Okanovic <haris.okanovic@ni.com>
Reviewed-by: Ben Shelton <ben.shelton@ni.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-18 09:23:03 +01:00
Richard Purdie
cf8c2e3c2e glibc: Fix x32 make race
On x32 builds, sysd-syscalls appears malformed since the make-target-directory
appears on the wrong line. This causes races during the build process where you can
see failures like:

Assembler messages:
Fatal error: can't create [...]glibc/2.21-r0/build-x86_64-poky-linux-gnux32/time/gettimeofday.os: No such file or directory
Assembler messages:
Fatal error: can't create [...]glibc/2.21-r0/build-x86_64-poky-linux-gnux32/time/time.os: No such file or directory

The issue is that the carriage return is being escaped when it should
not be. The change to sysd-syscalls with this change:

before:

"""
$(foreach p,$(sysd-rules-targets),$(objpfx)$(patsubst %,$p,time).os): \
                $(..)sysdeps/unix/make-syscalls.sh      $(make-target-directory)
        (echo '#include <dl-vdso.h>';
"""

after:

"""
$(foreach p,$(sysd-rules-targets),$(objpfx)$(patsubst %,$p,time).os): \
                $(..)sysdeps/unix/make-syscalls.sh
        $(make-target-directory)
        (echo '#include <dl-vdso.h>';
"""

which ensures the target directory is correctly created. Only x32 uses the vdso
code which contains the bug which is why the error only really appears on x32.

(From OE-Core rev: ae4729ed6c5e5443c42f8825dd85873f06a3570e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-05-14 11:44:00 +01:00
Khem Raj
2bdbadd053 glibc, packagegroup-self-hosted, packagegroup-core-lsb: Consider non-glibc libcs
Make skipping expression simpler to check for given libc
Make sure glibc specific items are covered with right override

Change-Id: I8b4a0b7cbfe38ffdc9320f798038c79c7220552b
(From OE-Core rev: 6f4be55ca66b4470aa46c0ae356070ed166f44ce)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-27 14:59:47 +01:00
Robert Yang
1674b5380c glibc: fix a typo
Fixed a typo:
name-target-directory -> make-target-directory

There is no name-target-directory, it should be make-target-directory,
this fixed the error:
/bin/bash: /path/to/elf/runtime-linker.T: No such file or directory
Makefile:361: recipe for target '/path/to/elf/runtime-linker.st' failed

(From OE-Core rev: 9e4880c5bee33032142bee18a63d7f4a9db4a55a)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-02 12:02:36 +01:00
Juro Bystricky
47dedbcb52 glibc-testing: Specify location of c++ header files
Glibc test suite contains several c++ files. They are built
with g++ -nostdinc. In this case the location of c++ include files
needs to be specified explicitly, or the programs may fail to build.

The header locations are assumed to be:
    sysroot/usr/include/c++/<version>
    sysroot/usr/include/c++/<version>/<machine>

The new code parses "configparms" to get the actual CXX and sysroot
used for the glibc test suite, then it queries CXX to determine
CXX <version> and CXX <machine>. With the known values for <version>
and <machine> the code composes a new value for c++-sysincludes
and appends "configparms" with that value.

[YOCTO #7081]

(From OE-Core rev: 35cd410bd3cfcd072df29e36cfe66b2c14cd3841)

Signed-off-by: Juro Bystricky <juro.bystricky@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-31 22:23:16 +01:00
Benjamin Esquivel
db4f1420ce glibc: avoid configure stall by feeding prompt
Addresses a stall (by prompt) condition of the run.do_configure at when
executed directly from the workdir, like when using the devshell.

[YOCTO 7369]

(From OE-Core rev: deb06c96dccdbc6da0f301653e9781ce2fe8173d)

Signed-off-by: Benjamin Esquivel <benjamin.esquivel@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 23:56:06 +00:00
Aníbal Limón
cffacfbc82 glibc/glibc-collateral.inc: Add LIC_FILES_CHKSUM to avoid warnings in manifest creation
Add licenses point to COMMON_LICENSE_DIR because glibc-collateral.inc is
a recipe that don't provide tarball/repo with LICENSE files.

(From OE-Core rev: 19fa084c92016ef87f6ad60c6985ec0d2bfd5c42)

Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-20 11:03:47 +00:00
Benjamin Esquivel
56f010f7ac glibc: 'yes' within the path sets wrong variables
The AC_EGREP_CPP macro is looking for a 'yes' string that is likely
to be found in the path where the file is stored. This false positive
match causes variables to be mistakenly set.

The fix is to use a more elaborated string instead.

This has to be done at the configure and the configure.ac files, because
a reconfigure does not happen in the regular build flow.

[YOCTO #6614]

(From OE-Core rev: fd0bf8f95227796435d22aa7a849a74106cf1eef)

Signed-off-by: Benjamin Esquivel <benjamin.esquivel@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-10 10:47:49 +00:00
Khem Raj
6e539bf7a5 glibc_2.21.bb: Fix condition to skip parsing the recipe for non-glibc libc
The condition should be uclibc 'or' musl then we know its not glibc
right now it checks with 'and' operator, that condition will never be
true

Change-Id: Ifc48e81fd0b3c18d8e1ef76a18c216dc6acda092
(From OE-Core rev: 6feef44751d98c55a2764d70c26d170f90b73f9d)

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>
2015-03-10 10:47:43 +00:00
Peter Urbanec
ecd052ebf9 glibc: Fix check for -Os.
The check is supposed to be for -Os, but it's actually testing -O0.

(From OE-Core rev: 32d01a341cac894617d47ab7ebe9485ec3c8ac92)

Signed-off-by: Peter Urbanec <openembedded-devel@urbanec.net>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-03-02 22:06:01 +00:00
Khem Raj
d6a2cf3cbe glibc: Help compile with -Os
When we modify to use -Os
-Werror doesnt go well with it, glibc needs to be
cleaned up for that but until then lets disable -Werror
when using -Os

Also updates the options group patch to work better with -Os.

(From OE-Core rev: 98e1dc574ef3be668d6a42232ad030d1af93c49f)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-24 23:12:18 +00:00
Khem Raj
d4f11d6d51 glibc: Dont offer to be parsed for non-glibc TCLIBC selection
We now can support musl along with uclibc and glibc
earlier when only alternative was uclibc this check was fine
but now we need to consider non-glibc vs glibc case instead of
uclibc vs glibc

Change-Id: Id794ce193c6557b5435002a8f9b6eb608738b696
(From OE-Core rev: 5d7bc14d22da87837741fefae5924571fdff750d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:36 +00:00
Martin Jansa
fe66853cde feature-arm-thumb.inc: respect ARM_INSTRUCTION_SET when adding thumb suffix
* this means that recipes with ARM_INSTRUCTION_SET explicitly changed
  to arm will be built in feed without thumb suffix, the same does apply
  for workdir, e.g. after "bitbake glib-2.0" you can see:

  tmp-glibc/work/armv5e-oe-linux-gnueabi:
  glib-2.0  glibc  glibc-initial

  tmp-glibc/work/armv5te-oe-linux-gnueabi:
  acl              db              gdk-pixbuf     kmod  ....

  and

  tmp-glibc/deploy/ipk:
  all  armv5e  armv5te  qemuarm

* feed config should be ok, because all default DEFAULTTUNEs always
  include "arm" variants of all supported PACKAGE_ARCHs

* for more details see
  http://lists.openembedded.org/pipermail/openembedded-core/2014-April/091960.html
  the toolchain path issues were resolved in 1.8

* add ARM_INSTRUCTION_SET = "arm" to glibc-collateral.inc and comment in
  glibc.inc to fix glibc-locale and glibc-scripts build

(From OE-Core rev: 3e760031f91fb87c3e2f62b77a117eb41164f259)

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-21 22:05:36 +00:00
Dan McGregor
a574f293fe glibc: Update to glibc 2.21 release tag
(From OE-Core rev: 530565c6cb77319f4cc49edeea6fec6be997415d)

Signed-off-by: Dan McGregor <dan.mcgregor@usask.ca>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-20 10:26:12 +00:00
Khem Raj
a488fd5b61 glibc: Upgrade 2.20 -> 2.21
Drop CVE backports and ppc/fpu detection patch which is not needed anymore
Forward port eglibc option groups patch
Default to using glibc 2.21

Additional patches needed to appease -Werror option

Change-Id: I1873097cec8387ea9e8186a255122938fc28c976
(From OE-Core rev: 6617cc92076764d51f0190786f8d62b8c99ae984)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-02-20 10:26:12 +00:00
Khem Raj
24ffda5438 glibc: Re-enable upstream __USE_KERNEL_XATTR_DEFS patch
Re-introduce

https://sourceware.org/git/?p=glibc.git;a=commit;h=fdbe8eae2b9aed74dabba1b0a189c5d7d61bf032

This patch was overzealously removed during option groups forward port

Change-Id: I8dd01902ae8e5ee8b5c6fc9dc39c7216952dca51
(From OE-Core rev: 24f02c8d1313a423cf219270a9aa55bccbe1893c)

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>
2015-02-08 08:00:26 +00:00
Juro Bystricky
c453597d44 eglibc-use-option-groups.patch: Various fixups
Build suppport for mutibyte character handling only when
__OPTION_EGLIBC_LOCALE_CODE evaluates to 1.
Fixes missing .out suffix for several tests to be built.
Fixes building of locales needed for several tests. Do not use
cross-localedef to build locales. Use localedef built with the
newly built libgc instead.

Fixes:
[YOCTO #6809] [YOCTO #6796] [YOCTO #6797]

(From OE-Core rev: f01800d46de95f55d7a90d4a2523788368f7c025)

Signed-off-by: Juro Bystricky <jurobystricky@hotmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-01-29 15:36:48 +00:00
Armin Kuster
6a63df761c glibc: CVE-2014-9402 endless loop in getaddr_r
The getnetbyname function in glibc 2.21 in earlier will enter an infinite loop
if the DNS backend is activated in the system Name Service Switch
configuration, and the DNS resolver receives a positive answer while processing
the network name.

(From OE-Core rev: f03bf84c179f69ef4800ed92a4a9d9401d0e5966)

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-01-29 15:36:48 +00:00
Saul Wold
08970d45bf glibc: Fix up minimal build with libc-libm
This addresses 2 issues discovered trying to build a minimal libc with
libm option.  By default nscd was always being built and without inet
enabled there were missing symbols.

[YOCTO #7108]

(From OE-Core rev: 89649881bcd0e76d6ee7c85c30e75bb01e1c004f)

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>
2015-01-16 23:08:28 +00:00
Mark Hatle
a1d75c2cf8 glibc-package: aarch64 enable symlink for ABI compliance
aarch64 requires the ld.so to be present in /lib, even if the rest
of the libraries are installed into an alternative directory.

See: https://sourceware.org/glibc/wiki/ABIList

(From OE-Core rev: aeb6f53dd607ceb0d2265a05c27f751109c73752)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:19 +00:00
Kai Kang
c4c7d863e4 glibc-locale.inc: add aarch64 to BINARY_LOCALE_ARCHES
Add aarch64 to var BINARY_LOCALE_ARCHES. In libc-packages.class, it is
used to work with other vars to check and add cross-localedef-native as
a dependecy correctly.

(From OE-Core rev: 6ff3cdcaf1585c5ac99803e54baacdf850e0dc39)

Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-23 10:18:17 +00:00
Armin Kuster
2cd226e747 glibc: CVE 2014-7817 and 2012-3406 fixes
(From OE-Core rev: 41eb5a1ae2a92034bed93c735e712d18ea3d9d1d)

Signed-off-by: Armin Kuster <akuster808@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-19 18:07:59 +00:00
Juro Bystricky
9fc63c57a8 eglibc: modified option-groups.h generation
option-groups.h only explicitely #defines options that are enabled.
EGLIBC options are typically pre-processed under the assumption that if
an option is not explicitely defined then it evaluates as 0.
This assumption is correct, but it generates a compiler warning
message each time an undefined symbol is being evaluated.
In order to remove the warnings, each EGLIBC option is now defined
as 1 if the option is enabled or as 0 otherwise.
The consequence is we cannot use #ifdef OPTION_XXX when evaluating
the option, we must always use #if OPTION_XXX.

[YOCTO #7001]

(From OE-Core rev: 7f1bdc331304a61a4836a5752bca210450b6c5b5)

Signed-off-by: Juro Bystricky <jurobystricky@hotmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-12-05 18:01:06 +00:00
Shan Hai
160b53b701 ldconfig-native: fix a endian-ness bug
Some header fields of ELF were read with wrong size on 64bit
big-endian machine, fix it by reading the fields with read64
instead of read32.

(From OE-Core rev: adbf0b1fdf897076e5e3dec2443c8927f315c2e6)

Signed-off-by: Par Olsson <Par.Olsson@windriver.com>
Signed-off-by: Shan Hai <shan.hai@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-11-04 10:27:10 +00:00
Khem Raj
b8740fd5ec glibc: Delete ldconfig when USE_LDCONFIG is not set
This avoids below QA error/warning
/sbin/ldconfig [installed-vs-shipped]

Change-Id: I028b692eefeaa6e0e0e6507ab4108caa29e41e91
(From OE-Core rev: 2b499db19cd9bd14292457716b50dc62ed90515d)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-30 13:01:21 +00:00
Joe Slater
38f02f1836 cross-localedef-native: provide SRCREV_FORMAT
Add SRCREV_FORMAT to provide a composite version number
for get_srcrev() in fetch2 code.

(From OE-Core rev: 87cda76a2f004813420d7730c4f2f74839d3c2df)

Signed-off-by: Joe Slater <jslater@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-24 17:36:16 +01:00
Saul Wold
07de72c185 glibc: remove bad patch snippet that eglibc forward ported
The s_sin.c patch undoes some code changes in glibc itself, these changes have nothing to
do with the option groups and I suspect crept in as part of the initial conversion.  Undoing
this patch also fixes a test failure in test-double and test-idouble.

[YOCTO #6808]

(From OE-Core rev: 5f225067dcb7244065f857d34e1041171844b243)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-10-10 16:44:33 +01:00
Khem Raj
0d3c79524c glibc: Incremental bump to 2.20 release branch
Now that glibc 2.20 has been released. We switch
to use release branch and remove the already applied
patch

(From OE-Core rev: 70bfccd8e13af712381b4feea3ef882369951264)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-10 11:33:26 +01:00
Khem Raj
54a3375a10 glibc: Migrate eglibc 2.19 -> glibc 2.20
- This is a big swoop change where we switch to using glibc
- option-groups are forward ported
- cross-localedef is extracted out from eglibc and hosted
  at github.com/kraj/localedef, its used for cross-localedef
  recipe
- Other non ported patches from eglibc are forward ported
  ppc8xx cache line workaround
  SH fpcr values
  dynamic resolver
  installing PIC archives is there but is not applied
  libc header bootstrap

- Delete eglibc recipes we moved back to using glibc now
- Fix ppc/e500 build

- Fix crypt module build when options are used
- Fix fnmatch build when options OPTION_EGLIBC_LOCALE_CODE is unset
  HAVE_MBSTATE_T and HAVE_MBSRTOWCS should be defined conditionally
  based upon OPTION_EGLIBC_LOCALE_CODE being set/unset
- Move the ports/ patches to relevant files now that ports is gone

(From OE-Core rev: 1027c535ea753e63d9ffe469a423e04467cf8940)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-01 18:02:21 +01:00
Phil Blundell
7dc2732b28 glibc: deleted
Glibc 2.10.1 is outdated now and eglibc seems to provide a superset of
its functionality.

(From OE-Core rev: 1d9866a2c4fe93202749a56c7ad89a3cbd07d9f8)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-01 14:16:55 +01:00
Saul Wold
4a6109fc36 Patches: Fix Upstream-Status info
(From OE-Core rev: f2a5b2d143fff8337d2f0d024bc593c55f56a3a3)

Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-13 12:29:20 +01:00
Nitin A Kamble
4a438bec75 glibc: fix false failure
do not just fail if grep does not match the locale name in the list

(From OE-Core rev: 6fdbd9129c602fd58179e5880e070c1ec7ea5540)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-13 12:15:45 +01:00
Richard Purdie
8511d1ec1b Drop PRIORITY variable
As discussed on the mailing list, this variable isn't useful and if wanted
would be better implemented by distros using pn-X overrides.

This patch executes:

find . -regex ".*\.\(bb\|inc\)$" | xargs sed -i '/^PRIORITY = ".*"$/d'

against the tree removing the referenced. Thanks to Phil Blundell for
the command.

(From OE-Core rev: d122343362669c683acc4af295971a62cbc823fc)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-07-01 23:27:29 +01:00
Richard Purdie
8bdb4de37c glibc/eglibc: Clean up package warnings and potentially broken data in -dev package
These changes ensure files packaged in the -locale package aren't included
in the main do_install and also ensures the staging directory used for
the -locale package doesn't end up in the -dev package.

(From OE-Core rev: 2dccb370e04bc2bbe208b2b0541077d8ef519535)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-29 14:28:03 +01:00
Richard Purdie
0401f41958 libc-locale: Fixup various packaging warnings
After the recent locale changes there were warnings about many unpackaged files.
Fix this by directing libc-package.bbclass to operate directly on the files in
the sysroot and adding packaging for .debug files in this package.

Also sync up the eglibc and glibc versions of this code more closely.

(From OE-Core rev: 1a3a76e4652b95b640c287cb3672ccc146b023ca)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-29 14:28:03 +01:00
Richard Purdie
eb1c557d02 libc-locale: Drop PN-locale packages
These never seem to have been generated and matched no known FILES anyhow.

This ensures localedef makes it into the correct package too.

(From OE-Core rev: 8ee5160e8978d73ade2830c9f64df4c0009c0525)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-28 17:13:19 +01:00
Richard Purdie
35e15c2d92 glibc/eglibc: Add missing PR bump
(From OE-Core rev: 43d1f8aefac0d25547530a5f26effbffaaf4d9d0)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-28 13:44:42 +01:00
Dongxiao Xu
8fa9d64f1d libc-locale: split locale handling from libc recipe.
*libc's do_package will cost a lot of time due to the locale handing,
which may delay the other recipe's do_package task and affect the build
performance.

This commit moves locale handling into a separate recipe *libc-locale.

[RP: Add fixup with recent eglibc commit conflict for FILES_pn-dbg and PACKAGES]
(From OE-Core rev: c6d3242f7642f537b02870bb4eb650f0e2094b85)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-28 13:44:41 +01:00
Nitin A Kamble
e080d8e18e gcc: remove unused patches and move patches in proper dir
gcc: update upstream-status for patches

python: update upstream-status for patches

libtool: update upstream-status of patches

m4: update upstream status for patches

eglibc: remove unused patches

eglibc: update upstream status of patches

glibc: update upstream-status of patches & remove unused patches

(From OE-Core rev: d10df0e5a363fe8b305ffac7e8ac231da8e07552)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-18 14:32:47 +01:00
Dongxiao Xu
9fe00e1424 recipes: Add upstream status information for patches
gypsy: Add upstream status information for gypsy's patch
alsa-utils: fix upstream status typo
pulseaudio: add upstream status for pulseaudio-0.9.15's patches
hostap: add upstream status for hostap's patch
glibc: add upstream status for glibc's patch
glib-2.0: add upstream status for glib-2.0's patch
mtd-utils: add upstream status for mtd-utils patches
add upstream status for opkg's patches
mark add_vercmp.patch as inappropriate since the added function is not
used.

(From OE-Core rev: b0052e9467608cdc2e3b85f5b718e6b9c03d44ca)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-17 17:17:39 +01:00
Dongxiao Xu
62e9c9e163 recipes: add Upstream-Status for multiple recipes
hostap: add upstream status for hostap-fw-load.patch
lrzsz: add upstream status for lrzsz's patches
bluez: add upstream status for bluez's patches
bluez-dtl1-workaround: add upstream status for COPYING.patch
libgsmd: add upstream status for gsm's patches.
gypsy: add upstream status for gypsy's patch
libpcap: add upstream status for libpcap's patches
ppp: add upstream status for ppp's patches
libtelepathy: add upstream status for libtelepathy's patches
telepathy-python: add upstream status for telepahty-python's patches
wireless-tools: add upstream status for wireless-tools's patches
wpa-supplicant: add upstream status for wpa-supplicant
zeroconf: add upstream status for zeroconf's patch
glibc: add upstream status for glibc's patches
dpkg: add upstream status for dpkg's patches
makedevs: add upstream status for makedevs's patch
opkg: add upstream status for opkg's patches
opkg-utils: add upstream status for opkg-utils's patch
minicom: add upstream status for minicom patches
rpcbind: add upstream status for rpcbind's patch
which: add upstream status for which's patch
clutter-gst: add upstream status for clutter-gst's patches
flac: add upstream status for flac's patches
gst-ffmpeg: add upstream status for gst-ffmpeg's patch
liba52: add upstream status for liba52's patch
libid3tag: add upstream status for libid3tag
libmusicbrainz: add upstream status for libmusicbrainz's patch
pulseaudio: add upstream status for pulseaudio patches
db: add upstream status for db's patch
neon: add upstream status for neon's patch
taglib: add upstream status for taglib's patches
libetpan: add upstream status for libetpan's patch
libopensync: add upstream status for libopensync's patches
libopensync-plugin-evolution2: add upstream status for its patch
libopensync-plugin-syncml: add upstream status for its patch
libsyncml: add upstream status for libsyncml's patch
empathy: add upstream status for empathy's patch
wv: add upstream status for wv's patch
xournal: add upstream status for xournal's patch

(From OE-Core rev: 0f9f0518ac46c2f2beb0224e881ff136f1603d33)

Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-13 10:28:59 +01:00
Darren Hart
fc934af7c8 logging: update existing oe* logging users to the bb* interface
The new bash logging class provides bbnote, bbwarn, bbfatal, and bbdebug
replacements (as well as bbplain and bberror) for the oe* equivalents. Use the
new bb* API in preparation to delete the oe* logging API.

This patch was automatically generated by a sed script. The result has been
visually inspected and used to build core-image-sato for qemux86.

(From OE-Core rev: a1f09fce5caba389d0484b169f0cde85d64514fa)

Signed-off-by: Darren Hart <dvhart@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-04 00:54:37 +01:00
Nitin A Kamble
f897723207 ldconfig-native-2.12.1: newer recipe with eglibc sources
This fixes [YOCTO #780]

Handle the input/output data with different endian-ness correctly
Also fix the definition of LD_SO for cross environment

And remove the older 2.5 version of ldconfig-native recipe

(From OE-Core rev: 694db055f3729662e0e0193a31f2098be599877f)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-04-04 23:56:31 +01:00
Tom Rini
bc7967f041 Various: Switch to using GNU_MIRROR
(From OE-Core rev: bd9e899d1b07813c78f2dc2e5c46a67937839065)

Signed-off-by: Tom Rini <tom_rini@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-03-23 15:44:02 +00:00
Richard Purdie
be92622339 Remove all comments from multiline expressions (as mentioned in bug #704)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-02-22 21:45:28 +00:00
Richard Purdie
c0e1272d15 gcc/libc: Change bootstrap to use an intermediate sysroot and hence no longer overwrite files
Based upon patches from Dexuan Cui <dexuan.cui@intel.com>

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-01-25 12:25:45 +00:00
Dexuan Cui
34729e4f82 gcc-cross-initial, gcc-crosssdk-initial: change CROSS_TARGET_SYS_DIR and insall into new locations
Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2011-01-25 10:59:18 +00:00
Koen Kooi
0e8f0f0a03 RDEPENDS, RRECOMMENDS -> RDPEPENDS_${PN}, RRECOMMENDS_${PN}
For these recipes the dependencies listed in RDEPENDS and RRECOMMENDS only apply to ${PN}

Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-30 10:03:10 +00:00
Richard Purdie
f54168be7e ldconfig-native: Add LIC_FILES_CHKSUM
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-12-24 10:04:00 +00:00
Mark Hatle
fa647b9176 recipes-core: Cleanup package descriptions and summaries
[BUGID #281]

Evaluate and update each package in recipes-core to ensure they have a
consistent summary and description.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-10-11 22:15:10 +01:00
Nitin A Kamble
2f19e2a1e6 libc-package.bbclass, eglibc, glibc: enable locales generation using cross-localedef
Along with qemu this provides another option to generate locales for
[e]glibc. The new method is to use cross-localedef with appropriate arch
specific parameters.

The cross-localedef method is found to be 15 times faster than qemu's
emnualted method.

LOCALE_GENERATION_WITH_CROSS-LOCALEDEF : This is new config variable
introduced to selet qemu or cross-localedef method for locale generation.

Thanks to Mark Hatle from Windriver for providing the rich
information for cross locale generation.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
2010-10-07 22:53:28 +01:00
Qing He
0f55d28a4d glibc & eglibc: fix mips DT_MIPS_RLD_MAP checking
On mips target, binutils currently sets DT_MIPS_RLD_MAP to 0 in dynamic
section if a --version-script sets _RLD_MAP to local. This is apparently
a binutils bug, but libc shouldn't segfault in this case.

Add sanity check on the entry to avoid segfault, fixes [BUGID #287].

Signed-off-by: Qing He <qing.he@intel.com>
2010-09-27 08:59:16 -07:00
Dexuan Cui
8c33bfc84a [e]glibc-package.inc: fix multiple providers for glibc-gconv-iso8859-1
This commit fixes the following error while doing this:
bitbake poky-image-sato

ERROR: Conflicting PREFERRED_PROVIDER entries were found which resulted in an attempt to select multiple providers (['virtual:nativesdk:/distro/dcui/dexuan/meta/recipes-core/eglibc/eglibc_2.12.bb', '/distro/dcui/dexuan/meta/recipes-core/eglibc/eglibc_2.12.bb']) for runtime dependency glibc-gconv-iso8859-1 The entries resulting in this conflict were: ['PREFERRED_PROVIDER_virtual/libc-nativesdk = eglibc-nativesdk', 'PREFERRED_PROVIDER_virtual/libc = eglibc']
NOTE: multiple providers are available for runtime glibc-gconv-iso8859-1 (eglibc, eglibc-nativesdk, glibc-nativesdk, glibc, external-csl-toolchain, external-poky-toolchain)
NOTE: consider defining a PREFERRED_PROVIDER entry to match glibc-gconv-iso8859-1

And bumped PR.

This partly fixes [BUGID #329]

Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
2010-09-21 23:36:59 +01:00
Jeff Polk
2e9d981d76 autotools: enable siteconfig by default
eglibc glibc ncurses uclibc zlib: remove explicit siteconfig

Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
2010-09-10 12:57:16 +01:00
Nitin A Kamble
d6e8013a8c [e]glibc-package.inc: fix providers for libsegfault and other
[e]glibc-nativesdk should not be providing libsegfault.

This commit fixes the following error while doing this:
bitbake poky-image-minimal-initramfs

DEBUG: providers for libsegfault are: ['glibc-nativesdk', 'glibc',
'eglibc-nativesdk', 'external-csl-toolchain', 'eglibc',
'external-poky-toolchain']
DEBUG: selecting
virtual:nativesdk:/rphome/poky/meta/recipes-core/glibc/glibc_2.10.1.bb
as PREFERRED_VERSION 2.10.1 of package glibc-nativesdk (for item
libsegfault)
DEBUG: selecting /rphome/poky/meta/recipes-core/glibc/glibc_2.10.1.bb as
PREFERRED_VERSION 2.10.1 of package glibc (for item libsegfault)
NOTE: checking PREFERRED_PROVIDER_glibc-nativesdk
NOTE: checking PREFERRED_PROVIDER_glibc-nativesdk-2.10.1
NOTE: checking PREFERRED_PROVIDER_glibc-nativesdk-2.10.1-r3
NOTE: checking PREFERRED_PROVIDER_virtual/libc-nativesdk
NOTE: selecting glibc-nativesdk to satisfy runtime libsegfault due to
PREFERRED_PROVIDER_virtual/libc-nativesdk = glibc-nativesdk

And bumped PR.

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-10 12:53:46 +01:00
Richard Purdie
51dd0269bc ldconfig-native: Set LICENSE
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-07 18:08:01 +01:00
Jeff Polk
f5389267b0 glibc: Add siteconfig cache generation
Signed-off-by: Jeff Polk <jeff.polk@windriver.com>
2010-09-03 10:50:02 +01:00
Kevin Tian
9f60a6fbfb glibc-package.inc: disable build-time locale generation for nativesdk
The idea of build-time locale generation is documented in glibc-package.inc:

    Binary locales are generated at build time if ENABLE_BINARY_LOCALE_GENERATION
    is set. The idea is to avoid running localedef on the target (at first boot)
    to decrease initial boot time and avoid localedef being killed by the OOM
    killer which used to effectively break i18n on machines with < 128MB RAM.

However it doesn't make sense to do same thing for glibc-nativesdk, as the
build system is powerful. More importantly is that ideally host_arch running
sdk may even be out of the support list of target_arch by qemu-native.

Regarding to above rationale, this commit disables build time locale
generation to avoid following error when asking qemu to run localdef:

NOTE: /opt/poky/sysroots/i586-pokysdk-linux/lib/ld-linux.so.2: No such file or directory

nativesdk binaris have opt path hardcoded to avoid mess with host bits, which
is another reason that build time locale generation is not feasible here.

This fixes [BUGID #264]

also add 'nativesdk' to eglibc per RP's suggestion

Signed-off-by: Kevin Tian <kevin.tian@intel.com>
2010-09-03 09:30:26 +01:00
Nitin A Kamble
561d875404 libc-package.bbclass: merge glibc & eglibc class files
Other enhancements:
 print qemu's stdio & error on failure
 glibc: enable locale generation for all arches
 eglibc: enable binary locale generation for mips

And cleanup of code based on the code review.

[e]glibc: move common definition in the common file

bitbake was complaining about duplicate definition of
get_libc_fpu_setting in eglibc.inc & glibc.inc
files.

And bump PRs

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
2010-09-02 09:52:31 +01:00
Richard Purdie
29d6678fd5 Major layout change to the packages directory
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>
2010-08-27 15:29:45 +01:00