Commit Graph

42 Commits

Author SHA1 Message Date
Robert Yang
f302012bdd prelink: Fix Segmentation fault error when prelink qemu
The info->resolvetls might be NULL according to src/prelink.c:
[snip]
 /* Dynamic linker does not depend on any other library,
    all symbols resolve to themselves with the exception
    of SHN_UNDEF symbols which resolve to 0.  */
if (info->symtab[r_sym].st_shndx == SHN_UNDEF)
  {
    info->resolveent = NULL;
    info->resolvetls = NULL;
[snip]

So we must check it before use its members, otherwise, there might be
Segmentation fault error.

Fixed:
MACHINE = "qemumips"
IMAGE_INSTALL_append = " qemu"
$ bitbake core-image-minimal
[snip]
| /path/to/qemumips-poky-linux/core-image-minimal/1.0-r0/temp/run.prelink_image.1000: line 111:  1010 Segmentation fault      (core dumped)
[snip]

(From OE-Core rev: 7f5d6f6b70cb1eb486d3ff5c029fc3c6202fc826)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-10-12 16:57:21 +01:00
Richard Purdie
c710430aa1 Revert "prelink: Fix SRC_URI and branch"
This reverts commit bd8470dcaebddf37bf889d3dffd3dcb53d367f23.

It breaks prelink since its using the master branch which doesn't contain
the cross changes.

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-06 14:49:28 +01:00
Khem Raj
270b5581a3 prelink: Fix SRC_URI and branch
(From OE-Core rev: bd8470dcaebddf37bf889d3dffd3dcb53d367f23)

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-06 10:36:31 +01:00
Mark Hatle
6b00b697cf prelink: Update to the latest version of prelink
The new version of prelink includes the fix for a segmentation fault due to
using e_shnum vs e_shstrndx.

In addition the following changes are incorporated:

    2018-08-29   Khem Raj <raj.khem@gmail.com>
	* src/elf.h: Add RISC-V defines
	* src/rtld/dl-tls.c: Add RISC-V support
	* src/rtld/rtld.c: Add RISC-V support

    2018-08-29  Robert Yang  <liezhi.yang@windriver.com>
	* src/dso.c: use ehdr.e_shstrndx as index

    2017-06-20  Andrew Stubbs  <ams@codesourcery.com>
	* src/arch-x86_64.c (x86_64_prelink_conflict_rela): Also convert
	R_X86_64_32 conflicts to R_X86_64_IRELATIVE for ifuncs.
	* src/arch-x86_64.c (PL_ARCH(x32)): Set mmap_end to 0x60000000.

    2017-06-20  Joseph Myers  <joseph@codesourcery.com>
	* src/rtld/rtld.c (load_ld_so_conf): Add argument use_x32.
	(main): Update call to load_ld_so_conf.

    2017-06-20   Kyle Russell <bkylerussell@gmail.com>
	* src/rtld/rtld.c: Add missing DT_NEEDED DSOs to needed_list

(From OE-Core rev: 1f0568c6b8982f814f630193fb5114db489afcaf)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-09-06 10:36:31 +01:00
Robert Yang
0f327c393f prelink: use ehdr.e_shstrndx as index rather than ehdr.e_shnum
[YOCTO #12791]

According to struct elf32_hd, the e_shnum is section header number, and the
index is e_shstrndx, not e_shnum.

This can fix segmention fault when handle libqb.so.0.18.2 from libqb_1.0.3.
It fails to handle libqb.so.0.18.2 and get errors:
Symbol section index outside of section numbers

Then segmentation fault, this is because the e_shnum is 34, while e_shstrndx is
27 (it would be 33 when no errors), I've checked several elf files to confirm
that the ones after e_shstrndx is NULL, so use e_shstrndx should be correct.

Fixed:
MACHINE="qemux86-64"
IMAGE_INSTALL_append = " libqb" #libqp is from meta-openembedded
$ bitbake core-image-minimal
Segmention fault

(From OE-Core rev: b7c291ee6532cba845ee6bfbbaa21076a2b2cbe5)

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2018-08-16 22:40:27 +01:00
Nathan Rossi
76da3ebb9d prelink_git.bb: Update recipe to newest commit
Update prelink to the newest commit on the cross_prelink ref. This
includes the following changes:

  05aeafd053 Disable automatic generation of prelink.pdf
  aa2985eefa src/rtld: Add MicroBlaze support based on glibc-2.24
  62f80843f8 README: update information on reloc8/reloc9 failures

The primary purpose of this update is to enable the added MicroBlaze
rtld support so as to enable gobject-introspection for MicroBlaze.

(From OE-Core rev: 8cab8f79b73e72256a2d7940f4973ebfd36e232b)

Signed-off-by: Nathan Rossi <nathan@nathanrossi.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-12-18 18:03:57 +00:00
Alexander Kanavin
e4f7ae23d1 oe-core: take UPSTREAM_CHECK_COMMITS into use where possible
This greatly reduces the amount of recipes for which upstream
version check fails: from about 30 to about 8.

(From OE-Core rev: bb9066670a6096aa4134bebc84132b4eb3964b6d)

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>
2017-11-30 10:49:22 +00:00
Alexander Kanavin
df645a936a prelink: fix upstream version check
Instead of reporting that we can update to a bogus version
report that upstream version is not known.

(From OE-Core rev: 8cf2e5b1d9c0b5d3133dc9e341051c40d695f2a9)

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>
2017-10-16 23:52:44 +01:00
Huang Qiyu
d75c3b6360 prelink: Add HOMEPAGE info into recipe file.
(From OE-Core rev: 8570a101b1befd988b75c577eb75b35398fe6993)

Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-10-07 23:20:39 +01:00
Mark Hatle
05a6710467 prelink: Change the behavior to avoid checking USER_CLASSES
The behavior before this change was to check USER_CLASSES and adjust
the install script to return either exit 0 (don't do anything) or
exit 1 (run on first boot).  This enabled a user to include the prelink
package without enablign the image-prelink bbclass and get a first boot
prelink.

Checking USER_CLASSES is not desired, as an image should be able to simply
inherit the image-prelink and get the same type of behavior.  Modifying
the recipe based on the inclusion of a class is a bad idea as it makes
this style work more difficult.  So we move to a more defined strategy
based on exist uses.  (That we know of...)

If we ae doing a cross install, we want to avoid prelinking.
Prelinking during a cross install should be handled by the image-prelink
bbclass.  If the user desires this to run on the target at first boot
they will need to create a custom boot script.

[YOCTO #11169]

(From OE-Core rev: e31c9d32072b9cf62c0e9e55b4d421849d3d489b)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2017-08-19 22:15:39 +01: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
Richard Purdie
47abf987ad prelink: Manipulate library paths to match the target system library setup
Currently, prelink doesn't work unless base_libdir/libdir match
its hardcoded values. This patch manipulates those paths so that
they match the values set in the variables and handles multilib
configurations too. The manipulations only happen in the target
case, if needed.

[YOCTO #10282]

(From OE-Core rev: 6779990021530129a78eb73db122e3976f687c7e)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-09-28 10:16:03 +01:00
Mark Hatle
fc16cfc01a prelink: Move to latest version of prelink
* Uprev rtld emulation to glibc-2.23
* Fix compilation warnings
* Add additional debug scopes
* Change rtld build_local_scope to be breadth-first
* Fix LD_PRELOAD emulation
* Change function reordering to work with latest binutils

(From OE-Core rev: 9d2c82f7d3fc0fdafc5c4fdd1707324bc4cdbf22)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2016-08-19 10:23:55 +01:00
Mark Hatle
8800033523 prelink: Fix various prelink issues on IA32, ARM, and MIPS.
Fix the following issues:

IA32 / ARM - Resync to glibc-2.22, fix a mismatch w/ glibc's ld.so
MIPS - Ignore the new SHT_MIPS_ABIFLAGS
ARM - Fix missing ARM IFUNC support chunk

Also upstream prelink project no longer has a 'trunk' directory.

(From OE-Core rev: c725328f2ab5c9b220c552ed37c0d24b098a218d)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-11-16 11:39:34 +00:00
Mark Hatle
e2cfe93035 prelink: Move to latest release
[YOCTO #8227]

The latest release has a fix for prelinking on ARM with recent binutils.

For more information on why the change was necessary, see:

  https://sourceware.org/ml/binutils/2014-06/msg00228.html

(From OE-Core rev: 518fce265e6f2b82f986fbda803e27b77f499c5a)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-09-18 09:05:22 +01:00
Mark Hatle
13db7db076 prelink_git.bb: Update to latest cross-prelink version
[YOCTO #7056]

Adds support for armhf dynamic linker
Update prelink-rtld to glibc 2.20 base
Fix testsuite to work with latest autotools

(From OE-Core rev: c9e4867a605a8007f569ed6ec4cf445111a533c1)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2015-04-08 10:53:20 +01:00
Mark Hatle
221c11ba93 prelink_git: Update to current head of cross-prelink development
Update to the current version of cross-prelink development:

faa069deec99bf61418d0bab831c83d7c1b797ca

This adds a number of minor features, such as S390 support (irrelevant)
to ARM TLS DESC relocations.

(From OE-Core rev: e87a56bbdfbae56bc027ab66b350cc8fa7b65810)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-08-15 18:21:49 +01:00
Otavio Salvador
4c14b09498 Globally replace 'base_contains' calls with 'bb.utils.contains'
The base_contains is kept as a compatibility method and we ought to
not use it in OE-Core so we can remove it from base metadata in
future.

(From OE-Core rev: d83b16dbf0862be387f84228710cb165c6d2b03b)

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-04-25 17:19:19 +01:00
Richard Purdie
7310d230fd prelink: Set the branch name correctly for the revision we're using
The revision specified is on the cross_prelink branch so mark the
url accordingly else the fetch can fail in the no network case.

(From OE-Core rev: 109166f1c0a84bcbbcd9d6adff7c16ddee08b08b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-12-05 16:27:12 +00:00
Jackie Huang
88c5e10d62 remove the unnecessary protocol parameters
It's not necessary to specify the protocol parameter when it's the
default protocol for the fetcher, e.g. the default protocol for
git fetcher it git, "protocol=git" isn't needed.

(From OE-Core rev: a2bab241c64428d5109c3c5ac5de4463fbad70c5)

Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-30 16:23:46 +01:00
Mark Hatle
29361cd7e5 prelink: update to latest cross-prelink
Sync to latest cross-prelink, as of Aug 1, 2013.

Drop the PR number, no longer needed.

(From OE-Core rev: b59d256349cc0ac19357158be8e63bd52ab9fb51)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-08-20 15:31:23 +01:00
Marko Lindqvist
ca40915da3 prelink: update to git head
Compatible with automake-1.13.

(From OE-Core rev: 3d8f35a121d54b7a1b825b266a553752e22bf708)

Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2013-01-07 13:38:27 +00:00
Mark Hatle
f31c96eac6 prelink: Update to latest upstream prelink
The latest fixes an obscure problem with prelinking on PowerPC, as well
as general updated.

(From OE-Core rev: 7759c9a2c5dfdc1cae5540a5985632c78abbac89)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-08-17 18:04:20 +01:00
Mark Hatle
3287e4be35 prelink: Update to latest version
The latest version of prelink corrects a problem when attempting
to prelink MIPS architectures.

    2012-01-04 Mark Hatle <mark.hatle@windriver.com>
      * exec.c: Check that a section is larger then 0 bytes when
        determining the section to segment mapping. This matches
        the behavior of elfutils - readelf. Otherwise an empty
        PROGBITS section at the end of a segment will cause a
        failure.

[YOCTO #1463]

(From OE-Core rev: 09a70c55e590d169b8a3b4b89853c96b7b977fc0)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-17 14:53:25 +00:00
Nitin A Kamble
f212c81c7a prelink: also look at nonstandard lib paths
Prelinking for x32 image showed that it was ignoring libraries
located at locations like /usr/libx32. Like that mips n32 has
library locations set as lib32
  This commit modifies prelink.conf to look at libraries also
located at libx32 & lib32 locations.
  Thanks to Mark Hatle for suggesting the fix.

(From OE-Core rev: c02b9de25b405c81da0f7bebd07423e8cee14eb7)

Signed-off-by: Nitin A Kamble <nitin.a.kamble@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-04 11:56:42 +00:00
Scott Garman
551ffe9ed7 prelink: update to latest git version
New version includes:

2011-12-08 Mark Hatle <mark.hatle@windriver.com>
    * rtld/rtld.c: Fix an issue where missing objects would trigger
      an assert in dl-version.c
    * rtld/rtld.h: Add _dl_new_object prototype
    * rtld/rtld.c: Add support for $ORIGIN, $PLATFORM and $LIB.
      Note: $PLATFORM = ""

These fixes are needed to prevent prelink-rtld from crashing when
running the new unsafe-references-in-binaries QA test.

(From OE-Core rev: 1a80d91b163869c9cb1d12d502aa8bc25e8782fa)

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2012-01-03 12:12:36 +00:00
Mark Hatle
90ded12e48 Uprev to latest version of prelink_git, fixing TLS issues
[YOCTO #1473]

From the upstream cross prelink respository:

    Fix printf typecast problem

    Without this fix the printed TLS(...) information is incorrect, which
    causes the core prelinker code to incorrectly prelink.  This bug triggers
    primarily on x86 (32-bit) hosts, targeting x86 (32-bit) targets and arm
    targets.

(From OE-Core rev: 2fc778068ebbd97b0fb473fb35a3eca03da86542)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-15 11:23:56 +01:00
Mark Hatle
939b9c80a6 prelink: Update to latest upstream version
[YOCTO #1374] - Fixes underlying issue
[YOCTO #1331] - Detects bad GNU_HASH tables

Update to the latest upstream version.  This includes a number of
generic fixes, as well as a complete refresh of the prelink-rtld.

(Prelink-rtld is similar to the ld.so/ldd functionality on a normal
system.)

The new prelink-rtld update syncs to eglibc-2.13 and enables new
symbol resolution, include GNU_UNIQUE, that was causing problems on
x86_64 and potentially other architectures with C++.

An assert has been added to also detect a bad GNU_HASH situation
which was detected on some PPC64 systems.  The underlying problem is
within the toolchain, however prelink was making it worse leaving the
problem undetected.

(From OE-Core rev: 4f401134694bbc1de532aaaab6c9a761649725a1)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-09-07 22:54:15 +01:00
Kumar Gala
e08ea67d7f prelink: Add lib64 dirs to prelink.conf
Handle multlib or cases that baselib is lib64.

(From OE-Core rev: 82db6bda2b60f0a4756f1d604a5dd1369fcc8a19)

Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-08-05 17:16:01 +01:00
Mark Hatle
d18aba9c1c prelink_git.bb: Only block the postinst script when no image-prelink
If image-prelink is being used, the system will automatically prelink
the target image.  This avoids the need to run the postinst prelink
script at first boot.  However, if the user has not enabled image
prelinking -- then we do enable the script to run on first boot.

(From OE-Core rev: a0ba05596a704a006ee7b97392c20b871085b1e6)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-29 14:46:53 +01:00
Mark Hatle
5fdbef9d90 prelink: Uprev prelink to latest version
The latest cross-prelink version tracks the prelink r190 SVN.

Fix two minor issues as well.  If we remove the package, we would
unprelink the filesystem after the rm was finished.  This is
incorrect.. we need to do this prerm.

Move the cron and cron configuration file to a new package split.
This item is not valid for most embedded users.

(From OE-Core rev: e8da02aeae4b3c1c2a805d63d6d0919d3034aba6)

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-06-28 13:55:41 +01:00
Phil Blundell
c3a7382c9a prelink: remove dependency on transfig-native
Per http://lists.linuxtogo.org/pipermail/openembedded-core/2011-May/003179.html

(From OE-Core rev: 5c3f39c56d1a7402c1f1f3b6db1f2764fcc8f190)

Signed-off-by: Phil Blundell <philb@gnu.org>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-31 12:46:45 +01:00
Yu Ke
61018fda65 poky-default-revisions: move the SRCREV to recipe file
in this case, those non poky distro can also use these recipe normally

(From OE-Core rev: 0a57bd226cdb8332707fa0f46fcf0b067f03701a)

Signed-off-by: Yu Ke <ke.yu@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-05-04 15:06:36 +01:00
Richard Purdie
65f4b65410 Further cleanup of various poky references
(From OE-Core rev: fe73ea8c510877fe4e3c117985e8f3d0b79ddf1b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-04-21 12:56:16 +01:00
Richard Purdie
5164821975 Fix git.pokylinux.org urls to git.yoctoproject.org
(From OE-Core rev: adbf55721ee956897c0951cff63aeb1defb3c738)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2011-04-21 00:29:31 +01:00
Mark Hatle
4a1e2b1107 prelink: Add missing macro.prelink file
Add the missing macro.prelink file...

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-02-25 16:40:18 -08:00
Mark Hatle
6c6d4f4bff rpm: Fix rpm usage of prelink on the target
RPM has the ability to validate files that have been prelinked, however
the necessary configuration and staging was not done properly.  Resolve
this issue by fixing the macro paths, providing the missing RPM macro,
and correcting a defect in the way the prelink image class was working
with the necessary configuration file.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2011-02-25 17:34:20 -06:00
Scott Garman
2fbcf14199 prelink: add transfig-native to DEPENDS
Building prelink's documentaiton requires fig2dev, which is
provided by transfig-native.

Signed-off-by: Scott Garman <scott.a.garman@intel.com>
2011-02-09 22:45:46 +00:00
Mark Hatle
66e6a9798e prelink: Temporary workaround for documentation build
This issue is really do to the timestamps of files being different
enough and that the make of the doc directory is being triggered by
this.

This is partly due to the new git fetcher laying the files down
differently.  Once this issue is resolve, this can be reverted.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
2011-02-05 20:11:55 -08:00
Mark Hatle
8bcb64c073 recipes-devtools: Add Summary information
Add Summary information and update Descripts as necessary.

Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
2010-12-16 15:53:08 +00:00
Mei Lei
246daac749 prelink:Add license checksum to bb file
Add COPYING file checksum to bb file

Signed-off-by: Mei Lei <lei.mei@intel.com>
2010-12-02 05:24:48 -08: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