Merge remote-tracking branch 'upstream/dora' into dora
This commit is contained in:
commit
e12cf92023
|
@ -807,9 +807,9 @@ def try_mirror_url(newuri, origud, ud, ld, check = False):
|
|||
os.symlink(ud.localpath, dest)
|
||||
if not os.path.exists(origud.donestamp) or origud.method.need_update(origud.url, origud, ld):
|
||||
origud.method.download(origud.url, origud, ld)
|
||||
if hasattr(ud.method,"build_mirror_data"):
|
||||
if hasattr(origud.method,"build_mirror_data"):
|
||||
origud.method.build_mirror_data(origud.url, origud, ld)
|
||||
return None
|
||||
return ud.localpath
|
||||
# Otherwise the result is a local file:// and we symlink to it
|
||||
if not os.path.exists(origud.localpath):
|
||||
if os.path.islink(origud.localpath):
|
||||
|
|
|
@ -305,8 +305,8 @@ class Git(FetchMethod):
|
|||
username = ""
|
||||
|
||||
basecmd = data.getVar("FETCHCMD_git", d, True) or "git"
|
||||
cmd = "%s ls-remote %s://%s%s%s %s" % \
|
||||
(basecmd, ud.proto, username, ud.host, ud.path, ud.branches[name])
|
||||
cmd = "%s ls-remote %s://%s%s%s refs/heads/%s refs/tags/%s" % \
|
||||
(basecmd, ud.proto, username, ud.host, ud.path, ud.branches[name], ud.branches[name])
|
||||
if ud.proto.lower() != 'file':
|
||||
bb.fetch2.check_network_access(d, cmd)
|
||||
output = runfetchcmd(cmd, d, True)
|
||||
|
|
|
@ -71,6 +71,16 @@
|
|||
<date>January 2014</date>
|
||||
<revremark>Released with the Yocto Project 1.5.1 Release.</revremark>
|
||||
</revision>
|
||||
<revision>
|
||||
<revnumber>1.5.2</revnumber>
|
||||
<date>May 2014</date>
|
||||
<revremark>Released with the Yocto Project 1.5.2 Release.</revremark>
|
||||
</revision>
|
||||
<revision>
|
||||
<revnumber>1.5.3</revnumber>
|
||||
<date>July 2014</date>
|
||||
<revremark>Released with the Yocto Project 1.5.3 Release.</revremark>
|
||||
</revision>
|
||||
</revhistory>
|
||||
|
||||
<copyright>
|
||||
|
|
|
@ -83,6 +83,16 @@
|
|||
<date>January 2014</date>
|
||||
<revremark>Released with the Yocto Project 1.5.1 Release.</revremark>
|
||||
</revision>
|
||||
<revision>
|
||||
<revnumber>1.5.2</revnumber>
|
||||
<date>May 2014</date>
|
||||
<revremark>Released with the Yocto Project 1.5.2 Release.</revremark>
|
||||
</revision>
|
||||
<revision>
|
||||
<revnumber>1.5.3</revnumber>
|
||||
<date>July 2014</date>
|
||||
<revremark>Released with the Yocto Project 1.5.3 Release.</revremark>
|
||||
</revision>
|
||||
</revhistory>
|
||||
|
||||
<copyright>
|
||||
|
|
|
@ -1940,7 +1940,7 @@
|
|||
format the device requires.
|
||||
Should your device require multiple partitions on an SD card, flash,
|
||||
or an HDD, you can use the OpenEmbedded Image Creator
|
||||
() to create the properly partitioned image.
|
||||
to create the properly partitioned image.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
|
@ -1949,8 +1949,10 @@
|
|||
Image generation is driven by partitioning commands contained
|
||||
in an Openembedded kickstart file (<filename>.wks</filename>)
|
||||
specified either directly on the command-line or as one of a
|
||||
selection of canned <filename>.wks</filename> files
|
||||
(see 'wic list images').
|
||||
selection of canned <filename>.wks</filename> files as shown
|
||||
with the <filename>wic list images</filename> command in the
|
||||
"<link linkend='using-a-provided-kickstart_file'>Using a Provided Kickstart File</link>"
|
||||
section.
|
||||
When applied to a given set of build artifacts, the result is an
|
||||
image or set of images that can be directly written onto media and
|
||||
used on a particular system.
|
||||
|
@ -2003,34 +2005,6 @@
|
|||
</para>
|
||||
</section>
|
||||
|
||||
<!--
|
||||
|
||||
<para>
|
||||
This section covers the mechanics of invoking and providing help for
|
||||
the command and sub-commands; it contains hooks for future commits to
|
||||
connect with the actual functionality, once implemented.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Help is integrated into the 'wic' command itself - you can also see
|
||||
that for details and reminders on usage (simply invoke 'wic' without
|
||||
any arguments to get started).
|
||||
</para>
|
||||
|
||||
<note>
|
||||
Just because 'wic' can generate an image does not mean that it
|
||||
will boot on a given machine. 'wic' tries to spot the most obvious
|
||||
usages that are likely to cause problems but, as a relatively
|
||||
low-level tool, it can't in general figure out whether a generated
|
||||
image is appropriate for a given piece of hardware - it's really up to
|
||||
you to provide intelligent inputs to the image creation process. If
|
||||
you suspect that your image is not working as expected due to some bug
|
||||
or missing feature of the tool, please file a bug report describing
|
||||
the details.
|
||||
</note>
|
||||
|
||||
-->
|
||||
|
||||
<section id='wic-requirements'>
|
||||
<title>Requirements</title>
|
||||
|
||||
|
@ -2125,20 +2099,71 @@ the details.
|
|||
command-line arguments.</para></listitem>
|
||||
<listitem><para><emphasis>Cooked Mode:</emphasis>
|
||||
The current
|
||||
<ulink url='&YOCTO_DOCS_REF_URL;var-MACHINE'><filename>MACHINE</filename></ulink>
|
||||
<ulink url='&YOCTO_DOCS_REF_URL;#var-MACHINE'><filename>MACHINE</filename></ulink>
|
||||
setting and image name are used to automatically locate
|
||||
and provide the build artifacts.</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Regardless of the mode you use, you need to have the build
|
||||
artifacts ready and available.
|
||||
Additionally, the environment must be set up using the
|
||||
<ulink url='&YOCTO_DOCS_REF_URL;#structure-core-script'><filename>&OE_INIT_FILE;</filename></ulink>
|
||||
or
|
||||
<ulink url='&YOCTO_DOCS_REF_URL;#structure-memres-core-script'><filename>oe-init-build-env-memres</filename></ulink>
|
||||
script found in the
|
||||
<link linkend='build-directory'>Build Directory</link>.
|
||||
</para>
|
||||
|
||||
<section id='raw-mode'>
|
||||
<title>Raw Mode</title>
|
||||
|
||||
<para>
|
||||
The general form of the 'wic' command in raw mode is:
|
||||
<literallayout class='monospaced'>
|
||||
$ wic create <image_name>.wks -r <rootfs_dir> -b <bootimg_dir> /
|
||||
-k <kernel_dir> -n <native_sysroot>
|
||||
$ wic create <replaceable>image_name</replaceable>.wks [<replaceable>options</replaceable>] [...]
|
||||
|
||||
Where:
|
||||
|
||||
<replaceable>image_name</replaceable>.wks
|
||||
An an OpenEmbedded kickstart file. You can provide
|
||||
your own custom file or use a file from a set of
|
||||
provided files as described by further options.
|
||||
|
||||
-o <replaceable>OUTDIR</replaceable>, --outdir=<replaceable>OUTDIR</replaceable>
|
||||
The name of a directory in which to create image.
|
||||
|
||||
-i <replaceable>PROPERTIES_FILE</replaceable>, --infile=<replaceable>PROPERTIES_FILE</replaceable>
|
||||
The name of a file containing the values for image
|
||||
properties as a JSON file.
|
||||
|
||||
-e <replaceable>IMAGE_NAME</replaceable>, --image-name=<replaceable>IMAGE_NAME</replaceable>
|
||||
The name of the image from which to use the artifacts
|
||||
(e.g. <filename>core-image-sato</filename>).
|
||||
|
||||
-r <replaceable>ROOTFS_DIR</replaceable>, --rootfs-dir=<replaceable>ROOTFS_DIR</replaceable>
|
||||
The path to the <filename>/rootfs</filename> directory to use as the
|
||||
<filename>.wks</filename> rootfs source.
|
||||
|
||||
-b <replaceable>BOOTIMG_DIR</replaceable>, --bootimg-dir=<replaceable>BOOTIMG_DIR</replaceable>
|
||||
The path to the directory containing the boot artifacts
|
||||
(e.g. <filename>/EFI</filename> or <filename>/syslinux</filename>) to use as the <filename>.wks</filename> bootimg
|
||||
source.
|
||||
|
||||
-k <replaceable>KERNEL_DIR</replaceable>, --kernel-dir=<replaceable>KERNEL_DIR</replaceable>
|
||||
The path to the directory containing the kernel to use
|
||||
in the <filename>.wks</filename> boot image.
|
||||
|
||||
-n <replaceable>NATIVE_SYSROOT</replaceable>, --native-sysroot=<replaceable>NATIVE_SYSROOT</replaceable>
|
||||
The path to the native sysroot containing the tools to use
|
||||
to build the image.
|
||||
|
||||
-p, --skip-build-check
|
||||
Skips the build check.
|
||||
|
||||
-D, --debug
|
||||
Output debug information.
|
||||
</literallayout>
|
||||
<note>
|
||||
You do not need root privileges to run
|
||||
|
@ -2147,37 +2172,6 @@ the details.
|
|||
utility.
|
||||
</note>
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Following is a description of the <filename>wic</filename>
|
||||
parameters and options:
|
||||
<itemizedlist>
|
||||
<listitem><para><emphasis><filename><image_name>.wks</filename>:</emphasis>
|
||||
An OpenEmbedded kickstart file.
|
||||
You can provide your own custom file or use a
|
||||
file from a set of provided files as described
|
||||
following this list.</para></listitem>
|
||||
<listitem><para><emphasis><filename>-r <rootfs_dir></filename>:</emphasis>
|
||||
Specifies the path to the root filesystem directory
|
||||
to be used and the <filename>.wks</filename>
|
||||
root filesystem source.</para></listitem>
|
||||
<listitem><para><emphasis><filename>-b <bootimg_dir></filename>:</emphasis>
|
||||
Specifies the path to the directory that contains
|
||||
the boot artifacts (e.g. the
|
||||
<filename>EFI</filename> or
|
||||
<filename>syslinux</filename> directories) to use
|
||||
as the <filename>.wks</filename> boot image source.
|
||||
</para></listitem>
|
||||
<listitem><para><emphasis><filename>-k <kernel_dir></filename>:</emphasis>
|
||||
Specifies the path to the dir containing the kernel
|
||||
to use in the <filename>.wks</filename> boot
|
||||
image.</para></listitem>
|
||||
<listitem><para><emphasis><filename>-n <native_sysroot></filename>:</emphasis>
|
||||
Specifies the path to the native sysroot
|
||||
that contains the tools used to build the image.
|
||||
</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id='cooked-mode'>
|
||||
|
@ -2187,7 +2181,17 @@ the details.
|
|||
The general form of the <filename>wic</filename> command
|
||||
using Cooked Mode is:
|
||||
<literallayout class='monospaced'>
|
||||
$ wic create <kickstart_file> -e <image_name>
|
||||
$ wic create <replaceable>kickstart_file</replaceable> -e <replaceable>image_name</replaceable>
|
||||
|
||||
Where:
|
||||
|
||||
<replaceable>kickstart_file</replaceable>
|
||||
An OpenEmbedded kickstart file. You can provide your own
|
||||
custom file or supplied file.
|
||||
|
||||
<replaceable>image_name</replaceable>
|
||||
Specifies the image built using the OpenEmbedded build
|
||||
system.
|
||||
</literallayout>
|
||||
This form is the simplest and most user-friendly, as it
|
||||
does not require specifying all individual parameters.
|
||||
|
@ -2195,20 +2199,6 @@ the details.
|
|||
<filename>.wks</filename> file or one provided with the
|
||||
release.
|
||||
</para>
|
||||
|
||||
<para>
|
||||
Following is a description of the <filename>wic</filename>
|
||||
parameters and options:
|
||||
<itemizedlist>
|
||||
<listitem><para><emphasis><filename><kickstart></filename>:</emphasis>
|
||||
An OpenEmbedded kickstart file.
|
||||
You can provide your own custom file or supplied
|
||||
file.</para></listitem>
|
||||
<listitem><para><emphasis><filename>-e <image_name></filename>:</emphasis>
|
||||
Specifies the image built using the OpenEmbedded
|
||||
build system.</para></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
|
@ -2222,16 +2212,16 @@ the details.
|
|||
Use the following command to list the available files:
|
||||
<literallayout class='monospaced'>
|
||||
$ wic list images
|
||||
mkefidisk Create an EFI disk image
|
||||
directdisk Create a 'pcbios' direct disk image
|
||||
mkefidisk Create an EFI disk image
|
||||
</literallayout>
|
||||
When you use a provided file, you do not have to use the
|
||||
<filename>.wks</filename> extension.
|
||||
Here is an example in Raw Mode that uses the
|
||||
<filename>directdisk</filename> file:
|
||||
<literallayout class='monospaced'>
|
||||
$ wic create directdisk -r <rootfs_dir> -b <bootimg_dir> \
|
||||
-k <kernel_dir> -n <native_sysroot>
|
||||
$ wic create directdisk -r <replaceable>rootfs_dir</replaceable> -b <replaceable>bootimg_dir</replaceable> \
|
||||
-k <replaceable>kernel_dir</replaceable> -n <replaceable>native_sysroot</replaceable>
|
||||
</literallayout>
|
||||
</para>
|
||||
|
||||
|
@ -2244,13 +2234,13 @@ the details.
|
|||
# long-description: Creates a partitioned EFI disk image that the user
|
||||
# can directly dd to boot media.
|
||||
|
||||
part /boot --source bootimg --ondisk sda --fstype=efi --label msdos --active --align 1024
|
||||
part /boot ‐‐source bootimg-efi ‐‐ondisk sda ‐‐fstype=efi ‐‐active
|
||||
|
||||
part / --source rootfs --ondisk sda --fstype=ext3 --label platform --align 1024
|
||||
part / ‐‐source rootfs ‐‐ondisk sda ‐‐fstype=ext3 ‐‐label platform
|
||||
|
||||
part swap --ondisk sda --size 44 --label swap1 --fstype=swap
|
||||
part swap ‐‐ondisk sda ‐‐size 44 ‐‐label swap1 ‐‐fstype=swap
|
||||
|
||||
bootloader --timeout=10 --append="rootwait rootfstype=ext3 console=ttyPCH0,115200 console=tty0 vmalloc=256MB snd-hda- intel.enable_msi=0"
|
||||
bootloader ‐‐timeout=10 ‐‐append="rootwait console=ttyPCH0,115200"
|
||||
</literallayout>
|
||||
</para>
|
||||
</section>
|
||||
|
@ -2377,7 +2367,8 @@ the details.
|
|||
directory and then changing the lines that specify the
|
||||
target disk from which to boot.
|
||||
<literallayout class='monospaced'>
|
||||
$ cp /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/directdisk.wks /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/directdisksdb.wks
|
||||
$ cp /home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/directdisk.wks \
|
||||
/home/trz/yocto/yocto-image/scripts/lib/image/canned-wks/directdisksdb.wks
|
||||
</literallayout>
|
||||
Next, the example modifies the
|
||||
<filename>directdisksdb.wks</filename> file and changes all
|
||||
|
@ -2474,7 +2465,11 @@ the details.
|
|||
somewhere other than the default
|
||||
<filename>/var/tmp/wic</filename> directory:
|
||||
<literallayout class='monospaced'>
|
||||
$ wic create ~/test.wks -o /home/trz/testwic --rootfs-dir /home/trz/yocto/yocto-image/build/tmp/work/crownbay_noemgd-poky-linux/core-image-minimal/1.0-r0/rootfs --bootimg-dir /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/share --kernel-dir /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/src/kernel --native-sysroot /home/trz/yocto/yocto-image/build/tmp/sysroots/x86_64-linux
|
||||
$ wic create ~/test.wks -o /home/trz/testwic --rootfs-dir \
|
||||
/home/trz/yocto/yocto-image/build/tmp/work/crownbay_noemgd-poky-linux/core-image-minimal/1.0-r0/rootfs \
|
||||
--bootimg-dir /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/share \
|
||||
--kernel-dir /home/trz/yocto/yocto-image/build/tmp/sysroots/crownbay-noemgd/usr/src/kernel \
|
||||
--native-sysroot /home/trz/yocto/yocto-image/build/tmp/sysroots/x86_64-linux
|
||||
|
||||
Creating image(s)...
|
||||
|
||||
|
|
|
@ -18,8 +18,7 @@
|
|||
"<ulink url='&YOCTO_DOCS_BSP_URL;#creating-a-new-bsp-layer-using-the-yocto-bsp-script'>Creating a New BSP Layer Using the yocto-bsp Script</ulink>"
|
||||
section in the Yocto Project Board Support Package (BSP) Developer's Guide.
|
||||
For more complete information on how to work with the kernel, see the
|
||||
<ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;'>Yocto Project Linux Kernel
|
||||
Development Manual</ulink>.
|
||||
<ulink url='&YOCTO_DOCS_KERNEL_DEV_URL;'>Yocto Project Linux Kernel Development Manual</ulink>.
|
||||
</para></listitem>
|
||||
<listitem><para><emphasis>User Application Development:</emphasis>
|
||||
User Application Development covers development of applications that you intend
|
||||
|
|
|
@ -61,6 +61,16 @@
|
|||
<date>January 2014</date>
|
||||
<revremark>Released with the Yocto Project 1.5.1 Release.</revremark>
|
||||
</revision>
|
||||
<revision>
|
||||
<revnumber>1.5.2</revnumber>
|
||||
<date>May 2014</date>
|
||||
<revremark>Released with the Yocto Project 1.5.2 Release.</revremark>
|
||||
</revision>
|
||||
<revision>
|
||||
<revnumber>1.5.3</revnumber>
|
||||
<date>July 2014</date>
|
||||
<revremark>Released with the Yocto Project 1.5.3 Release.</revremark>
|
||||
</revision>
|
||||
</revhistory>
|
||||
|
||||
<copyright>
|
||||
|
|
|
@ -46,6 +46,16 @@
|
|||
<date>January 2014</date>
|
||||
<revremark>Released with the Yocto Project 1.5.1 Release.</revremark>
|
||||
</revision>
|
||||
<revision>
|
||||
<revnumber>1.5.2</revnumber>
|
||||
<date>May 2014</date>
|
||||
<revremark>Released with the Yocto Project 1.5.2 Release.</revremark>
|
||||
</revision>
|
||||
<revision>
|
||||
<revnumber>1.5.3</revnumber>
|
||||
<date>July 2014</date>
|
||||
<revremark>Released with the Yocto Project 1.5.3 Release.</revremark>
|
||||
</revision>
|
||||
</revhistory>
|
||||
|
||||
<copyright>
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<!ENTITY DISTRO "1.5.1">
|
||||
<!ENTITY DISTRO_COMPRESSED "151">
|
||||
<!ENTITY DISTRO "1.5.3">
|
||||
<!ENTITY DISTRO_COMPRESSED "153">
|
||||
<!ENTITY DISTRO_NAME "dora">
|
||||
<!ENTITY YOCTO_DOC_VERSION "1.5.1">
|
||||
<!ENTITY POKYVERSION "10.0.1">
|
||||
<!ENTITY POKYVERSION_COMPRESSED "1001">
|
||||
<!ENTITY YOCTO_DOC_VERSION "1.5.3">
|
||||
<!ENTITY POKYVERSION "10.0.3">
|
||||
<!ENTITY POKYVERSION_COMPRESSED "1003">
|
||||
<!ENTITY YOCTO_POKY "poky-&DISTRO_NAME;-&POKYVERSION;">
|
||||
<!ENTITY COPYRIGHT_YEAR "2010-2014">
|
||||
<!ENTITY YOCTO_DL_URL "http://downloads.yoctoproject.org">
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
|
||||
<chapter id='profile-manual-intro'>
|
||||
|
||||
<title>Yocto Project Tracing and Profiling Manual</title>
|
||||
<title>Yocto Project Profiling and Tracing Manual</title>
|
||||
<section id='intro'>
|
||||
<title>Introduction</title>
|
||||
|
||||
|
|
|
@ -46,6 +46,16 @@
|
|||
<date>January 2014</date>
|
||||
<revremark>Released with the Yocto Project 1.5.1 Release.</revremark>
|
||||
</revision>
|
||||
<revision>
|
||||
<revnumber>1.5.2</revnumber>
|
||||
<date>May 2014</date>
|
||||
<revremark>Released with the Yocto Project 1.5.2 Release.</revremark>
|
||||
</revision>
|
||||
<revision>
|
||||
<revnumber>1.5.3</revnumber>
|
||||
<date>July 2014</date>
|
||||
<revremark>Released with the Yocto Project 1.5.3 Release.</revremark>
|
||||
</revision>
|
||||
</revhistory>
|
||||
|
||||
<copyright>
|
||||
|
|
|
@ -285,11 +285,17 @@
|
|||
<para>
|
||||
The following list shows the required packages by function
|
||||
given a supported CentOS Linux distribution:
|
||||
<note>Depending on the CentOS version you are using, other requirements
|
||||
and dependencies might exist.
|
||||
For details, you should look at the CentOS sections on the
|
||||
<ulink url='https://wiki.yoctoproject.org/wiki/Poky/GettingStarted/Dependencies'>Poky/GettingStarted/Dependencies</ulink>
|
||||
wiki page.
|
||||
<note>
|
||||
For CentOS 6.x, some of the versions of the components
|
||||
provided by the distribution are too old (e.g. Git, Python,
|
||||
and tar).
|
||||
It is recommended that you install the buildtools in order
|
||||
to provide versions that will work with the OpenEmbedded
|
||||
build system.
|
||||
For information on how to install the buildtools tarball,
|
||||
see the
|
||||
"<link linkend='required-git-tar-and-python-versions'>Required Git, Tar, and Python Versions</link>"
|
||||
section.
|
||||
</note>
|
||||
<itemizedlist>
|
||||
<listitem><para><emphasis>Essentials:</emphasis>
|
||||
|
|
|
@ -77,6 +77,16 @@
|
|||
<date>January 2014</date>
|
||||
<revremark>Released with the Yocto Project 1.5.1 Release.</revremark>
|
||||
</revision>
|
||||
<revision>
|
||||
<revnumber>1.5.2</revnumber>
|
||||
<date>May 2014</date>
|
||||
<revremark>Released with the Yocto Project 1.5.2 Release.</revremark>
|
||||
</revision>
|
||||
<revision>
|
||||
<revnumber>1.5.3</revnumber>
|
||||
<date>July 2014</date>
|
||||
<revremark>Released with the Yocto Project 1.5.3 Release.</revremark>
|
||||
</revision>
|
||||
</revhistory>
|
||||
|
||||
<copyright>
|
||||
|
|
|
@ -1,13 +1,14 @@
|
|||
# Processes ref-manual and yocto-project-qs manual (<word>-<word>-<word> style)
|
||||
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5.1\/[a-z]*-[a-z]*-[a-z]*\/[a-z]*-[a-z]*-[a-z]*.html#/\"link\" href=\"#/g
|
||||
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5.3\/[a-z]*-[a-z]*-[a-z]*\/[a-z]*-[a-z]*-[a-z]*.html#/\"link\" href=\"#/g
|
||||
|
||||
# Processes all other manuals (<word>-<word> style)
|
||||
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5.1\/[a-z]*-[a-z]*\/[a-z]*-[a-z]*.html#/\"link\" href=\"#/g
|
||||
s/\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5.3\/[a-z]*-[a-z]*\/[a-z]*-[a-z]*.html#/\"link\" href=\"#/g
|
||||
|
||||
# Process cases where just an external manual is referenced without an id anchor
|
||||
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5.1\/yocto-project-qs\/yocto-project-qs.html\" target=\"_top\">Yocto Project Quick Start<\/a>/Yocto Project Quick Start/g
|
||||
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5.1\/dev-manual\/dev-manual.html\" target=\"_top\">Yocto Project Development Manual<\/a>/Yocto Project Development Manual/g
|
||||
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5.1\/adt-manual\/adt-manual.html\" target=\"_top\">Yocto Project Application Developer's Guide<\/a>/Yocto Project Application Developer's Guide/g
|
||||
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5.1\/bsp-guide\/bsp-guide.html\" target=\"_top\">Yocto Project Board Support Package (BSP) Developer's Guide<\/a>/Yocto Project Board Support Package (BSP) Developer's Guide/g
|
||||
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5.1\/kernel-dev\/kernel-dev.html\" target=\"_top\">Yocto Project Linux Kernel Development Manual<\/a>/Yocto Project Linux Kernel Development Manual/g
|
||||
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5.1\/ref-manual\/ref-manual.html\" target=\"_top\">Yocto Project Reference Manual<\/a>/Yocto Project Reference Manual/g
|
||||
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5.3\/yocto-project-qs\/yocto-project-qs.html\" target=\"_top\">Yocto Project Quick Start<\/a>/Yocto Project Quick Start/g
|
||||
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5.3\/dev-manual\/dev-manual.html\" target=\"_top\">Yocto Project Development Manual<\/a>/Yocto Project Development Manual/g
|
||||
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5.3\/adt-manual\/adt-manual.html\" target=\"_top\">Yocto Project Application Developer's Guide<\/a>/Yocto Project Application Developer's Guide/g
|
||||
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5.3\/bsp-guide\/bsp-guide.html\" target=\"_top\">Yocto Project Board Support Package (BSP) Developer's Guide<\/a>/Yocto Project Board Support Package (BSP) Developer's Guide/g
|
||||
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5.3\/profile-manual\/profile-manual.html\" target=\"_top\">Yocto Project Profiling and Tracing Manual<\/a>/Yocto Project Profiling and Tracing Manual/g
|
||||
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5.3\/kernel-dev\/kernel-dev.html\" target=\"_top\">Yocto Project Linux Kernel Development Manual<\/a>/Yocto Project Linux Kernel Development Manual/g
|
||||
s/<a class=\"ulink\" href=\"http:\/\/www.yoctoproject.org\/docs\/1.5.3\/ref-manual\/ref-manual.html\" target=\"_top\">Yocto Project Reference Manual<\/a>/Yocto Project Reference Manual/g
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
DISTRO = "poky"
|
||||
DISTRO_NAME = "Poky (Yocto Project Reference Distro)"
|
||||
DISTRO_VERSION = "1.5.1"
|
||||
DISTRO_CODENAME = "next"
|
||||
DISTRO_VERSION = "1.5.3"
|
||||
DISTRO_CODENAME = "dora"
|
||||
SDK_VENDOR = "-pokysdk"
|
||||
SDK_VERSION := "${@'${DISTRO_VERSION}'.replace('snapshot-${DATE}','snapshot')}"
|
||||
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
FILESEXTRAPATHS_prepend_poky := "${THISDIR}/${P}:"
|
||||
FILESEXTRAPATHS_prepend := "${THISDIR}/${BPN}:"
|
||||
|
||||
|
|
|
@ -410,7 +410,7 @@ log_check() {
|
|||
done
|
||||
}
|
||||
|
||||
MULTILIBRE_ALLOW_REP =. "${base_bindir}|${base_sbindir}|${bindir}|${sbindir}|${libexecdir}|"
|
||||
MULTILIBRE_ALLOW_REP =. "${base_bindir}|${base_sbindir}|${bindir}|${sbindir}|${libexecdir}|/lib/modules/[^/]*/modules.*|"
|
||||
MULTILIB_CHECK_FILE = "${WORKDIR}/multilib_check.py"
|
||||
MULTILIB_TEMP_ROOTFS = "${WORKDIR}/multilib"
|
||||
|
||||
|
|
|
@ -337,8 +337,7 @@ ALLOW_EMPTY_kernel-image = "1"
|
|||
ALLOW_EMPTY_kernel-modules = "1"
|
||||
DESCRIPTION_kernel-modules = "Kernel modules meta package"
|
||||
|
||||
pkg_postinst_kernel-image () {
|
||||
update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
|
||||
pkg_postinst_kernel-base () {
|
||||
if [ ! -e "$D/lib/modules/${KERNEL_VERSION}" ]; then
|
||||
mkdir -p $D/lib/modules/${KERNEL_VERSION}
|
||||
fi
|
||||
|
@ -349,6 +348,10 @@ pkg_postinst_kernel-image () {
|
|||
fi
|
||||
}
|
||||
|
||||
pkg_postinst_kernel-image () {
|
||||
update-alternatives --install /${KERNEL_IMAGEDEST}/${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE}-${KERNEL_VERSION} ${KERNEL_PRIORITY} || true
|
||||
}
|
||||
|
||||
pkg_postrm_kernel-image () {
|
||||
update-alternatives --remove ${KERNEL_IMAGETYPE} ${KERNEL_IMAGETYPE}-${KERNEL_VERSION} || true
|
||||
}
|
||||
|
|
|
@ -400,7 +400,7 @@ def process_changes(repopath, revision1, revision2 = 'HEAD', report_all = False)
|
|||
chg = ChangeRecord(path, filename, d.a_blob.data_stream.read(), d.b_blob.data_stream.read(), True)
|
||||
changes.append(chg)
|
||||
elif filename == 'image-info.txt':
|
||||
changes.extend(compare_dict_blobs(path, d.a_blob, d.b_blob, report_all, report_ver))
|
||||
changes.extend(compare_dict_blobs(path, d.a_blob, d.b_blob, report_all))
|
||||
elif '/image-files/' in path:
|
||||
chg = ChangeRecord(path, filename, d.a_blob.data_stream.read(), d.b_blob.data_stream.read(), True)
|
||||
changes.append(chg)
|
||||
|
|
|
@ -10,7 +10,9 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCache):
|
|||
return x.startswith("nativesdk-")
|
||||
def isKernel(fn):
|
||||
inherits = " ".join(dataCache.inherits[fn])
|
||||
return inherits.find("module-base.bbclass") != -1 or inherits.find("linux-kernel-base.bbclass") != -1
|
||||
return inherits.find("/module-base.bbclass") != -1 or inherits.find("/linux-kernel-base.bbclass") != -1
|
||||
def isImage(fn):
|
||||
return "/image.bbclass" in " ".join(dataCache.inherits[fn])
|
||||
|
||||
# Always include our own inter-task dependencies
|
||||
if recipename == depname:
|
||||
|
@ -32,7 +34,7 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCache):
|
|||
return False
|
||||
|
||||
# Exclude well defined machine specific configurations which don't change ABI
|
||||
if depname in siggen.abisaferecipes:
|
||||
if depname in siggen.abisaferecipes and not isImage(fn):
|
||||
return False
|
||||
|
||||
# Exclude well defined recipe->dependency
|
||||
|
|
|
@ -0,0 +1,81 @@
|
|||
From 34628967f1e65dc8f34e000f0f5518e21afbfc7b Mon Sep 17 00:00:00 2001
|
||||
From: "Dr. Stephen Henson" <steve@openssl.org>
|
||||
Date: Fri, 20 Dec 2013 15:26:50 +0000
|
||||
Subject: [PATCH] Fix DTLS retransmission from previous session.
|
||||
|
||||
Upstream-Status: Backport
|
||||
commit 34628967f1e65dc8f34e000f0f5518e21afbfc7b upstream
|
||||
|
||||
For DTLS we might need to retransmit messages from the previous session
|
||||
so keep a copy of write context in DTLS retransmission buffers instead
|
||||
of replacing it after sending CCS. CVE-2013-6450.
|
||||
---
|
||||
ssl/d1_both.c | 6 ++++++
|
||||
ssl/ssl_locl.h | 2 ++
|
||||
ssl/t1_enc.c | 17 +++++++++++------
|
||||
4 files changed, 24 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/ssl/d1_both.c b/ssl/d1_both.c
|
||||
index 65ec001..7a5596a 100644
|
||||
--- a/ssl/d1_both.c
|
||||
+++ b/ssl/d1_both.c
|
||||
@@ -214,6 +214,12 @@ dtls1_hm_fragment_new(unsigned long frag_len, int reassembly)
|
||||
static void
|
||||
dtls1_hm_fragment_free(hm_fragment *frag)
|
||||
{
|
||||
+
|
||||
+ if (frag->msg_header.is_ccs)
|
||||
+ {
|
||||
+ EVP_CIPHER_CTX_free(frag->msg_header.saved_retransmit_state.enc_write_ctx);
|
||||
+ EVP_MD_CTX_destroy(frag->msg_header.saved_retransmit_state.write_hash);
|
||||
+ }
|
||||
if (frag->fragment) OPENSSL_free(frag->fragment);
|
||||
if (frag->reassembly) OPENSSL_free(frag->reassembly);
|
||||
OPENSSL_free(frag);
|
||||
diff --git a/ssl/ssl_locl.h b/ssl/ssl_locl.h
|
||||
index 96ce9a7..e485907 100644
|
||||
--- a/ssl/ssl_locl.h
|
||||
+++ b/ssl/ssl_locl.h
|
||||
@@ -621,6 +621,8 @@ extern SSL3_ENC_METHOD TLSv1_enc_data;
|
||||
extern SSL3_ENC_METHOD SSLv3_enc_data;
|
||||
extern SSL3_ENC_METHOD DTLSv1_enc_data;
|
||||
|
||||
+#define SSL_IS_DTLS(s) (s->method->version == DTLS1_VERSION)
|
||||
+
|
||||
#define IMPLEMENT_tls_meth_func(version, func_name, s_accept, s_connect, \
|
||||
s_get_meth) \
|
||||
const SSL_METHOD *func_name(void) \
|
||||
diff --git a/ssl/t1_enc.c b/ssl/t1_enc.c
|
||||
index 72015f5..56db834 100644
|
||||
--- a/ssl/t1_enc.c
|
||||
+++ b/ssl/t1_enc.c
|
||||
@@ -414,15 +414,20 @@ int tls1_change_cipher_state(SSL *s, int which)
|
||||
s->mac_flags |= SSL_MAC_FLAG_WRITE_MAC_STREAM;
|
||||
else
|
||||
s->mac_flags &= ~SSL_MAC_FLAG_WRITE_MAC_STREAM;
|
||||
- if (s->enc_write_ctx != NULL)
|
||||
+ if (s->enc_write_ctx != NULL && !SSL_IS_DTLS(s))
|
||||
reuse_dd = 1;
|
||||
- else if ((s->enc_write_ctx=OPENSSL_malloc(sizeof(EVP_CIPHER_CTX))) == NULL)
|
||||
+ else if ((s->enc_write_ctx=EVP_CIPHER_CTX_new()) == NULL)
|
||||
goto err;
|
||||
- else
|
||||
- /* make sure it's intialized in case we exit later with an error */
|
||||
- EVP_CIPHER_CTX_init(s->enc_write_ctx);
|
||||
dd= s->enc_write_ctx;
|
||||
- mac_ctx = ssl_replace_hash(&s->write_hash,NULL);
|
||||
+ if (SSL_IS_DTLS(s))
|
||||
+ {
|
||||
+ mac_ctx = EVP_MD_CTX_create();
|
||||
+ if (!mac_ctx)
|
||||
+ goto err;
|
||||
+ s->write_hash = mac_ctx;
|
||||
+ }
|
||||
+ else
|
||||
+ mac_ctx = ssl_replace_hash(&s->write_hash,NULL);
|
||||
#ifndef OPENSSL_NO_COMP
|
||||
if (s->compress != NULL)
|
||||
{
|
||||
--
|
||||
1.7.5.4
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
From 197e0ea817ad64820789d86711d55ff50d71f631 Mon Sep 17 00:00:00 2001
|
||||
From: "Dr. Stephen Henson" <steve@openssl.org>
|
||||
Date: Mon, 6 Jan 2014 14:35:04 +0000
|
||||
Subject: [PATCH] Fix for TLS record tampering bug CVE-2013-4353
|
||||
|
||||
Upstream-Status: Backport
|
||||
commit 197e0ea817ad64820789d86711d55ff50d71f631 upstream
|
||||
|
||||
ssl/s3_both.c | 6 +++++-
|
||||
3 files changed, 11 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/ssl/s3_both.c b/ssl/s3_both.c
|
||||
index 1e5dcab..53b9390 100644
|
||||
--- a/ssl/s3_both.c
|
||||
+++ b/ssl/s3_both.c
|
||||
@@ -210,7 +210,11 @@ static void ssl3_take_mac(SSL *s)
|
||||
{
|
||||
const char *sender;
|
||||
int slen;
|
||||
-
|
||||
+ /* If no new cipher setup return immediately: other functions will
|
||||
+ * set the appropriate error.
|
||||
+ */
|
||||
+ if (s->s3->tmp.new_cipher == NULL)
|
||||
+ return;
|
||||
if (s->state & SSL_ST_CONNECT)
|
||||
{
|
||||
sender=s->method->ssl3_enc->server_finished_label;
|
||||
--
|
||||
1.7.5.4
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
From ca989269a2876bae79393bd54c3e72d49975fc75 Mon Sep 17 00:00:00 2001
|
||||
From: "Dr. Stephen Henson" <steve@openssl.org>
|
||||
Date: Thu, 19 Dec 2013 14:37:39 +0000
|
||||
Subject: [PATCH] Use version in SSL_METHOD not SSL structure.
|
||||
|
||||
Upstream-Status: Backport
|
||||
commit ca989269a2876bae79393bd54c3e72d49975fc75 upstream
|
||||
|
||||
When deciding whether to use TLS 1.2 PRF and record hash algorithms
|
||||
use the version number in the corresponding SSL_METHOD structure
|
||||
instead of the SSL structure. The SSL structure version is sometimes
|
||||
inaccurate. Note: OpenSSL 1.0.2 and later effectively do this already.
|
||||
(CVE-2013-6449)
|
||||
---
|
||||
ssl/s3_lib.c | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/ssl/s3_lib.c b/ssl/s3_lib.c
|
||||
index bf832bb..c4ef273 100644
|
||||
--- a/ssl/s3_lib.c
|
||||
+++ b/ssl/s3_lib.c
|
||||
@@ -4286,7 +4286,7 @@ need to go to SSL_ST_ACCEPT.
|
||||
long ssl_get_algorithm2(SSL *s)
|
||||
{
|
||||
long alg2 = s->s3->tmp.new_cipher->algorithm2;
|
||||
- if (TLS1_get_version(s) >= TLS1_2_VERSION &&
|
||||
+ if (s->method->version == TLS1_2_VERSION &&
|
||||
alg2 == (SSL_HANDSHAKE_MAC_DEFAULT|TLS1_PRF))
|
||||
return SSL_HANDSHAKE_MAC_SHA256 | TLS1_PRF_SHA256;
|
||||
return alg2;
|
||||
--
|
||||
1.7.5.4
|
||||
|
|
@ -0,0 +1,118 @@
|
|||
From 96db9023b881d7cd9f379b0c154650d6c108e9a3 Mon Sep 17 00:00:00 2001
|
||||
From: "Dr. Stephen Henson" <steve@openssl.org>
|
||||
Date: Sun, 6 Apr 2014 00:51:06 +0100
|
||||
Subject: [PATCH] Add heartbeat extension bounds check.
|
||||
|
||||
A missing bounds check in the handling of the TLS heartbeat extension
|
||||
can be used to reveal up to 64k of memory to a connected client or
|
||||
server.
|
||||
|
||||
Thanks for Neel Mehta of Google Security for discovering this bug and to
|
||||
Adam Langley <agl@chromium.org> and Bodo Moeller <bmoeller@acm.org> for
|
||||
preparing the fix (CVE-2014-0160)
|
||||
|
||||
Patch (tweaked version of upstream fix without CHANGES change) borrowed
|
||||
from Debian.
|
||||
|
||||
Upstream-Status: Backport
|
||||
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
|
||||
|
||||
---
|
||||
ssl/d1_both.c | 26 ++++++++++++++++++--------
|
||||
ssl/t1_lib.c | 14 +++++++++-----
|
||||
3 files changed, 36 insertions(+), 13 deletions(-)
|
||||
|
||||
diff --git a/ssl/d1_both.c b/ssl/d1_both.c
|
||||
index 7a5596a..2e8cf68 100644
|
||||
--- a/ssl/d1_both.c
|
||||
+++ b/ssl/d1_both.c
|
||||
@@ -1459,26 +1459,36 @@ dtls1_process_heartbeat(SSL *s)
|
||||
unsigned int payload;
|
||||
unsigned int padding = 16; /* Use minimum padding */
|
||||
|
||||
- /* Read type and payload length first */
|
||||
- hbtype = *p++;
|
||||
- n2s(p, payload);
|
||||
- pl = p;
|
||||
-
|
||||
if (s->msg_callback)
|
||||
s->msg_callback(0, s->version, TLS1_RT_HEARTBEAT,
|
||||
&s->s3->rrec.data[0], s->s3->rrec.length,
|
||||
s, s->msg_callback_arg);
|
||||
|
||||
+ /* Read type and payload length first */
|
||||
+ if (1 + 2 + 16 > s->s3->rrec.length)
|
||||
+ return 0; /* silently discard */
|
||||
+ hbtype = *p++;
|
||||
+ n2s(p, payload);
|
||||
+ if (1 + 2 + payload + 16 > s->s3->rrec.length)
|
||||
+ return 0; /* silently discard per RFC 6520 sec. 4 */
|
||||
+ pl = p;
|
||||
+
|
||||
if (hbtype == TLS1_HB_REQUEST)
|
||||
{
|
||||
unsigned char *buffer, *bp;
|
||||
+ unsigned int write_length = 1 /* heartbeat type */ +
|
||||
+ 2 /* heartbeat length */ +
|
||||
+ payload + padding;
|
||||
int r;
|
||||
|
||||
+ if (write_length > SSL3_RT_MAX_PLAIN_LENGTH)
|
||||
+ return 0;
|
||||
+
|
||||
/* Allocate memory for the response, size is 1 byte
|
||||
* message type, plus 2 bytes payload length, plus
|
||||
* payload, plus padding
|
||||
*/
|
||||
- buffer = OPENSSL_malloc(1 + 2 + payload + padding);
|
||||
+ buffer = OPENSSL_malloc(write_length);
|
||||
bp = buffer;
|
||||
|
||||
/* Enter response type, length and copy payload */
|
||||
@@ -1489,11 +1499,11 @@ dtls1_process_heartbeat(SSL *s)
|
||||
/* Random padding */
|
||||
RAND_pseudo_bytes(bp, padding);
|
||||
|
||||
- r = dtls1_write_bytes(s, TLS1_RT_HEARTBEAT, buffer, 3 + payload + padding);
|
||||
+ r = dtls1_write_bytes(s, TLS1_RT_HEARTBEAT, buffer, write_length);
|
||||
|
||||
if (r >= 0 && s->msg_callback)
|
||||
s->msg_callback(1, s->version, TLS1_RT_HEARTBEAT,
|
||||
- buffer, 3 + payload + padding,
|
||||
+ buffer, write_length,
|
||||
s, s->msg_callback_arg);
|
||||
|
||||
OPENSSL_free(buffer);
|
||||
diff --git a/ssl/t1_lib.c b/ssl/t1_lib.c
|
||||
index b82fada..bddffd9 100644
|
||||
--- a/ssl/t1_lib.c
|
||||
+++ b/ssl/t1_lib.c
|
||||
@@ -2588,16 +2588,20 @@ tls1_process_heartbeat(SSL *s)
|
||||
unsigned int payload;
|
||||
unsigned int padding = 16; /* Use minimum padding */
|
||||
|
||||
- /* Read type and payload length first */
|
||||
- hbtype = *p++;
|
||||
- n2s(p, payload);
|
||||
- pl = p;
|
||||
-
|
||||
if (s->msg_callback)
|
||||
s->msg_callback(0, s->version, TLS1_RT_HEARTBEAT,
|
||||
&s->s3->rrec.data[0], s->s3->rrec.length,
|
||||
s, s->msg_callback_arg);
|
||||
|
||||
+ /* Read type and payload length first */
|
||||
+ if (1 + 2 + 16 > s->s3->rrec.length)
|
||||
+ return 0; /* silently discard */
|
||||
+ hbtype = *p++;
|
||||
+ n2s(p, payload);
|
||||
+ if (1 + 2 + payload + 16 > s->s3->rrec.length)
|
||||
+ return 0; /* silently discard per RFC 6520 sec. 4 */
|
||||
+ pl = p;
|
||||
+
|
||||
if (hbtype == TLS1_HB_REQUEST)
|
||||
{
|
||||
unsigned char *buffer, *bp;
|
||||
--
|
||||
1.9.1
|
||||
|
|
@ -0,0 +1,40 @@
|
|||
commit 208d54db20d58c9a5e45e856a0650caadd7d9612
|
||||
Author: Dr. Stephen Henson <steve@openssl.org>
|
||||
Date: Tue May 13 18:48:31 2014 +0100
|
||||
|
||||
Fix for CVE-2014-0195
|
||||
|
||||
A buffer overrun attack can be triggered by sending invalid DTLS fragments
|
||||
to an OpenSSL DTLS client or server. This is potentially exploitable to
|
||||
run arbitrary code on a vulnerable client or server.
|
||||
|
||||
Fixed by adding consistency check for DTLS fragments.
|
||||
|
||||
Thanks to Jüri Aedla for reporting this issue.
|
||||
|
||||
Patch borrowed from Fedora
|
||||
Upstream-Status: Backport
|
||||
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
|
||||
|
||||
diff --git a/ssl/d1_both.c b/ssl/d1_both.c
|
||||
index 2e8cf68..07f67f8 100644
|
||||
--- a/ssl/d1_both.c
|
||||
+++ b/ssl/d1_both.c
|
||||
@@ -627,7 +627,16 @@ dtls1_reassemble_fragment(SSL *s, struct hm_header_st* msg_hdr, int *ok)
|
||||
frag->msg_header.frag_off = 0;
|
||||
}
|
||||
else
|
||||
+ {
|
||||
frag = (hm_fragment*) item->data;
|
||||
+ if (frag->msg_header.msg_len != msg_hdr->msg_len)
|
||||
+ {
|
||||
+ item = NULL;
|
||||
+ frag = NULL;
|
||||
+ goto err;
|
||||
+ }
|
||||
+ }
|
||||
+
|
||||
|
||||
/* If message is already reassembled, this must be a
|
||||
* retransmit and can be dropped.
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
From: Matt Caswell <matt@openssl.org>
|
||||
Date: Sun, 11 May 2014 23:38:37 +0000 (+0100)
|
||||
Subject: Fixed NULL pointer dereference. See PR#3321
|
||||
X-Git-Url: https://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff_plain;h=b107586
|
||||
|
||||
Fixed NULL pointer dereference. See PR#3321
|
||||
|
||||
Patch borrowed from Fedora
|
||||
Upstream-Status: Backport
|
||||
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
|
||||
|
||||
---
|
||||
|
||||
diff --git a/ssl/s3_pkt.c b/ssl/s3_pkt.c
|
||||
index 40eb0dd..d961d12 100644
|
||||
--- a/ssl/s3_pkt.c
|
||||
+++ b/ssl/s3_pkt.c
|
||||
@@ -657,9 +657,6 @@ static int do_ssl3_write(SSL *s, int type, const unsigned char *buf,
|
||||
SSL3_BUFFER *wb=&(s->s3->wbuf);
|
||||
SSL_SESSION *sess;
|
||||
|
||||
- if (wb->buf == NULL)
|
||||
- if (!ssl3_setup_write_buffer(s))
|
||||
- return -1;
|
||||
|
||||
/* first check if there is a SSL3_BUFFER still being written
|
||||
* out. This will happen with non blocking IO */
|
||||
@@ -675,6 +672,10 @@ static int do_ssl3_write(SSL *s, int type, const unsigned char *buf,
|
||||
/* if it went, fall through and send more stuff */
|
||||
}
|
||||
|
||||
+ if (wb->buf == NULL)
|
||||
+ if (!ssl3_setup_write_buffer(s))
|
||||
+ return -1;
|
||||
+
|
||||
if (len == 0 && !create_empty_fragment)
|
||||
return 0;
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
commit d30e582446b027868cdabd0994681643682045a4
|
||||
Author: Dr. Stephen Henson <steve@openssl.org>
|
||||
Date: Fri May 16 13:00:45 2014 +0100
|
||||
|
||||
Fix CVE-2014-0221
|
||||
|
||||
Unnecessary recursion when receiving a DTLS hello request can be used to
|
||||
crash a DTLS client. Fixed by handling DTLS hello request without recursion.
|
||||
|
||||
Thanks to Imre Rad (Search-Lab Ltd.) for discovering this issue.
|
||||
|
||||
Patch borrowed from Fedora
|
||||
Upstream-Status: Backport
|
||||
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
|
||||
|
||||
diff --git a/ssl/d1_both.c b/ssl/d1_both.c
|
||||
index 07f67f8..4c2fd03 100644
|
||||
--- a/ssl/d1_both.c
|
||||
+++ b/ssl/d1_both.c
|
||||
@@ -793,6 +793,7 @@ dtls1_get_message_fragment(SSL *s, int st1, int stn, long max, int *ok)
|
||||
int i,al;
|
||||
struct hm_header_st msg_hdr;
|
||||
|
||||
+ redo:
|
||||
/* see if we have the required fragment already */
|
||||
if ((frag_len = dtls1_retrieve_buffered_fragment(s,max,ok)) || *ok)
|
||||
{
|
||||
@@ -851,8 +852,7 @@ dtls1_get_message_fragment(SSL *s, int st1, int stn, long max, int *ok)
|
||||
s->msg_callback_arg);
|
||||
|
||||
s->init_num = 0;
|
||||
- return dtls1_get_message_fragment(s, st1, stn,
|
||||
- max, ok);
|
||||
+ goto redo;
|
||||
}
|
||||
else /* Incorrectly formated Hello request */
|
||||
{
|
||||
|
|
@ -0,0 +1,103 @@
|
|||
Fix for CVE-2014-0224
|
||||
|
||||
Only accept change cipher spec when it is expected instead of at any
|
||||
time. This prevents premature setting of session keys before the master
|
||||
secret is determined which an attacker could use as a MITM attack.
|
||||
|
||||
Thanks to KIKUCHI Masashi (Lepidum Co. Ltd.) for reporting this issue
|
||||
and providing the initial fix this patch is based on.
|
||||
|
||||
|
||||
Patch borrowed from Fedora
|
||||
Upstream-Status: Backport
|
||||
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
|
||||
|
||||
|
||||
diff -up openssl-1.0.1e/ssl/ssl3.h.keying-mitm openssl-1.0.1e/ssl/ssl3.h
|
||||
--- openssl-1.0.1e/ssl/ssl3.h.keying-mitm 2014-06-02 19:48:04.518100562 +0200
|
||||
+++ openssl-1.0.1e/ssl/ssl3.h 2014-06-02 19:48:04.642103429 +0200
|
||||
@@ -388,6 +388,7 @@ typedef struct ssl3_buffer_st
|
||||
#define TLS1_FLAGS_TLS_PADDING_BUG 0x0008
|
||||
#define TLS1_FLAGS_SKIP_CERT_VERIFY 0x0010
|
||||
#define TLS1_FLAGS_KEEP_HANDSHAKE 0x0020
|
||||
+#define SSL3_FLAGS_CCS_OK 0x0080
|
||||
|
||||
/* SSL3_FLAGS_SGC_RESTART_DONE is set when we
|
||||
* restart a handshake because of MS SGC and so prevents us
|
||||
diff -up openssl-1.0.1e/ssl/s3_clnt.c.keying-mitm openssl-1.0.1e/ssl/s3_clnt.c
|
||||
--- openssl-1.0.1e/ssl/s3_clnt.c.keying-mitm 2013-02-11 16:26:04.000000000 +0100
|
||||
+++ openssl-1.0.1e/ssl/s3_clnt.c 2014-06-02 19:49:57.042701985 +0200
|
||||
@@ -559,6 +559,7 @@ int ssl3_connect(SSL *s)
|
||||
case SSL3_ST_CR_FINISHED_A:
|
||||
case SSL3_ST_CR_FINISHED_B:
|
||||
|
||||
+ s->s3->flags |= SSL3_FLAGS_CCS_OK;
|
||||
ret=ssl3_get_finished(s,SSL3_ST_CR_FINISHED_A,
|
||||
SSL3_ST_CR_FINISHED_B);
|
||||
if (ret <= 0) goto end;
|
||||
@@ -916,6 +917,7 @@ int ssl3_get_server_hello(SSL *s)
|
||||
SSLerr(SSL_F_SSL3_GET_SERVER_HELLO,SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT);
|
||||
goto f_err;
|
||||
}
|
||||
+ s->s3->flags |= SSL3_FLAGS_CCS_OK;
|
||||
s->hit=1;
|
||||
}
|
||||
else /* a miss or crap from the other end */
|
||||
diff -up openssl-1.0.1e/ssl/s3_pkt.c.keying-mitm openssl-1.0.1e/ssl/s3_pkt.c
|
||||
--- openssl-1.0.1e/ssl/s3_pkt.c.keying-mitm 2014-06-02 19:48:04.640103383 +0200
|
||||
+++ openssl-1.0.1e/ssl/s3_pkt.c 2014-06-02 19:48:04.643103452 +0200
|
||||
@@ -1298,6 +1298,15 @@ start:
|
||||
goto f_err;
|
||||
}
|
||||
|
||||
+ if (!(s->s3->flags & SSL3_FLAGS_CCS_OK))
|
||||
+ {
|
||||
+ al=SSL_AD_UNEXPECTED_MESSAGE;
|
||||
+ SSLerr(SSL_F_SSL3_READ_BYTES,SSL_R_CCS_RECEIVED_EARLY);
|
||||
+ goto f_err;
|
||||
+ }
|
||||
+
|
||||
+ s->s3->flags &= ~SSL3_FLAGS_CCS_OK;
|
||||
+
|
||||
rr->length=0;
|
||||
|
||||
if (s->msg_callback)
|
||||
@@ -1432,7 +1441,7 @@ int ssl3_do_change_cipher_spec(SSL *s)
|
||||
|
||||
if (s->s3->tmp.key_block == NULL)
|
||||
{
|
||||
- if (s->session == NULL)
|
||||
+ if (s->session == NULL || s->session->master_key_length == 0)
|
||||
{
|
||||
/* might happen if dtls1_read_bytes() calls this */
|
||||
SSLerr(SSL_F_SSL3_DO_CHANGE_CIPHER_SPEC,SSL_R_CCS_RECEIVED_EARLY);
|
||||
diff -up openssl-1.0.1e/ssl/s3_srvr.c.keying-mitm openssl-1.0.1e/ssl/s3_srvr.c
|
||||
--- openssl-1.0.1e/ssl/s3_srvr.c.keying-mitm 2014-06-02 19:48:04.630103151 +0200
|
||||
+++ openssl-1.0.1e/ssl/s3_srvr.c 2014-06-02 19:48:04.643103452 +0200
|
||||
@@ -673,6 +673,7 @@ int ssl3_accept(SSL *s)
|
||||
case SSL3_ST_SR_CERT_VRFY_A:
|
||||
case SSL3_ST_SR_CERT_VRFY_B:
|
||||
|
||||
+ s->s3->flags |= SSL3_FLAGS_CCS_OK;
|
||||
/* we should decide if we expected this one */
|
||||
ret=ssl3_get_cert_verify(s);
|
||||
if (ret <= 0) goto end;
|
||||
@@ -700,6 +701,7 @@ int ssl3_accept(SSL *s)
|
||||
|
||||
case SSL3_ST_SR_FINISHED_A:
|
||||
case SSL3_ST_SR_FINISHED_B:
|
||||
+ s->s3->flags |= SSL3_FLAGS_CCS_OK;
|
||||
ret=ssl3_get_finished(s,SSL3_ST_SR_FINISHED_A,
|
||||
SSL3_ST_SR_FINISHED_B);
|
||||
if (ret <= 0) goto end;
|
||||
@@ -770,7 +772,10 @@ int ssl3_accept(SSL *s)
|
||||
s->s3->tmp.next_state=SSL3_ST_SR_FINISHED_A;
|
||||
#else
|
||||
if (s->s3->next_proto_neg_seen)
|
||||
+ {
|
||||
+ s->s3->flags |= SSL3_FLAGS_CCS_OK;
|
||||
s->s3->tmp.next_state=SSL3_ST_SR_NEXT_PROTO_A;
|
||||
+ }
|
||||
else
|
||||
s->s3->tmp.next_state=SSL3_ST_SR_FINISHED_A;
|
||||
#endif
|
|
@ -0,0 +1,31 @@
|
|||
commit 4ad43d511f6cf064c66eb4bfd0fb0919b5dd8a86
|
||||
Author: Dr. Stephen Henson <steve@openssl.org>
|
||||
Date: Thu May 29 15:00:05 2014 +0100
|
||||
|
||||
Fix CVE-2014-3470
|
||||
|
||||
Check session_cert is not NULL before dereferencing it.
|
||||
|
||||
Patch borrowed from Fedora
|
||||
Upstream-Status: Backport
|
||||
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
|
||||
|
||||
|
||||
diff --git a/ssl/s3_clnt.c b/ssl/s3_clnt.c
|
||||
index d35376d..4324f8d 100644
|
||||
--- a/ssl/s3_clnt.c
|
||||
+++ b/ssl/s3_clnt.c
|
||||
@@ -2511,6 +2511,13 @@ int ssl3_send_client_key_exchange(SSL *s)
|
||||
int ecdh_clnt_cert = 0;
|
||||
int field_size = 0;
|
||||
|
||||
+ if (s->session->sess_cert == NULL)
|
||||
+ {
|
||||
+ ssl3_send_alert(s,SSL3_AL_FATAL,SSL_AD_UNEXPECTED_MESSAGE);
|
||||
+ SSLerr(SSL_F_SSL3_SEND_CLIENT_KEY_EXCHANGE,SSL_R_UNEXPECTED_MESSAGE);
|
||||
+ goto err;
|
||||
+ }
|
||||
+
|
||||
/* Did we send out the client's
|
||||
* ECDH share for use in premaster
|
||||
* computation as part of client certificate?
|
|
@ -0,0 +1,24 @@
|
|||
openssl fix for CVE-2010-5298
|
||||
|
||||
Upstream-Status: Backport
|
||||
|
||||
Race condition in the ssl3_read_bytes function in s3_pkt.c in OpenSSL
|
||||
through 1.0.1g, when SSL_MODE_RELEASE_BUFFERS is enabled, allows remote
|
||||
attackers to inject data across sessions or cause a denial of service
|
||||
(use-after-free and parsing error) via an SSL connection in a
|
||||
multithreaded environment.
|
||||
|
||||
http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2010-5298
|
||||
|
||||
Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
|
||||
--- a/ssl/s3_pkt.c
|
||||
+++ b/ssl/s3_pkt.c
|
||||
@@ -1013,7 +1013,7 @@ start:
|
||||
{
|
||||
s->rstate=SSL_ST_READ_HEADER;
|
||||
rr->off=0;
|
||||
- if (s->mode & SSL_MODE_RELEASE_BUFFERS)
|
||||
+ if (s->mode & SSL_MODE_RELEASE_BUFFERS && s->s3->rbuf.left == 0)
|
||||
ssl3_release_read_buffer(s);
|
||||
}
|
||||
}
|
|
@ -6,7 +6,7 @@ DEPENDS += "ocf-linux"
|
|||
|
||||
CFLAG += "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS"
|
||||
|
||||
PR = "${INC_PR}.0"
|
||||
PR = "${INC_PR}.2"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=f9a8f968107345e0b75aa8c2ecaa7ec8"
|
||||
|
||||
|
@ -34,6 +34,16 @@ SRC_URI += "file://configure-targets.patch \
|
|||
file://openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch \
|
||||
file://openssl-avoid-NULL-pointer-dereference-in-dh_pub_encode.patch \
|
||||
file://find.pl \
|
||||
file://0001-Fix-for-TLS-record-tampering-bug-CVE-2013-4353.patch \
|
||||
file://0001-Fix-DTLS-retransmission-from-previous-session.patch \
|
||||
file://0001-Use-version-in-SSL_METHOD-not-SSL-structure.patch \
|
||||
file://CVE-2014-0160.patch \
|
||||
file://openssl-1.0.1e-cve-2014-0195.patch \
|
||||
file://openssl-1.0.1e-cve-2014-0198.patch \
|
||||
file://openssl-1.0.1e-cve-2014-0221.patch \
|
||||
file://openssl-1.0.1e-cve-2014-0224.patch \
|
||||
file://openssl-1.0.1e-cve-2014-3470.patch \
|
||||
file://openssl-CVE-2010-5298.patch \
|
||||
"
|
||||
|
||||
SRC_URI[md5sum] = "66bf6f10f060d561929de96f9dfe5b8c"
|
||||
|
|
|
@ -0,0 +1,227 @@
|
|||
Upstream-Status: Backport
|
||||
|
||||
Concatenated fix of PowerPC time related system calls in eglibc 2.18 taken
|
||||
from upstream glibc. Eglibc 2.17 does not have this issue and the patches are
|
||||
already part of 2.19.
|
||||
This compilation includes the following committs:
|
||||
|
||||
|
||||
PowerPC: Fix vDSO missing ODP entries
|
||||
|
||||
author Adhemerval Zanella <azanella@linux.vnet.ibm.com>
|
||||
Thu, 7 Nov 2013 11:34:22 +0000 (05:34 -0600)
|
||||
|
||||
This patch fixes the vDSO symbol used directed in IFUNC resolver where
|
||||
they do not have an associated ODP entry leading to undefined behavior
|
||||
in some cases. It adds an artificial OPD static entry to such cases
|
||||
and set its TOC to non 0 to avoid triggering lazy resolutions.
|
||||
|
||||
|
||||
Update copyright notices with scripts/update-copyrights
|
||||
|
||||
author Allan McRae <allan@archlinux.org>
|
||||
Wed, 1 Jan 2014 11:03:15 +0000 (21:03 +1000)
|
||||
|
||||
((Only for files otherwise touched by this patch))
|
||||
|
||||
|
||||
PowerPC: Fix ftime gettimeofday internal call returning bogus data
|
||||
|
||||
author Adhemerval Zanella <azanella@linux.vnet.ibm.com>
|
||||
Thu, 16 Jan 2014 12:53:18 +0000 (06:53 -0600)
|
||||
|
||||
This patches fixes BZ#16430 by setting a different symbol for internal
|
||||
GLIBC calls that points to ifunc resolvers. For PPC32, if the symbol
|
||||
is defined as hidden (which is the case for gettimeofday and time) the
|
||||
compiler will create local branches (symbol@local) and linker will not
|
||||
create PLT calls (required for IFUNC). This will leads to internal symbol
|
||||
calling the IFUNC resolver instead of the resolved symbol.
|
||||
For PPC64 this behavior does not occur because a call to a function in
|
||||
another translation unit might use a different toc pointer thus requiring
|
||||
a PLT call.
|
||||
|
||||
|
||||
PowerPC: Fix gettimeofday ifunc selection
|
||||
|
||||
author Adhemerval Zanella <azanella@linux.vnet.ibm.com>
|
||||
Mon, 20 Jan 2014 18:29:51 +0000 (12:29 -0600)
|
||||
|
||||
The IFUNC selector for gettimeofday runs before _libc_vdso_platform_setup where
|
||||
__vdso_gettimeofday is set. The selector then sets __gettimeofday (the internal
|
||||
version used within GLIBC) to use the system call version instead of the vDSO one.
|
||||
This patch changes the check if vDSO is available to get its value directly
|
||||
instead of rely on __vdso_gettimeofday.
|
||||
|
||||
This patch changes it by getting the vDSO value directly.
|
||||
|
||||
It fixes BZ#16431.
|
||||
|
||||
|
||||
---
|
||||
diff -pruN libc.orig/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h libc/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h
|
||||
--- libc.orig/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h
|
||||
+++ libc/sysdeps/unix/sysv/linux/powerpc/bits/libc-vdso.h
|
||||
@@ -1,5 +1,5 @@
|
||||
/* Resolve function pointers to VDSO functions.
|
||||
- Copyright (C) 2005-2013 Free Software Foundation, Inc.
|
||||
+ Copyright (C) 2005-2014 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@@ -34,12 +34,32 @@ extern void *__vdso_getcpu;
|
||||
|
||||
extern void *__vdso_time;
|
||||
|
||||
-/* This macro is needed for PPC64 to return a skeleton OPD entry of a vDSO
|
||||
- symbol. This works because _dl_vdso_vsym always return the function
|
||||
- address, and no vDSO symbols use the TOC or chain pointers from the OPD
|
||||
- so we can allow them to be garbage. */
|
||||
#if defined(__PPC64__) || defined(__powerpc64__)
|
||||
-#define VDSO_IFUNC_RET(value) ((void *) &(value))
|
||||
+/* The correct solution is for _dl_vdso_vsym to return the address of the OPD
|
||||
+ for the kernel VDSO function. That address would then be stored in the
|
||||
+ __vdso_* variables and returned as the result of the IFUNC resolver function.
|
||||
+ Yet, the kernel does not contain any OPD entries for the VDSO functions
|
||||
+ (incomplete implementation). However, PLT relocations for IFUNCs still expect
|
||||
+ the address of an OPD to be returned from the IFUNC resolver function (since
|
||||
+ PLT entries on PPC64 are just copies of OPDs). The solution for now is to
|
||||
+ create an artificial static OPD for each VDSO function returned by a resolver
|
||||
+ function. The TOC value is set to a non-zero value to avoid triggering lazy
|
||||
+ symbol resolution via .glink0/.plt0 for a zero TOC (requires thread-safe PLT
|
||||
+ sequences) when the dynamic linker isn't prepared for it e.g. RTLD_NOW. None
|
||||
+ of the kernel VDSO routines use the TOC or AUX values so any non-zero value
|
||||
+ will work. Note that function pointer comparisons will not use this artificial
|
||||
+ static OPD since those are resolved via ADDR64 relocations and will point at
|
||||
+ the non-IFUNC default OPD for the symbol. Lastly, because the IFUNC relocations
|
||||
+ are processed immediately at startup the resolver functions and this code need
|
||||
+ not be thread-safe, but if the caller writes to a PLT slot it must do so in a
|
||||
+ thread-safe manner with all the required barriers. */
|
||||
+#define VDSO_IFUNC_RET(value) \
|
||||
+ ({ \
|
||||
+ static Elf64_FuncDesc vdso_opd = { .fd_toc = ~0x0 }; \
|
||||
+ vdso_opd.fd_func = (Elf64_Addr)value; \
|
||||
+ &vdso_opd; \
|
||||
+ })
|
||||
+
|
||||
#else
|
||||
#define VDSO_IFUNC_RET(value) ((void *) (value))
|
||||
#endif
|
||||
diff -pruN libc.orig/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c libc/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c
|
||||
--- libc.orig/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c
|
||||
+++ libc/sysdeps/unix/sysv/linux/powerpc/gettimeofday.c
|
||||
@@ -1,4 +1,4 @@
|
||||
-/* Copyright (C) 2005-2013 Free Software Foundation, Inc.
|
||||
+/* Copyright (C) 2005-2014 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@@ -22,6 +22,7 @@
|
||||
|
||||
# include <dl-vdso.h>
|
||||
# include <bits/libc-vdso.h>
|
||||
+# include <dl-machine.h>
|
||||
|
||||
void *gettimeofday_ifunc (void) __asm__ ("__gettimeofday");
|
||||
|
||||
@@ -34,17 +35,36 @@ __gettimeofday_syscall (struct timeval *
|
||||
void *
|
||||
gettimeofday_ifunc (void)
|
||||
{
|
||||
+ PREPARE_VERSION (linux2615, "LINUX_2.6.15", 123718565);
|
||||
+
|
||||
/* If the vDSO is not available we fall back syscall. */
|
||||
- return (__vdso_gettimeofday ? VDSO_IFUNC_RET (__vdso_gettimeofday)
|
||||
- : __gettimeofday_syscall);
|
||||
+ void *vdso_gettimeofday = _dl_vdso_vsym ("__kernel_gettimeofday", &linux2615);
|
||||
+ return (vdso_gettimeofday ? VDSO_IFUNC_RET (vdso_gettimeofday)
|
||||
+ : (void*)__gettimeofday_syscall);
|
||||
}
|
||||
asm (".type __gettimeofday, %gnu_indirect_function");
|
||||
|
||||
/* This is doing "libc_hidden_def (__gettimeofday)" but the compiler won't
|
||||
let us do it in C because it doesn't know we're defining __gettimeofday
|
||||
here in this file. */
|
||||
-asm (".globl __GI___gettimeofday\n"
|
||||
- "__GI___gettimeofday = __gettimeofday");
|
||||
+asm (".globl __GI___gettimeofday");
|
||||
+
|
||||
+/* __GI___gettimeofday is defined as hidden and for ppc32 it enables the
|
||||
+ compiler make a local call (symbol@local) for internal GLIBC usage. It
|
||||
+ means the PLT won't be used and the ifunc resolver will be called directly.
|
||||
+ For ppc64 a call to a function in another translation unit might use a
|
||||
+ different toc pointer thus disallowing direct branchess and making internal
|
||||
+ ifuncs calls safe. */
|
||||
+#ifdef __powerpc64__
|
||||
+asm ("__GI___gettimeofday = __gettimeofday");
|
||||
+#else
|
||||
+int
|
||||
+__gettimeofday_vsyscall (struct timeval *tv, struct timezone *tz)
|
||||
+{
|
||||
+ return INLINE_VSYSCALL (gettimeofday, 2, tv, tz);
|
||||
+}
|
||||
+asm ("__GI___gettimeofday = __gettimeofday_vsyscall");
|
||||
+#endif
|
||||
|
||||
#else
|
||||
|
||||
diff -pruN libc.orig/sysdeps/unix/sysv/linux/powerpc/time.c libc/sysdeps/unix/sysv/linux/powerpc/time.c
|
||||
--- libc.orig/sysdeps/unix/sysv/linux/powerpc/time.c
|
||||
+++ libc/sysdeps/unix/sysv/linux/powerpc/time.c
|
||||
@@ -1,5 +1,5 @@
|
||||
/* time system call for Linux/PowerPC.
|
||||
- Copyright (C) 2013 Free Software Foundation, Inc.
|
||||
+ Copyright (C) 2013-2014 Free Software Foundation, Inc.
|
||||
This file is part of the GNU C Library.
|
||||
|
||||
The GNU C Library is free software; you can redistribute it and/or
|
||||
@@ -20,7 +20,9 @@
|
||||
|
||||
# include <time.h>
|
||||
# include <sysdep.h>
|
||||
+# include <dl-vdso.h>
|
||||
# include <bits/libc-vdso.h>
|
||||
+# include <dl-machine.h>
|
||||
|
||||
void *time_ifunc (void) asm ("time");
|
||||
|
||||
@@ -43,17 +45,36 @@ time_syscall (time_t *t)
|
||||
void *
|
||||
time_ifunc (void)
|
||||
{
|
||||
+ PREPARE_VERSION (linux2615, "LINUX_2.6.15", 123718565);
|
||||
+
|
||||
/* If the vDSO is not available we fall back to the syscall. */
|
||||
- return (__vdso_time ? VDSO_IFUNC_RET (__vdso_time)
|
||||
- : time_syscall);
|
||||
+ void *vdso_time = _dl_vdso_vsym ("__kernel_time", &linux2615);
|
||||
+ return (vdso_time ? VDSO_IFUNC_RET (vdso_time)
|
||||
+ : (void*)time_syscall);
|
||||
}
|
||||
asm (".type time, %gnu_indirect_function");
|
||||
|
||||
/* This is doing "libc_hidden_def (time)" but the compiler won't
|
||||
* let us do it in C because it doesn't know we're defining time
|
||||
* here in this file. */
|
||||
-asm (".globl __GI_time\n"
|
||||
- "__GI_time = time");
|
||||
+asm (".globl __GI_time");
|
||||
+
|
||||
+/* __GI_time is defined as hidden and for ppc32 it enables the
|
||||
+ compiler make a local call (symbol@local) for internal GLIBC usage. It
|
||||
+ means the PLT won't be used and the ifunc resolver will be called directly.
|
||||
+ For ppc64 a call to a function in another translation unit might use a
|
||||
+ different toc pointer thus disallowing direct branchess and making internal
|
||||
+ ifuncs calls safe. */
|
||||
+#ifdef __powerpc64__
|
||||
+asm ("__GI_time = time");
|
||||
+#else
|
||||
+time_t
|
||||
+__time_vsyscall (time_t *t)
|
||||
+{
|
||||
+ return INLINE_VSYSCALL (time, 1, t);
|
||||
+}
|
||||
+asm ("__GI_time = __time_vsyscall");
|
||||
+#endif
|
||||
|
||||
#else
|
||||
|
|
@ -28,6 +28,7 @@ SRC_URI = "http://downloads.yoctoproject.org/releases/eglibc/eglibc-${PV}-svnr23
|
|||
file://fix-tibetian-locales.patch \
|
||||
file://0001-ARM-Pass-dl_hwcap-to-IFUNC-resolver.patch \
|
||||
file://make-4.patch \
|
||||
file://ppc-fix-time-related-syscalls.patch \
|
||||
"
|
||||
SRC_URI[md5sum] = "b395b021422a027d89884992e91734fc"
|
||||
SRC_URI[sha256sum] = "15f564b45dc5dd65faf0875579e3447961ae61e876933384ae05d19328539ad4"
|
||||
|
|
|
@ -21,7 +21,7 @@ IMAGE_FSTYPES = "vmdk"
|
|||
|
||||
inherit core-image
|
||||
|
||||
SRCREV ?= "785b7e392922453698dd8b21cae5b229a9352031"
|
||||
SRCREV ?= "4278b11da97f6fbb5da16dffe46e797923063da9"
|
||||
SRC_URI = "git://git.yoctoproject.org/poky \
|
||||
file://Yocto_Build_Appliance.vmx \
|
||||
file://Yocto_Build_Appliance.vmxf \
|
||||
|
|
|
@ -30,6 +30,8 @@ SRC_URI = "\
|
|||
${BACKPORT} \
|
||||
file://binutils-fix-over-array-bounds-issue.patch \
|
||||
file://binutils-xlp-support.patch \
|
||||
file://replace_macros_with_static_inline.patch \
|
||||
file://0001-Fix-MMIX-build-breakage-from-bfd_set_section_vma-cha.patch \
|
||||
"
|
||||
|
||||
BACKPORT = "\
|
||||
|
|
|
@ -0,0 +1,31 @@
|
|||
Upstream-Status: Backport
|
||||
|
||||
From 0a09fb4a09e80c36fa3ef763ae276fd13d272a36 Mon Sep 17 00:00:00 2001
|
||||
From: Hans-Peter Nilsson <hp@bitrange.com>
|
||||
Date: Sat, 1 Feb 2014 01:11:28 +0100
|
||||
Subject: [PATCH] Fix MMIX build breakage from bfd_set_section_vma change.
|
||||
|
||||
* emultempl/mmix-elfnmmo.em (mmix_after_allocation): Fix typo in
|
||||
call to bfd_set_section_vma exposed by recent bfd_set_section_vma
|
||||
change.
|
||||
---
|
||||
ld/ChangeLog | 6 ++++++
|
||||
ld/emultempl/mmix-elfnmmo.em | 2 +-
|
||||
2 files changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/ld/emultempl/mmix-elfnmmo.em b/ld/emultempl/mmix-elfnmmo.em
|
||||
index 0059792..5e9781a 100644
|
||||
--- a/ld/emultempl/mmix-elfnmmo.em
|
||||
+++ b/ld/emultempl/mmix-elfnmmo.em
|
||||
@@ -102,7 +102,7 @@ mmix_after_allocation (void)
|
||||
This section is only present when there are register symbols. */
|
||||
sec = bfd_get_section_by_name (link_info.output_bfd, MMIX_REG_SECTION_NAME);
|
||||
if (sec != NULL)
|
||||
- bfd_set_section_vma (abfd, sec, 0);
|
||||
+ bfd_set_section_vma (sec->owner, sec, 0);
|
||||
|
||||
if (!_bfd_mmix_after_linker_allocation (link_info.output_bfd, &link_info))
|
||||
{
|
||||
--
|
||||
1.7.10.4
|
||||
|
|
@ -0,0 +1,188 @@
|
|||
Upstream-Status: Backport
|
||||
|
||||
From 27b829ee701e29804216b3803fbaeb629be27491 Mon Sep 17 00:00:00 2001
|
||||
From: Nick Clifton <nickc@redhat.com>
|
||||
Date: Wed, 29 Jan 2014 13:46:39 +0000
|
||||
Subject: [PATCH 1/1] Following up on Tom's suggestion I am checking in a patch to replace the various
|
||||
bfd_xxx_set macros with static inline functions, so that we can avoid compile time
|
||||
warnings about comma expressions with unused values.
|
||||
|
||||
* bfd-in.h (bfd_set_section_vma): Delete.
|
||||
(bfd_set_section_alignment): Delete.
|
||||
(bfd_set_section_userdata): Delete.
|
||||
(bfd_set_cacheable): Delete.
|
||||
* bfd.c (bfd_set_cacheable): New static inline function.
|
||||
* section.c (bfd_set_section_userdata): Likewise.
|
||||
(bfd_set_section_vma): Likewise.
|
||||
(bfd_set_section_alignment): Likewise.
|
||||
* bfd-in2.h: Regenerate.
|
||||
---
|
||||
bfd/ChangeLog | 12 ++++++++++++
|
||||
bfd/bfd-in.h | 5 -----
|
||||
bfd/bfd-in2.h | 41 +++++++++++++++++++++++++++++++++++------
|
||||
bfd/bfd.c | 8 ++++++++
|
||||
bfd/section.c | 26 ++++++++++++++++++++++++++
|
||||
5 files changed, 81 insertions(+), 11 deletions(-)
|
||||
|
||||
diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h
|
||||
index 3afd71b..c7c5a7d 100644
|
||||
--- a/bfd/bfd-in.h
|
||||
+++ b/bfd/bfd-in.h
|
||||
@@ -292,9 +292,6 @@ typedef struct bfd_section *sec_ptr;
|
||||
|
||||
#define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0)
|
||||
|
||||
-#define bfd_set_section_vma(bfd, ptr, val) (((ptr)->vma = (ptr)->lma = (val)), ((ptr)->user_set_vma = TRUE), TRUE)
|
||||
-#define bfd_set_section_alignment(bfd, ptr, val) (((ptr)->alignment_power = (val)),TRUE)
|
||||
-#define bfd_set_section_userdata(bfd, ptr, val) (((ptr)->userdata = (val)),TRUE)
|
||||
/* Find the address one past the end of SEC. */
|
||||
#define bfd_get_section_limit(bfd, sec) \
|
||||
(((bfd)->direction != write_direction && (sec)->rawsize != 0 \
|
||||
@@ -517,8 +514,6 @@ extern void warn_deprecated (const char *, const char *, int, const char *);
|
||||
|
||||
#define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char)
|
||||
|
||||
-#define bfd_set_cacheable(abfd,bool) (((abfd)->cacheable = bool), TRUE)
|
||||
-
|
||||
extern bfd_boolean bfd_cache_close
|
||||
(bfd *abfd);
|
||||
/* NB: This declaration should match the autogenerated one in libbfd.h. */
|
||||
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
|
||||
index 71996db..b5aeb40 100644
|
||||
--- a/bfd/bfd-in2.h
|
||||
+++ b/bfd/bfd-in2.h
|
||||
@@ -299,9 +299,6 @@ typedef struct bfd_section *sec_ptr;
|
||||
|
||||
#define bfd_is_com_section(ptr) (((ptr)->flags & SEC_IS_COMMON) != 0)
|
||||
|
||||
-#define bfd_set_section_vma(bfd, ptr, val) (((ptr)->vma = (ptr)->lma = (val)), ((ptr)->user_set_vma = TRUE), TRUE)
|
||||
-#define bfd_set_section_alignment(bfd, ptr, val) (((ptr)->alignment_power = (val)),TRUE)
|
||||
-#define bfd_set_section_userdata(bfd, ptr, val) (((ptr)->userdata = (val)),TRUE)
|
||||
/* Find the address one past the end of SEC. */
|
||||
#define bfd_get_section_limit(bfd, sec) \
|
||||
(((bfd)->direction != write_direction && (sec)->rawsize != 0 \
|
||||
@@ -524,8 +521,6 @@ extern void warn_deprecated (const char *, const char *, int, const char *);
|
||||
|
||||
#define bfd_get_symbol_leading_char(abfd) ((abfd)->xvec->symbol_leading_char)
|
||||
|
||||
-#define bfd_set_cacheable(abfd,bool) (((abfd)->cacheable = bool), TRUE)
|
||||
-
|
||||
extern bfd_boolean bfd_cache_close
|
||||
(bfd *abfd);
|
||||
/* NB: This declaration should match the autogenerated one in libbfd.h. */
|
||||
@@ -1029,7 +1024,7 @@ bfd *bfd_openr (const char *filename, const char *target);
|
||||
|
||||
bfd *bfd_fdopenr (const char *filename, const char *target, int fd);
|
||||
|
||||
-bfd *bfd_openstreamr (const char *, const char *, void *);
|
||||
+bfd *bfd_openstreamr (const char * filename, const char * target, void * stream);
|
||||
|
||||
bfd *bfd_openr_iovec (const char *filename, const char *target,
|
||||
void *(*open_func) (struct bfd *nbfd,
|
||||
@@ -1596,6 +1591,32 @@ struct relax_table {
|
||||
int size;
|
||||
};
|
||||
|
||||
+/* Note: the following are provided as inline functions rather than macros
|
||||
+ because not all callers use the return value. A macro implementation
|
||||
+ would use a comma expression, eg: "((ptr)->foo = val, TRUE)" and some
|
||||
+ compilers will complain about comma expressions that have no effect. */
|
||||
+static inline bfd_boolean
|
||||
+bfd_set_section_userdata (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, void * val)
|
||||
+{
|
||||
+ ptr->userdata = val;
|
||||
+ return TRUE;
|
||||
+}
|
||||
+
|
||||
+static inline bfd_boolean
|
||||
+bfd_set_section_vma (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, bfd_vma val)
|
||||
+{
|
||||
+ ptr->vma = ptr->lma = val;
|
||||
+ ptr->user_set_vma = TRUE;
|
||||
+ return TRUE;
|
||||
+}
|
||||
+
|
||||
+static inline bfd_boolean
|
||||
+bfd_set_section_alignment (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, unsigned int val)
|
||||
+{
|
||||
+ ptr->alignment_power = val;
|
||||
+ return TRUE;
|
||||
+}
|
||||
+
|
||||
/* These sections are global, and are managed by BFD. The application
|
||||
and target back end are not permitted to change the values in
|
||||
these sections. */
|
||||
@@ -6415,6 +6436,14 @@ struct bfd
|
||||
unsigned int selective_search : 1;
|
||||
};
|
||||
|
||||
+/* See note beside bfd_set_section_userdata. */
|
||||
+static inline bfd_boolean
|
||||
+bfd_set_cacheable (bfd * abfd, bfd_boolean val)
|
||||
+{
|
||||
+ abfd->cacheable = val;
|
||||
+ return TRUE;
|
||||
+}
|
||||
+
|
||||
typedef enum bfd_error
|
||||
{
|
||||
bfd_error_no_error = 0,
|
||||
diff --git a/bfd/bfd.c b/bfd/bfd.c
|
||||
index 8d0580c..2d174f3 100644
|
||||
--- a/bfd/bfd.c
|
||||
+++ b/bfd/bfd.c
|
||||
@@ -311,6 +311,14 @@ CODE_FRAGMENT
|
||||
. unsigned int selective_search : 1;
|
||||
.};
|
||||
.
|
||||
+.{* See note beside bfd_set_section_userdata. *}
|
||||
+.static inline bfd_boolean
|
||||
+.bfd_set_cacheable (bfd * abfd, bfd_boolean val)
|
||||
+.{
|
||||
+. abfd->cacheable = val;
|
||||
+. return TRUE;
|
||||
+.}
|
||||
+.
|
||||
*/
|
||||
|
||||
#include "sysdep.h"
|
||||
diff --git a/bfd/section.c b/bfd/section.c
|
||||
index fb19d8c..a661228 100644
|
||||
--- a/bfd/section.c
|
||||
+++ b/bfd/section.c
|
||||
@@ -542,6 +542,32 @@ CODE_FRAGMENT
|
||||
. int size;
|
||||
.};
|
||||
.
|
||||
+.{* Note: the following are provided as inline functions rather than macros
|
||||
+. because not all callers use the return value. A macro implementation
|
||||
+. would use a comma expression, eg: "((ptr)->foo = val, TRUE)" and some
|
||||
+. compilers will complain about comma expressions that have no effect. *}
|
||||
+.static inline bfd_boolean
|
||||
+.bfd_set_section_userdata (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, void * val)
|
||||
+.{
|
||||
+. ptr->userdata = val;
|
||||
+. return TRUE;
|
||||
+.}
|
||||
+.
|
||||
+.static inline bfd_boolean
|
||||
+.bfd_set_section_vma (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, bfd_vma val)
|
||||
+.{
|
||||
+. ptr->vma = ptr->lma = val;
|
||||
+. ptr->user_set_vma = TRUE;
|
||||
+. return TRUE;
|
||||
+.}
|
||||
+.
|
||||
+.static inline bfd_boolean
|
||||
+.bfd_set_section_alignment (bfd * abfd ATTRIBUTE_UNUSED, asection * ptr, unsigned int val)
|
||||
+.{
|
||||
+. ptr->alignment_power = val;
|
||||
+. return TRUE;
|
||||
+.}
|
||||
+.
|
||||
.{* These sections are global, and are managed by BFD. The application
|
||||
. and target back end are not permitted to change the values in
|
||||
. these sections. *}
|
||||
--
|
||||
1.7.1
|
||||
|
|
@ -23,40 +23,75 @@ DEBUGFS="debugfs"
|
|||
find $SRCDIR | while read FILE; do
|
||||
TGT="${FILE##*/}"
|
||||
DIR="${FILE#$SRCDIR}"
|
||||
DIR="${DIR%$TGT}"
|
||||
|
||||
# Skip the root dir
|
||||
[ ! -z "$DIR" ] || continue
|
||||
[ ! -z "$TGT" ] || continue
|
||||
|
||||
DIR="$(dirname "$DIR")"
|
||||
|
||||
# debugfs handles the quotation mark differently from other special marks like {
|
||||
# If FILE contains quotation marks in its name, then we have to replace " with ""
|
||||
# so that debugfs could correclty recognize them. In this script, we use the prefix
|
||||
# of D_ to denote the file names that should be used by debugfs.
|
||||
#
|
||||
# The usage of case statements here is to avoid performace impact.
|
||||
case $FILE in
|
||||
*\"*)
|
||||
D_FILE="$(echo $FILE | sed -e 's#\"#\"\"#g')"
|
||||
;;
|
||||
*)
|
||||
D_FILE="$FILE"
|
||||
;;
|
||||
esac
|
||||
|
||||
case $DIR in
|
||||
*\"*)
|
||||
D_DIR="$(echo $DIR | sed -e 's#\"#\"\"#g')"
|
||||
;;
|
||||
*)
|
||||
D_DIR="$DIR"
|
||||
;;
|
||||
esac
|
||||
|
||||
case $TGT in
|
||||
*\"*)
|
||||
D_TGT="$(echo $TGT | sed -e 's#\"#\"\"#g')"
|
||||
;;
|
||||
*)
|
||||
D_TGT="$TGT"
|
||||
;;
|
||||
esac
|
||||
|
||||
if [ "$DIR" != "$CWD" ]; then
|
||||
echo "cd $DIR"
|
||||
echo "cd \"$D_DIR\""
|
||||
CWD="$DIR"
|
||||
fi
|
||||
|
||||
# Only stat once since stat is a time consuming command
|
||||
STAT=$(stat -c "TYPE=\"%F\";DEVNO=\"0x%t 0x%T\";MODE=\"%f\";U=\"%u\";G=\"%g\"" "$FILE")
|
||||
STAT=$(stat -c "TYPE=\"%F\";DEVNO=\"0x%t 0x%T\";MODE=\"%f\";U=\"%u\";G=\"%g\";AT=\"%x\";MT=\"%y\";CT=\"%z\"" "$FILE")
|
||||
eval $STAT
|
||||
|
||||
case $TYPE in
|
||||
"directory")
|
||||
echo "mkdir $TGT"
|
||||
echo "mkdir \"$D_TGT\""
|
||||
;;
|
||||
"regular file" | "regular empty file")
|
||||
echo "write \"$FILE\" \"$TGT\""
|
||||
echo "write \"$D_FILE\" \"$D_TGT\""
|
||||
;;
|
||||
"symbolic link")
|
||||
LINK_TGT=$(readlink "$FILE")
|
||||
echo "symlink \"$TGT\" \"$LINK_TGT\""
|
||||
D_LINK_TGT="$(echo $LINK_TGT | sed -e 's#\"#\"\"#g')"
|
||||
echo "symlink \"$D_TGT\" \"$D_LINK_TGT\""
|
||||
;;
|
||||
"block special file")
|
||||
echo "mknod \"$TGT\" b $DEVNO"
|
||||
echo "mknod \"$D_TGT\" b $DEVNO"
|
||||
;;
|
||||
"character special file")
|
||||
echo "mknod \"$TGT\" c $DEVNO"
|
||||
echo "mknod \"$D_TGT\" c $DEVNO"
|
||||
;;
|
||||
"fifo")
|
||||
echo "mknod \"$TGT\" p"
|
||||
echo "mknod \"$D_TGT\" p"
|
||||
;;
|
||||
*)
|
||||
echo "Unknown/unhandled file type '$TYPE' file: $FILE" 1>&2
|
||||
|
@ -64,11 +99,19 @@ DEBUGFS="debugfs"
|
|||
esac
|
||||
|
||||
# Set the file mode
|
||||
echo "sif \"$TGT\" mode 0x$MODE"
|
||||
echo "sif \"$D_TGT\" mode 0x$MODE"
|
||||
|
||||
# Set uid and gid
|
||||
echo "sif \"$TGT\" uid $U"
|
||||
echo "sif \"$TGT\" gid $G"
|
||||
echo "sif \"$D_TGT\" uid $U"
|
||||
echo "sif \"$D_TGT\" gid $G"
|
||||
|
||||
# Set atime, mtime and ctime
|
||||
AT=`echo $AT | cut -d'.' -f1 | sed -e 's#[- :]##g'`
|
||||
MT=`echo $MT | cut -d'.' -f1 | sed -e 's#[- :]##g'`
|
||||
CT=`echo $CT | cut -d'.' -f1 | sed -e 's#[- :]##g'`
|
||||
echo "sif \"$D_TGT\" atime $AT"
|
||||
echo "sif \"$D_TGT\" mtime $MT"
|
||||
echo "sif \"$D_TGT\" ctime $CT"
|
||||
done
|
||||
|
||||
# Handle the hard links.
|
||||
|
@ -82,15 +125,22 @@ DEBUGFS="debugfs"
|
|||
# Use the debugfs' ln and "sif links_count" to handle them.
|
||||
for i in `ls $INODE_DIR`; do
|
||||
# The link source
|
||||
SRC=`head -1 $INODE_DIR/$i`
|
||||
SRC="$(head -1 $INODE_DIR/$i)"
|
||||
D_SRC="$(echo $SRC | sed -e 's#\"#\"\"#g')"
|
||||
# Remove the files and link them again except the first one
|
||||
for TGT in `sed -n -e '1!p' $INODE_DIR/$i`; do
|
||||
echo "rm $TGT"
|
||||
echo "ln $SRC $TGT"
|
||||
sed -n -e '1!p' $INODE_DIR/$i | while read TGT; do
|
||||
D_TGT="$(echo $TGT | sed -e 's#\"#\"\"#g')"
|
||||
echo "rm \"$D_TGT\""
|
||||
echo "ln \"$D_SRC\" \"$D_TGT\""
|
||||
done
|
||||
LN_CNT=`cat $INODE_DIR/$i | wc -l`
|
||||
# Set the links count
|
||||
echo "sif $SRC links_count $LN_CNT"
|
||||
echo "sif \"$D_SRC\" links_count $LN_CNT"
|
||||
done
|
||||
rm -fr $INODE_DIR
|
||||
} | $DEBUGFS -w -f - $DEVICE
|
||||
} | $DEBUGFS -w -f - $DEVICE 2>&1 1>/dev/null | grep '.*: .*'
|
||||
|
||||
if [ $? = 0 ]; then
|
||||
echo "Some error occured while executing [$DEBUGFS -w -f - $DEVICE]"
|
||||
exit 1
|
||||
fi
|
||||
|
|
|
@ -39,3 +39,5 @@ libtoolcross_sysroot_preprocess () {
|
|||
}
|
||||
|
||||
SSTATE_SCAN_FILES += "libtoolize *-libtool"
|
||||
|
||||
export CONFIG_SHELL="/bin/bash"
|
||||
|
|
|
@ -22,3 +22,4 @@ do_install () {
|
|||
install -m 0755 ${HOST_SYS}-libtool ${D}${bindir}/${HOST_SYS}-libtool
|
||||
}
|
||||
|
||||
export CONFIG_SHELL="/bin/bash"
|
||||
|
|
|
@ -0,0 +1,24 @@
|
|||
doc/make.texi: fix @itemx must follow @item
|
||||
|
||||
Upstream-Status: Backport from make 4.0
|
||||
|
||||
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
|
||||
---
|
||||
doc/make.texi | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/doc/make.texi b/doc/make.texi
|
||||
--- a/doc/make.texi
|
||||
+++ b/doc/make.texi
|
||||
@@ -8162,7 +8162,7 @@ from complicated nests of recursive @code{make} commands.
|
||||
rarely need to specify this option since @samp{make} does it for you;
|
||||
see @ref{-w Option, ,The @samp{--print-directory} Option}.)
|
||||
|
||||
-@itemx --no-print-directory
|
||||
+@item --no-print-directory
|
||||
@cindex @code{--no-print-directory}
|
||||
Disable printing of the working directory under @code{-w}.
|
||||
This option is useful when @code{-w} is turned on automatically,
|
||||
--
|
||||
1.8.1.2
|
||||
|
|
@ -6,6 +6,7 @@ HOMEPAGE = "http://www.gnu.org/software/make/"
|
|||
SECTION = "devel"
|
||||
|
||||
SRC_URI = "${GNU_MIRROR}/make/make-${PV}.tar.bz2 \
|
||||
file://doc-make.texi-fix-itemx-must-follow-item.patch \
|
||||
file://SCCS.patch"
|
||||
|
||||
inherit autotools gettext
|
||||
|
|
|
@ -51,6 +51,7 @@ FILES_update-alternatives-cworth = "${bindir}/update-alternatives"
|
|||
FILES_libopkg-dev = "${libdir}/*.la ${libdir}/*.so ${includedir}/libopkg"
|
||||
FILES_libopkg-staticdev = "${libdir}/*.a"
|
||||
FILES_libopkg = "${libdir}/*.so.* ${OPKGLIBDIR}/opkg/"
|
||||
FILES_${PN} += "${systemd_unitdir}/system/"
|
||||
|
||||
do_install_append() {
|
||||
# We need to create the lock directory
|
||||
|
|
|
@ -26,7 +26,7 @@ FILES_${PN}-cron = "${sysconfdir}/cron.daily ${sysconfdir}/default"
|
|||
|
||||
PACKAGES =+ "${PN}-cron"
|
||||
|
||||
SRC_URI = "git://git.yoctoproject.org/prelink-cross.git \
|
||||
SRC_URI = "git://git.yoctoproject.org/prelink-cross.git;branch=cross_prelink \
|
||||
file://prelink.conf \
|
||||
file://prelink.cron.daily \
|
||||
file://prelink.default \
|
||||
|
|
|
@ -0,0 +1,22 @@
|
|||
lib/verify.c: Fix rpm -V file processing
|
||||
|
||||
rpm -V should verify the md5sum and other values on individual files.
|
||||
A logic error in the query for GHOST files prevented this from working.
|
||||
|
||||
[ Upstream-Status: Submitted ]
|
||||
|
||||
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
|
||||
|
||||
Index: rpm-5.4.9/lib/verify.c
|
||||
===================================================================
|
||||
--- rpm-5.4.9.orig/lib/verify.c
|
||||
+++ rpm-5.4.9/lib/verify.c
|
||||
@@ -587,7 +587,7 @@ uint32_t fc = rpmfiFC(fi);
|
||||
|
||||
/* If not verifying %ghost, skip ghost files. */
|
||||
/* XXX the broken!!! logic disables %ghost queries always. */
|
||||
- if (!(FF_ISSET(qva->qva_fflags, GHOST) && FF_ISSET(fflags, GHOST)))
|
||||
+ if (!(FF_ISSET(qva->qva_fflags, GHOST)) && FF_ISSET(fflags, GHOST))
|
||||
continue;
|
||||
|
||||
/* Gather per-file data into a carrier. */
|
|
@ -89,6 +89,7 @@ SRC_URI = "http://www.rpm5.org/files/rpm/rpm-5.4/rpm-5.4.9-0.20120508.src.rpm;ex
|
|||
file://debugedit-valid-file-to-fix-segment-fault.patch \
|
||||
file://rpm-platform-file-fix.patch \
|
||||
file://rpm-lsb-compatibility.patch \
|
||||
file://rpm-verify-files.patch \
|
||||
"
|
||||
|
||||
# Uncomment the following line to enable platform score debugging
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
From 63d5b4ec7a5853bbbae2e1963d406bb09e77dd60 Mon Sep 17 00:00:00 2001
|
||||
From: Valentin Popa <valentin.popa@intel.com>
|
||||
Date: Thu, 27 Feb 2014 10:32:17 +0200
|
||||
Subject: [PATCH] Add MESA_EGL_NO_X11_HEADERS to defines
|
||||
|
||||
MESA_EGL_NO_X11_HEADERS is used in eglplatform.h
|
||||
but the preprocessor doesn't know about it.
|
||||
Define MESA_EGL_NO_X11_HEADERS for builds without
|
||||
x11 in DISTRO_FEATURES.
|
||||
|
||||
Backport from 9.2.5.
|
||||
|
||||
Upstream-Status: Backport
|
||||
|
||||
Signed-off-by: Valentin Popa <valentin.popa@intel.com>
|
||||
---
|
||||
configure.ac | 8 ++++++++
|
||||
1 file changed, 8 insertions(+)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 2acf579..a1a8487 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1568,6 +1568,14 @@ AC_SUBST([EGL_NATIVE_PLATFORM])
|
||||
AC_SUBST([EGL_PLATFORMS])
|
||||
AC_SUBST([EGL_CFLAGS])
|
||||
|
||||
+# If we don't have the X11 platform, set this define so we don't try
|
||||
+# to include
|
||||
+# the X11 headers.
|
||||
+if ! echo "$egl_platforms" | grep -q 'x11'; then
|
||||
+ DEFINES="$DEFINES -DMESA_EGL_NO_X11_HEADERS"
|
||||
+ GL_PC_CFLAGS="$GL_PC_CFLAGS -DMESA_EGL_NO_X11_HEADERS"
|
||||
+fi
|
||||
+
|
||||
AC_ARG_WITH([egl-driver-dir],
|
||||
[AS_HELP_STRING([--with-egl-driver-dir=DIR],
|
||||
[directory for EGL drivers [[default=${libdir}/egl]]])],
|
||||
--
|
||||
1.8.3.2
|
||||
|
|
@ -1,359 +0,0 @@
|
|||
From 8d31ae23683394617c49301b039b3a069b9ea436 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Stone <daniel@fooishbar.org>
|
||||
Date: Fri, 24 May 2013 17:20:27 +0100
|
||||
Subject: [PATCH 3/4] EGL: Mutate NativeDisplayType depending on config
|
||||
|
||||
If we go through ./configure without enabling X11 anywhere, then set the
|
||||
fallback types for EGL NativeDisplay and friends, rather than assuming
|
||||
X11/Xlib.
|
||||
|
||||
Upstream-Status: Backport (slightly different solution was applied in master
|
||||
https://bugs.freedesktop.org/show_bug.cgi?id=64959)
|
||||
|
||||
Signed-off-by: Daniel Stone <daniel@fooishbar.org>
|
||||
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
|
||||
---
|
||||
configure.ac | 5 ++
|
||||
include/EGL/eglplatform.h | 146 -------------------------------------------
|
||||
include/EGL/eglplatform.h.in | 146 +++++++++++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 151 insertions(+), 146 deletions(-)
|
||||
delete mode 100644 include/EGL/eglplatform.h
|
||||
create mode 100644 include/EGL/eglplatform.h.in
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 67b8c40..afc3217 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1499,6 +1499,9 @@ EGL_PLATFORMS="$egl_platforms"
|
||||
|
||||
if echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1; then
|
||||
NEED_WINSYS_XLIB=yes
|
||||
+ MESA_EGL_NO_X11_HEADERS=0
|
||||
+else
|
||||
+ MESA_EGL_NO_X11_HEADERS=1
|
||||
fi
|
||||
AM_CONDITIONAL(HAVE_EGL_PLATFORM_X11, echo "$egl_platforms" | grep 'x11' >/dev/null 2>&1)
|
||||
AM_CONDITIONAL(HAVE_EGL_PLATFORM_WAYLAND, echo "$egl_platforms" | grep 'wayland' >/dev/null 2>&1)
|
||||
@@ -1512,6 +1515,7 @@ AM_CONDITIONAL(HAVE_EGL_DRIVER_GLX, test "x$HAVE_EGL_DRIVER_GLX" != "x")
|
||||
AC_SUBST([EGL_NATIVE_PLATFORM])
|
||||
AC_SUBST([EGL_PLATFORMS])
|
||||
AC_SUBST([EGL_CFLAGS])
|
||||
+AC_SUBST([MESA_EGL_NO_X11_HEADERS])
|
||||
|
||||
AC_ARG_WITH([egl-driver-dir],
|
||||
[AS_HELP_STRING([--with-egl-driver-dir=DIR],
|
||||
@@ -1991,6 +1995,7 @@ CXXFLAGS="$CXXFLAGS $USER_CXXFLAGS"
|
||||
|
||||
dnl Substitute the config
|
||||
AC_CONFIG_FILES([Makefile
|
||||
+ include/EGL/eglplatform.h
|
||||
src/Makefile
|
||||
src/egl/Makefile
|
||||
src/egl/drivers/Makefile
|
||||
diff --git a/include/EGL/eglplatform.h b/include/EGL/eglplatform.h
|
||||
deleted file mode 100644
|
||||
index 17fdc61..0000000
|
||||
--- a/include/EGL/eglplatform.h
|
||||
+++ /dev/null
|
||||
@@ -1,146 +0,0 @@
|
||||
-#ifndef __eglplatform_h_
|
||||
-#define __eglplatform_h_
|
||||
-
|
||||
-/*
|
||||
-** Copyright (c) 2007-2009 The Khronos Group Inc.
|
||||
-**
|
||||
-** Permission is hereby granted, free of charge, to any person obtaining a
|
||||
-** copy of this software and/or associated documentation files (the
|
||||
-** "Materials"), to deal in the Materials without restriction, including
|
||||
-** without limitation the rights to use, copy, modify, merge, publish,
|
||||
-** distribute, sublicense, and/or sell copies of the Materials, and to
|
||||
-** permit persons to whom the Materials are furnished to do so, subject to
|
||||
-** the following conditions:
|
||||
-**
|
||||
-** The above copyright notice and this permission notice shall be included
|
||||
-** in all copies or substantial portions of the Materials.
|
||||
-**
|
||||
-** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
-** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
-** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
-** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
-** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
-** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
-** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||
-*/
|
||||
-
|
||||
-/* Platform-specific types and definitions for egl.h
|
||||
- * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
|
||||
- *
|
||||
- * Adopters may modify khrplatform.h and this file to suit their platform.
|
||||
- * You are encouraged to submit all modifications to the Khronos group so that
|
||||
- * they can be included in future versions of this file. Please submit changes
|
||||
- * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
|
||||
- * by filing a bug against product "EGL" component "Registry".
|
||||
- */
|
||||
-
|
||||
-#include <KHR/khrplatform.h>
|
||||
-
|
||||
-/* Macros used in EGL function prototype declarations.
|
||||
- *
|
||||
- * EGL functions should be prototyped as:
|
||||
- *
|
||||
- * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
|
||||
- * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
|
||||
- *
|
||||
- * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
|
||||
- */
|
||||
-
|
||||
-#ifndef EGLAPI
|
||||
-#define EGLAPI KHRONOS_APICALL
|
||||
-#endif
|
||||
-
|
||||
-#ifndef EGLAPIENTRY
|
||||
-#define EGLAPIENTRY KHRONOS_APIENTRY
|
||||
-#endif
|
||||
-#define EGLAPIENTRYP EGLAPIENTRY*
|
||||
-
|
||||
-/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
|
||||
- * are aliases of window-system-dependent types, such as X Display * or
|
||||
- * Windows Device Context. They must be defined in platform-specific
|
||||
- * code below. The EGL-prefixed versions of Native*Type are the same
|
||||
- * types, renamed in EGL 1.3 so all types in the API start with "EGL".
|
||||
- *
|
||||
- * Khronos STRONGLY RECOMMENDS that you use the default definitions
|
||||
- * provided below, since these changes affect both binary and source
|
||||
- * portability of applications using EGL running on different EGL
|
||||
- * implementations.
|
||||
- */
|
||||
-
|
||||
-#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
|
||||
-#ifndef WIN32_LEAN_AND_MEAN
|
||||
-#define WIN32_LEAN_AND_MEAN 1
|
||||
-#endif
|
||||
-#include <windows.h>
|
||||
-
|
||||
-typedef HDC EGLNativeDisplayType;
|
||||
-typedef HBITMAP EGLNativePixmapType;
|
||||
-typedef HWND EGLNativeWindowType;
|
||||
-
|
||||
-#elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */
|
||||
-
|
||||
-typedef int EGLNativeDisplayType;
|
||||
-typedef void *EGLNativeWindowType;
|
||||
-typedef void *EGLNativePixmapType;
|
||||
-
|
||||
-#elif defined(WL_EGL_PLATFORM)
|
||||
-
|
||||
-typedef struct wl_display *EGLNativeDisplayType;
|
||||
-typedef struct wl_egl_pixmap *EGLNativePixmapType;
|
||||
-typedef struct wl_egl_window *EGLNativeWindowType;
|
||||
-
|
||||
-#elif defined(__GBM__)
|
||||
-
|
||||
-typedef struct gbm_device *EGLNativeDisplayType;
|
||||
-typedef struct gbm_bo *EGLNativePixmapType;
|
||||
-typedef void *EGLNativeWindowType;
|
||||
-
|
||||
-#elif defined(ANDROID) /* Android */
|
||||
-
|
||||
-struct ANativeWindow;
|
||||
-struct egl_native_pixmap_t;
|
||||
-
|
||||
-typedef struct ANativeWindow *EGLNativeWindowType;
|
||||
-typedef struct egl_native_pixmap_t *EGLNativePixmapType;
|
||||
-typedef void *EGLNativeDisplayType;
|
||||
-
|
||||
-#elif defined(__unix__)
|
||||
-
|
||||
-#ifdef MESA_EGL_NO_X11_HEADERS
|
||||
-
|
||||
-typedef void *EGLNativeDisplayType;
|
||||
-typedef khronos_uint32_t EGLNativePixmapType;
|
||||
-typedef khronos_uint32_t EGLNativeWindowType;
|
||||
-
|
||||
-#else
|
||||
-
|
||||
-/* X11 (tentative) */
|
||||
-#include <X11/Xlib.h>
|
||||
-#include <X11/Xutil.h>
|
||||
-
|
||||
-typedef Display *EGLNativeDisplayType;
|
||||
-typedef Pixmap EGLNativePixmapType;
|
||||
-typedef Window EGLNativeWindowType;
|
||||
-
|
||||
-#endif /* MESA_EGL_NO_X11_HEADERS */
|
||||
-
|
||||
-#else
|
||||
-#error "Platform not recognized"
|
||||
-#endif
|
||||
-
|
||||
-/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
|
||||
-typedef EGLNativeDisplayType NativeDisplayType;
|
||||
-typedef EGLNativePixmapType NativePixmapType;
|
||||
-typedef EGLNativeWindowType NativeWindowType;
|
||||
-
|
||||
-
|
||||
-/* Define EGLint. This must be a signed integral type large enough to contain
|
||||
- * all legal attribute names and values passed into and out of EGL, whether
|
||||
- * their type is boolean, bitmask, enumerant (symbolic constant), integer,
|
||||
- * handle, or other. While in general a 32-bit integer will suffice, if
|
||||
- * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
|
||||
- * integer type.
|
||||
- */
|
||||
-typedef khronos_int32_t EGLint;
|
||||
-
|
||||
-#endif /* __eglplatform_h */
|
||||
diff --git a/include/EGL/eglplatform.h.in b/include/EGL/eglplatform.h.in
|
||||
new file mode 100644
|
||||
index 0000000..5126c92
|
||||
--- /dev/null
|
||||
+++ b/include/EGL/eglplatform.h.in
|
||||
@@ -0,0 +1,146 @@
|
||||
+#ifndef __eglplatform_h_
|
||||
+#define __eglplatform_h_
|
||||
+
|
||||
+/*
|
||||
+** Copyright (c) 2007-2009 The Khronos Group Inc.
|
||||
+**
|
||||
+** Permission is hereby granted, free of charge, to any person obtaining a
|
||||
+** copy of this software and/or associated documentation files (the
|
||||
+** "Materials"), to deal in the Materials without restriction, including
|
||||
+** without limitation the rights to use, copy, modify, merge, publish,
|
||||
+** distribute, sublicense, and/or sell copies of the Materials, and to
|
||||
+** permit persons to whom the Materials are furnished to do so, subject to
|
||||
+** the following conditions:
|
||||
+**
|
||||
+** The above copyright notice and this permission notice shall be included
|
||||
+** in all copies or substantial portions of the Materials.
|
||||
+**
|
||||
+** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
+** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
+** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
+** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
+** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
+** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
+** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
||||
+*/
|
||||
+
|
||||
+/* Platform-specific types and definitions for egl.h
|
||||
+ * $Revision: 12306 $ on $Date: 2010-08-25 09:51:28 -0700 (Wed, 25 Aug 2010) $
|
||||
+ *
|
||||
+ * Adopters may modify khrplatform.h and this file to suit their platform.
|
||||
+ * You are encouraged to submit all modifications to the Khronos group so that
|
||||
+ * they can be included in future versions of this file. Please submit changes
|
||||
+ * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla)
|
||||
+ * by filing a bug against product "EGL" component "Registry".
|
||||
+ */
|
||||
+
|
||||
+#include <KHR/khrplatform.h>
|
||||
+
|
||||
+/* Macros used in EGL function prototype declarations.
|
||||
+ *
|
||||
+ * EGL functions should be prototyped as:
|
||||
+ *
|
||||
+ * EGLAPI return-type EGLAPIENTRY eglFunction(arguments);
|
||||
+ * typedef return-type (EXPAPIENTRYP PFNEGLFUNCTIONPROC) (arguments);
|
||||
+ *
|
||||
+ * KHRONOS_APICALL and KHRONOS_APIENTRY are defined in KHR/khrplatform.h
|
||||
+ */
|
||||
+
|
||||
+#ifndef EGLAPI
|
||||
+#define EGLAPI KHRONOS_APICALL
|
||||
+#endif
|
||||
+
|
||||
+#ifndef EGLAPIENTRY
|
||||
+#define EGLAPIENTRY KHRONOS_APIENTRY
|
||||
+#endif
|
||||
+#define EGLAPIENTRYP EGLAPIENTRY*
|
||||
+
|
||||
+/* The types NativeDisplayType, NativeWindowType, and NativePixmapType
|
||||
+ * are aliases of window-system-dependent types, such as X Display * or
|
||||
+ * Windows Device Context. They must be defined in platform-specific
|
||||
+ * code below. The EGL-prefixed versions of Native*Type are the same
|
||||
+ * types, renamed in EGL 1.3 so all types in the API start with "EGL".
|
||||
+ *
|
||||
+ * Khronos STRONGLY RECOMMENDS that you use the default definitions
|
||||
+ * provided below, since these changes affect both binary and source
|
||||
+ * portability of applications using EGL running on different EGL
|
||||
+ * implementations.
|
||||
+ */
|
||||
+
|
||||
+#if defined(_WIN32) || defined(__VC32__) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) /* Win32 and WinCE */
|
||||
+#ifndef WIN32_LEAN_AND_MEAN
|
||||
+#define WIN32_LEAN_AND_MEAN 1
|
||||
+#endif
|
||||
+#include <windows.h>
|
||||
+
|
||||
+typedef HDC EGLNativeDisplayType;
|
||||
+typedef HBITMAP EGLNativePixmapType;
|
||||
+typedef HWND EGLNativeWindowType;
|
||||
+
|
||||
+#elif defined(__WINSCW__) || defined(__SYMBIAN32__) /* Symbian */
|
||||
+
|
||||
+typedef int EGLNativeDisplayType;
|
||||
+typedef void *EGLNativeWindowType;
|
||||
+typedef void *EGLNativePixmapType;
|
||||
+
|
||||
+#elif defined(WL_EGL_PLATFORM)
|
||||
+
|
||||
+typedef struct wl_display *EGLNativeDisplayType;
|
||||
+typedef struct wl_egl_pixmap *EGLNativePixmapType;
|
||||
+typedef struct wl_egl_window *EGLNativeWindowType;
|
||||
+
|
||||
+#elif defined(__GBM__)
|
||||
+
|
||||
+typedef struct gbm_device *EGLNativeDisplayType;
|
||||
+typedef struct gbm_bo *EGLNativePixmapType;
|
||||
+typedef void *EGLNativeWindowType;
|
||||
+
|
||||
+#elif defined(ANDROID) /* Android */
|
||||
+
|
||||
+struct ANativeWindow;
|
||||
+struct egl_native_pixmap_t;
|
||||
+
|
||||
+typedef struct ANativeWindow *EGLNativeWindowType;
|
||||
+typedef struct egl_native_pixmap_t *EGLNativePixmapType;
|
||||
+typedef void *EGLNativeDisplayType;
|
||||
+
|
||||
+#elif defined(__unix__)
|
||||
+
|
||||
+#if @MESA_EGL_NO_X11_HEADERS@
|
||||
+
|
||||
+typedef void *EGLNativeDisplayType;
|
||||
+typedef khronos_uint32_t EGLNativePixmapType;
|
||||
+typedef khronos_uint32_t EGLNativeWindowType;
|
||||
+
|
||||
+#else
|
||||
+
|
||||
+/* X11 (tentative) */
|
||||
+#include <X11/Xlib.h>
|
||||
+#include <X11/Xutil.h>
|
||||
+
|
||||
+typedef Display *EGLNativeDisplayType;
|
||||
+typedef Pixmap EGLNativePixmapType;
|
||||
+typedef Window EGLNativeWindowType;
|
||||
+
|
||||
+#endif /* MESA_EGL_NO_X11_HEADERS */
|
||||
+
|
||||
+#else
|
||||
+#error "Platform not recognized"
|
||||
+#endif
|
||||
+
|
||||
+/* EGL 1.2 types, renamed for consistency in EGL 1.3 */
|
||||
+typedef EGLNativeDisplayType NativeDisplayType;
|
||||
+typedef EGLNativePixmapType NativePixmapType;
|
||||
+typedef EGLNativeWindowType NativeWindowType;
|
||||
+
|
||||
+
|
||||
+/* Define EGLint. This must be a signed integral type large enough to contain
|
||||
+ * all legal attribute names and values passed into and out of EGL, whether
|
||||
+ * their type is boolean, bitmask, enumerant (symbolic constant), integer,
|
||||
+ * handle, or other. While in general a 32-bit integer will suffice, if
|
||||
+ * handles are 64 bit types, then EGLint should be defined as a signed 64-bit
|
||||
+ * integer type.
|
||||
+ */
|
||||
+typedef khronos_int32_t EGLint;
|
||||
+
|
||||
+#endif /* __eglplatform_h */
|
||||
--
|
||||
1.8.2.1
|
||||
|
|
@ -2,8 +2,8 @@ require ${BPN}.inc
|
|||
|
||||
SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \
|
||||
file://0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch \
|
||||
file://0001-Add-MESA_EGL_NO_X11_HEADERS-to-defines.patch \
|
||||
file://0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch \
|
||||
file://0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch \
|
||||
file://0004-glsl-fix-builtin_compiler-cross-compilation.patch \
|
||||
file://0005-llvmpipe-remove-the-power-of-two-sizeof-struct-cmd_b.patch \
|
||||
file://0005-fix-out-of-tree-builds-gallium.patch \
|
||||
|
@ -14,3 +14,13 @@ SRC_URI[md5sum] = "443a2a352667294b53d56cb1a74114e9"
|
|||
SRC_URI[sha256sum] = "e632dff0acafad0a59dc208d16dedb37f7bd58f94c5d58c4b51912e41d005e3d"
|
||||
|
||||
S = "${WORKDIR}/Mesa-${PV}"
|
||||
|
||||
#because we cannot rely on the fact that all apps will use pkgconfig,
|
||||
#make eglplatform.h independent of MESA_EGL_NO_X11_HEADER
|
||||
do_install_append() {
|
||||
if ${@base_contains('PACKAGECONFIG', 'egl', 'true', 'false', d)}; then
|
||||
if [ -e "${D}${includedir}/EGL/eglplatform.h" ]; then
|
||||
sed -i -e 's/^#ifdef MESA_EGL_NO_X11_HEADERS/#if ${@base_contains('DISTRO_FEATURES', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h
|
||||
fi
|
||||
fi
|
||||
}
|
|
@ -10,11 +10,21 @@ PV = "9.1.3+git${SRCPV}"
|
|||
|
||||
SRC_URI = "git://anongit.freedesktop.org/git/mesa/mesa \
|
||||
file://0001-configure-Avoid-use-of-AC_CHECK_FILE-for-cross-compi.patch \
|
||||
file://0001-Add-MESA_EGL_NO_X11_HEADERS-to-defines.patch \
|
||||
file://0002-pipe_loader_sw-include-xlib_sw_winsys.h-only-when-HA.patch \
|
||||
file://0003-EGL-Mutate-NativeDisplayType-depending-on-config.patch \
|
||||
file://0004-glsl-fix-builtin_compiler-cross-compilation.patch \
|
||||
file://0005-fix-out-of-tree-builds-gallium.patch \
|
||||
file://0006-fix-out-of-tree-egl.patch \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
#because we cannot rely on the fact that all apps will use pkgconfig,
|
||||
#make eglplatform.h independent of MESA_EGL_NO_X11_HEADER
|
||||
do_install_append() {
|
||||
if ${@base_contains('PACKAGECONFIG', 'egl', 'true', 'false', d)}; then
|
||||
if [ -e "${D}${includedir}/EGL/eglplatform.h" ]; then
|
||||
sed -i -e 's/^#ifdef MESA_EGL_NO_X11_HEADERS/#if ${@base_contains('DISTRO_FEATURES', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
|
|
@ -9,13 +9,16 @@ as well."
|
|||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
|
||||
|
||||
PR = "r8"
|
||||
PR = "r9"
|
||||
|
||||
require perf-features.inc
|
||||
|
||||
BUILDPERF_libc-uclibc = "no"
|
||||
|
||||
TUI_DEPENDS = "${@perf_feature_enabled('perf-tui', 'libnewt', '',d)}"
|
||||
# gui support was added with kernel 3.6.35
|
||||
# since 3.10 libnewt was replaced by slang
|
||||
# to cover a wide range of kernel we add both dependencies
|
||||
TUI_DEPENDS = "${@perf_feature_enabled('perf-tui', 'libnewt slang', '',d)}"
|
||||
SCRIPTING_DEPENDS = "${@perf_feature_enabled('perf-scripting', 'perl python', '',d)}"
|
||||
|
||||
DEPENDS = "virtual/kernel \
|
||||
|
@ -27,9 +30,6 @@ DEPENDS = "virtual/kernel \
|
|||
bison flex \
|
||||
"
|
||||
|
||||
SCRIPTING_RDEPENDS = "${@perf_feature_enabled('perf-scripting', 'perl perl-modules python', '',d)}"
|
||||
RDEPENDS_${PN} += "elfutils bash ${SCRIPTING_RDEPENDS}"
|
||||
|
||||
PROVIDES = "virtual/perf"
|
||||
|
||||
inherit linux-kernel-base kernel-arch pythonnative
|
||||
|
@ -109,7 +109,7 @@ do_install() {
|
|||
unset CFLAGS
|
||||
oe_runmake DESTDIR=${D} install
|
||||
# we are checking for this make target to be compatible with older perf versions
|
||||
if [ "${@perf_feature_enabled('perf-scripting', 1, 0, d)}" = "1" -a $(grep install-python_ext ${S}/tools/perf/Makefile) = "0"]; then
|
||||
if [ "${@perf_feature_enabled('perf-scripting', 1, 0, d)}" = "1" -a $(grep install-python_ext ${S}/tools/perf/Makefile) = "0" ]; then
|
||||
oe_runmake DESTDIR=${D} install-python_ext
|
||||
fi
|
||||
}
|
||||
|
@ -124,6 +124,18 @@ python do_package_prepend() {
|
|||
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
||||
|
||||
FILES_${PN} += "${libexecdir}/perf-core"
|
||||
PACKAGES =+ "${PN}-archive ${PN}-tests ${PN}-perl ${PN}-python"
|
||||
|
||||
RDEPENDS_${PN} += "elfutils"
|
||||
RDEPENDS_${PN}-archive =+ "bash"
|
||||
RDEPENDS_${PN}-python =+ "bash python"
|
||||
RDEPENDS_${PN}-perl =+ "bash perl perl-modules"
|
||||
|
||||
RSUGGESTS_SCRIPTING = "${@perf_feature_enabled('perf-scripting', '${PN}-perl ${PN}-python', '',d)}"
|
||||
RSUGGESTS_${PN} += "${PN}-archive ${PN}-tests ${RSUGGESTS_SCRIPTING}"
|
||||
|
||||
FILES_${PN}-dbg += "${libdir}/python*/site-packages/.debug"
|
||||
FILES_${PN} += "${libdir}/python*/site-packages"
|
||||
FILES_${PN}-archive = "${libdir}/perf/perf-core/perf-archive"
|
||||
FILES_${PN}-tests = "${libdir}/perf/perf-core/tests"
|
||||
FILES_${PN}-python = "${libdir}/python*/site-packages ${libdir}/perf/perf-core/scripts/python"
|
||||
FILES_${PN}-perl = "${libdir}/perf/perf-core/scripts/perl"
|
||||
|
|
|
@ -11,7 +11,7 @@ SRC_URI = "git://git.videolan.org/x264.git \
|
|||
file://don-t-default-to-cortex-a9-with-neon.patch \
|
||||
"
|
||||
|
||||
SRCREV = "585324fee380109acd9986388f857f413a60b896"
|
||||
SRCREV = "ffc3ad4945da69f3caa2b40e4eed715a9a8d9526"
|
||||
|
||||
PV = "r2265+git${SRCPV}"
|
||||
|
||||
|
|
|
@ -37,6 +37,12 @@ FILES_pam-plugin-ck-connector += "${base_libdir}/security/*.so"
|
|||
RDEPENDS_pam-plugin-ck-connector += "${PN}"
|
||||
|
||||
do_install_append() {
|
||||
if ${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
|
||||
install -d ${D}${sysconfdir}/tmpfiles.d
|
||||
echo "d ${localstatedir}/log/ConsoleKit - - - -" \
|
||||
> ${D}${sysconfdir}/tmpfiles.d/consolekit.conf
|
||||
fi
|
||||
|
||||
# Remove /var/run from package as console-kit-daemon will populate it on startup
|
||||
rm -fr "${D}${localstatedir}/run"
|
||||
}
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
From fcf3745f1d03c4a97e87ef4341269c645fdda787 Mon Sep 17 00:00:00 2001
|
||||
From: Valentin Popa <valentin.popa@intel.com>
|
||||
Date: Thu, 5 Jun 2014 11:50:11 +0300
|
||||
Subject: [PATCH] CVE-2014-3466
|
||||
|
||||
Prevent memory corruption due to server hello parsing.
|
||||
|
||||
Upstream-Status: Backport
|
||||
|
||||
Signed-off-by: Valentin Popa <valentin.popa@intel.com>
|
||||
---
|
||||
lib/gnutls_handshake.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/lib/gnutls_handshake.c b/lib/gnutls_handshake.c
|
||||
index e4a63e4..e652528 100644
|
||||
--- a/lib/gnutls_handshake.c
|
||||
+++ b/lib/gnutls_handshake.c
|
||||
@@ -1797,7 +1797,7 @@ _gnutls_read_server_hello (gnutls_session_t session,
|
||||
DECR_LEN (len, 1);
|
||||
session_id_len = data[pos++];
|
||||
|
||||
- if (len < session_id_len)
|
||||
+ if (len < session_id_len || session_id_len > TLS_MAX_SESSION_ID_SIZE)
|
||||
{
|
||||
gnutls_assert ();
|
||||
return GNUTLS_E_UNSUPPORTED_VERSION_PACKET;
|
||||
--
|
||||
1.9.1
|
||||
|
|
@ -8,6 +8,7 @@ SRC_URI += "file://gnutls-openssl.patch \
|
|||
file://avoid_AM_PROG_MKDIR_P_warning_error_with_automake_1.12.patch \
|
||||
file://CVE-2014-1959-rejection-of-v1-intermediate-cert.patch \
|
||||
file://CVE-2014-0092-corrected-return-codes.patch \
|
||||
file://CVE-2014-3466.patch \
|
||||
file://25_updatedgdocfrommaster.diff \
|
||||
${@['', 'file://fix-gettext-version.patch'][bb.data.inherits_class('native', d) or (not ((d.getVar("INCOMPATIBLE_LICENSE", True) or "").find("GPLv3") != -1))]} \
|
||||
"
|
||||
|
|
Loading…
Reference in New Issue