* [PATCH 1/5] xen: update git version to 4.6.x
@ 2016-01-25 15:29 Doug Goldstein
2016-01-25 15:29 ` [PATCH 2/5] xen: drop explicit DEPEND on libgcc Doug Goldstein
` (4 more replies)
0 siblings, 5 replies; 13+ messages in thread
From: Doug Goldstein @ 2016-01-25 15:29 UTC (permalink / raw)
To: meta-virtualization
Since xen.inc has been updated to support only Xen 4.6.x, the xen_git.bb
should be updated to a revision in the 4.6.x stable series.
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
---
recipes-extended/xen/xen_git.bb | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/recipes-extended/xen/xen_git.bb b/recipes-extended/xen/xen_git.bb
index 88145a3..9e74d7a 100644
--- a/recipes-extended/xen/xen_git.bb
+++ b/recipes-extended/xen/xen_git.bb
@@ -1,8 +1,8 @@
require xen.inc
-SRCREV = "68bd172e6fa565899c846eb72755c8ffd8562c8a"
+SRCREV = "1fd615aa0108490ffc558d27627f509183cbfdaf"
-PV = "4.4.0+git${SRCPV}"
+PV = "4.6.0+git${SRCPV}"
S = "${WORKDIR}/git"
--
2.4.10
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 2/5] xen: drop explicit DEPEND on libgcc
2016-01-25 15:29 [PATCH 1/5] xen: update git version to 4.6.x Doug Goldstein
@ 2016-01-25 15:29 ` Doug Goldstein
2016-01-25 23:24 ` Chris Patterson
2016-01-25 15:29 ` [PATCH 3/5] xen: fix up typo in XSM comments Doug Goldstein
` (3 subsequent siblings)
4 siblings, 1 reply; 13+ messages in thread
From: Doug Goldstein @ 2016-01-25 15:29 UTC (permalink / raw)
To: meta-virtualization
The ELFs that get built in the 'xen-xl' package do not have a NEEDED
entry on libgcc. 'xen-base' is a meta package and itself should not
depend on a library like this. Yocto checks the NEEDED of the dynamic
section and automatically includes those libraries as dependencies.
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
---
recipes-extended/xen/xen.inc | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/recipes-extended/xen/xen.inc b/recipes-extended/xen/xen.inc
index c63cb2c..c0acbcd 100644
--- a/recipes-extended/xen/xen.inc
+++ b/recipes-extended/xen/xen.inc
@@ -54,7 +54,7 @@ DEPENDS = " \
RDEPENDS_${PN} = ""
RDEPENDS_${PN}-base = "\
- libgcc bash perl xz \
+ bash perl xz \
${PN}-blktap \
${PN}-console \
${PN}-libblktapctl \
@@ -137,8 +137,6 @@ RDEPENDS_${PN}-xendomains = "\
${PN}-xenstored \
"
-RDEPENDS_${PN}-xl = "libgcc"
-
RDEPENDS_${PN}-xentrace = "python"
RDEPENDS_${PN}-xen-watchdog = "bash"
--
2.4.10
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 3/5] xen: fix up typo in XSM comments
2016-01-25 15:29 [PATCH 1/5] xen: update git version to 4.6.x Doug Goldstein
2016-01-25 15:29 ` [PATCH 2/5] xen: drop explicit DEPEND on libgcc Doug Goldstein
@ 2016-01-25 15:29 ` Doug Goldstein
2016-01-25 22:21 ` Chris Patterson
2016-01-25 15:29 ` [PATCH 4/5] xen: separate the extra steps into their own tasks Doug Goldstein
` (2 subsequent siblings)
4 siblings, 1 reply; 13+ messages in thread
From: Doug Goldstein @ 2016-01-25 15:29 UTC (permalink / raw)
To: meta-virtualization
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
---
recipes-extended/xen/xen.inc | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/recipes-extended/xen/xen.inc b/recipes-extended/xen/xen.inc
index c0acbcd..2df7525 100644
--- a/recipes-extended/xen/xen.inc
+++ b/recipes-extended/xen/xen.inc
@@ -720,7 +720,7 @@ EXTRA_OECONF += " \
--disable-ocamltools \
"
-# check for XSM in package config to allow XSM_ENABLE to be set
+# check for XSM in package config to allow XSM_ENABLE to be set
python () {
pkgconfig = d.getVar('PACKAGECONFIG', True)
if ('xsm') in pkgconfig.split():
@@ -741,7 +741,7 @@ do_configure() {
fi
fi
- #./configure --enable-xsm does not set XSM_ENABLE must be done manually
+ #./configure --enable-xsmpolicy does not set XSM_ENABLE must be done manually
if [ "${XSM_ENABLED}" = "1" ]; then
echo "XSM_ENABLE := y" > ${S}/.config
fi
--
2.4.10
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 4/5] xen: separate the extra steps into their own tasks
2016-01-25 15:29 [PATCH 1/5] xen: update git version to 4.6.x Doug Goldstein
2016-01-25 15:29 ` [PATCH 2/5] xen: drop explicit DEPEND on libgcc Doug Goldstein
2016-01-25 15:29 ` [PATCH 3/5] xen: fix up typo in XSM comments Doug Goldstein
@ 2016-01-25 15:29 ` Doug Goldstein
2016-01-25 22:30 ` Chris Patterson
2016-01-25 15:29 ` [PATCH 5/5] xen: move bits common to all Xen versions to xen.inc Doug Goldstein
2016-01-25 22:20 ` [PATCH 1/5] xen: update git version to 4.6.x Chris Patterson
4 siblings, 1 reply; 13+ messages in thread
From: Doug Goldstein @ 2016-01-25 15:29 UTC (permalink / raw)
To: meta-virtualization
do_configure() was overloaded with a lot of behaviors that really were
source code patching so instead make them as extra tasks that happen
after do_patch() and before do_configure().
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
---
recipes-extended/xen/xen.inc | 21 ++++++++++++++++++++-
recipes-extended/xen/xen_4.6.0.bb | 12 ------------
2 files changed, 20 insertions(+), 13 deletions(-)
diff --git a/recipes-extended/xen/xen.inc b/recipes-extended/xen/xen.inc
index 2df7525..3e029ee 100644
--- a/recipes-extended/xen/xen.inc
+++ b/recipes-extended/xen/xen.inc
@@ -729,7 +729,21 @@ python () {
d.setVar('XSM_ENABLED', '0')
}
-do_configure() {
+do_post_patch() {
+ # fixup AS/CC/CCP/etc variable within StdGNU.mk
+ for i in LD CC CPP CXX; do
+ sed -i "s/^\($i\s\s*\).*=/\1?=/" ${S}/config/StdGNU.mk
+ done
+ # fixup environment passing in some makefiles
+ sed -i 's#\(\w*\)=\(\$.\w*.\)#\1="\2"#' ${S}/tools/firmware/Makefile
+
+ # libsystemd-daemon -> libsystemd for newer systemd versions
+ sed -i 's#libsystemd-daemon#libsystemd#' ${S}/tools/configure
+}
+
+addtask post_patch after do_patch before do_configure
+
+do_stubs() {
# no stubs-32.h in our 64-bit sysroot - hack it into tools/include/gnu
if ! test -f ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-32.h ; then
if test -f ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-64.h ; then
@@ -740,6 +754,11 @@ do_configure() {
echo \#define __stub___kernel_tanl >> ${S}/tools/include/gnu/stubs-32.h
fi
fi
+}
+
+addtask stubs after do_patch before do_configure
+
+do_configure() {
#./configure --enable-xsmpolicy does not set XSM_ENABLE must be done manually
if [ "${XSM_ENABLED}" = "1" ]; then
diff --git a/recipes-extended/xen/xen_4.6.0.bb b/recipes-extended/xen/xen_4.6.0.bb
index 92975a0..95570a7 100644
--- a/recipes-extended/xen/xen_4.6.0.bb
+++ b/recipes-extended/xen/xen_4.6.0.bb
@@ -27,18 +27,6 @@ EXTRA_OEMAKE += "SEABIOS_ROM=${STAGING_DIR_HOST}/usr/share/firmware/bios.bin"
EXTRA_OEMAKE += "ETHERBOOT_ROMS=${STAGING_DIR_HOST}/usr/share/firmware/rtl8139.rom"
#EXTRA_OEMAKE += "XENGFX_ROM=${STAGING_DIR_HOST}/usr/share/firmware/vgabios.bin"
-do_configure_prepend() {
- # fixup AS/CC/CCP/etc variable within StdGNU.mk
- for i in LD CC CPP CXX; do
- sed -i "s/^\($i\s\s*\).*=/\1?=/" ${S}/config/StdGNU.mk
- done
- # fixup environment passing in some makefiles
- sed -i 's#\(\w*\)=\(\$.\w*.\)#\1="\2"#' ${S}/tools/firmware/Makefile
-
- # libsystemd-daemon -> libsystemd for newer systemd versions
- sed -i 's#libsystemd-daemon#libsystemd#' ${S}/tools/configure
-}
-
do_install_append() {
# fixup default path to qemu-system-i386
sed -i 's#\(test -z "$QEMU_XEN" && QEMU_XEN=\).*$#\1"/usr/bin/qemu-system-i386"#' ${D}/etc/init.d/xencommons
--
2.4.10
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 5/5] xen: move bits common to all Xen versions to xen.inc
2016-01-25 15:29 [PATCH 1/5] xen: update git version to 4.6.x Doug Goldstein
` (2 preceding siblings ...)
2016-01-25 15:29 ` [PATCH 4/5] xen: separate the extra steps into their own tasks Doug Goldstein
@ 2016-01-25 15:29 ` Doug Goldstein
2016-01-25 22:34 ` Chris Patterson
2016-01-25 22:20 ` [PATCH 1/5] xen: update git version to 4.6.x Chris Patterson
4 siblings, 1 reply; 13+ messages in thread
From: Doug Goldstein @ 2016-01-25 15:29 UTC (permalink / raw)
To: meta-virtualization
These items are common for all Xen versions since at least 4.5 and newer
so these should just go in the common include file.
Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
---
recipes-extended/xen/xen.inc | 9 +++++++++
recipes-extended/xen/xen_4.6.0.bb | 11 -----------
2 files changed, 9 insertions(+), 11 deletions(-)
diff --git a/recipes-extended/xen/xen.inc b/recipes-extended/xen/xen.inc
index 3e029ee..6f52765 100644
--- a/recipes-extended/xen/xen.inc
+++ b/recipes-extended/xen/xen.inc
@@ -691,6 +691,11 @@ python () {
raise bb.parse.SkipPackage('Cannot map `%s` to a xen architecture' % d.getVar('TARGET_ARCH', True))
}
+# Yocto appends ${PN} to libexecdir by default and Xen appends 'xen' as well
+# the result is a nested xen/xen/ so let's avoid that by shunning Yocto's
+# extra ${PN} appended.
+libexecdir = "${libdir}"
+
# hardcoded as Linux, as the only compatible hosts are Linux.
export XEN_OS = "Linux"
@@ -718,6 +723,10 @@ EXTRA_OECONF += " \
--disable-xenstore-stubdom \
--disable-rombios \
--disable-ocamltools \
+ --with-initddir=${INIT_D_DIR} \
+ --with-sysconfig-leaf-dir=default \
+ --with-system-qemu=/usr/bin/qemu-system-i386 \
+ --disable-qemu-traditional \
"
# check for XSM in package config to allow XSM_ENABLE to be set
diff --git a/recipes-extended/xen/xen_4.6.0.bb b/recipes-extended/xen/xen_4.6.0.bb
index 95570a7..3e99324 100644
--- a/recipes-extended/xen/xen_4.6.0.bb
+++ b/recipes-extended/xen/xen_4.6.0.bb
@@ -10,17 +10,6 @@ SRC_URI[sha256sum] = "6fa1c2431df55aa5950d248e6093b8c8c0f11c357a0adbd348a2186478
S = "${WORKDIR}/xen-${PV}"
-# Xen suffixes the libexecdir within its configure scripts, prevent the nested xen/xen/
-libexecdir = "${libdir}"
-
-# These options override detected values from the build.
-EXTRA_OECONF_append += " \
- --with-initddir=${INIT_D_DIR} \
- --with-sysconfig-leaf-dir=default \
- --with-system-qemu=/usr/bin/qemu-system-i386 \
- --disable-qemu-traditional \
- "
-
EXTRA_OEMAKE += "STDVGA_ROM=${STAGING_DIR_HOST}/usr/share/firmware/vgabios-0.7a.bin"
EXTRA_OEMAKE += "CIRRUSVGA_ROM=${STAGING_DIR_HOST}/usr/share/firmware/vgabios-0.7a.cirrus.bin"
EXTRA_OEMAKE += "SEABIOS_ROM=${STAGING_DIR_HOST}/usr/share/firmware/bios.bin"
--
2.4.10
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 1/5] xen: update git version to 4.6.x
2016-01-25 15:29 [PATCH 1/5] xen: update git version to 4.6.x Doug Goldstein
` (3 preceding siblings ...)
2016-01-25 15:29 ` [PATCH 5/5] xen: move bits common to all Xen versions to xen.inc Doug Goldstein
@ 2016-01-25 22:20 ` Chris Patterson
2016-01-26 15:58 ` Doug Goldstein
4 siblings, 1 reply; 13+ messages in thread
From: Chris Patterson @ 2016-01-25 22:20 UTC (permalink / raw)
To: Doug Goldstein; +Cc: meta-virtualization@yoctoproject.org
I gave series a spin. Xen 4.6 built and ran nicely. On the git
version, I received: "Fetcher failure: Unable to find revision
1fd615aa0108490ffc558d27627f509183cbfdaf in branch master even from
upstream"
Had to set branch=staging-4.6 to get it to fetch OK. With the rest of
this patch series applied, I also needed to move more of the common
bits into xen.inc to get it to build for x86_64. Any thoughts on
moving the EXTRA_OEMAKE,
xen-x86-Fix-up-rules-when-forcing-mno-sse.patch, and
do_install_append() to the .inc as well?
Cheers for the cleanup :)
On Mon, Jan 25, 2016 at 10:29 AM, Doug Goldstein <cardoe@cardoe.com> wrote:
> Since xen.inc has been updated to support only Xen 4.6.x, the xen_git.bb
> should be updated to a revision in the 4.6.x stable series.
>
> Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
> ---
> recipes-extended/xen/xen_git.bb | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/recipes-extended/xen/xen_git.bb b/recipes-extended/xen/xen_git.bb
> index 88145a3..9e74d7a 100644
> --- a/recipes-extended/xen/xen_git.bb
> +++ b/recipes-extended/xen/xen_git.bb
> @@ -1,8 +1,8 @@
> require xen.inc
>
> -SRCREV = "68bd172e6fa565899c846eb72755c8ffd8562c8a"
> +SRCREV = "1fd615aa0108490ffc558d27627f509183cbfdaf"
>
> -PV = "4.4.0+git${SRCPV}"
> +PV = "4.6.0+git${SRCPV}"
>
> S = "${WORKDIR}/git"
>
> --
> 2.4.10
>
> --
> _______________________________________________
> meta-virtualization mailing list
> meta-virtualization@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-virtualization
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 3/5] xen: fix up typo in XSM comments
2016-01-25 15:29 ` [PATCH 3/5] xen: fix up typo in XSM comments Doug Goldstein
@ 2016-01-25 22:21 ` Chris Patterson
0 siblings, 0 replies; 13+ messages in thread
From: Chris Patterson @ 2016-01-25 22:21 UTC (permalink / raw)
To: Doug Goldstein; +Cc: meta-virtualization@yoctoproject.org
+1, LGTM
On Mon, Jan 25, 2016 at 10:29 AM, Doug Goldstein <cardoe@cardoe.com> wrote:
> Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
> ---
> recipes-extended/xen/xen.inc | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/recipes-extended/xen/xen.inc b/recipes-extended/xen/xen.inc
> index c0acbcd..2df7525 100644
> --- a/recipes-extended/xen/xen.inc
> +++ b/recipes-extended/xen/xen.inc
> @@ -720,7 +720,7 @@ EXTRA_OECONF += " \
> --disable-ocamltools \
> "
>
> -# check for XSM in package config to allow XSM_ENABLE to be set
> +# check for XSM in package config to allow XSM_ENABLE to be set
> python () {
> pkgconfig = d.getVar('PACKAGECONFIG', True)
> if ('xsm') in pkgconfig.split():
> @@ -741,7 +741,7 @@ do_configure() {
> fi
> fi
>
> - #./configure --enable-xsm does not set XSM_ENABLE must be done manually
> + #./configure --enable-xsmpolicy does not set XSM_ENABLE must be done manually
> if [ "${XSM_ENABLED}" = "1" ]; then
> echo "XSM_ENABLE := y" > ${S}/.config
> fi
> --
> 2.4.10
>
> --
> _______________________________________________
> meta-virtualization mailing list
> meta-virtualization@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-virtualization
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 4/5] xen: separate the extra steps into their own tasks
2016-01-25 15:29 ` [PATCH 4/5] xen: separate the extra steps into their own tasks Doug Goldstein
@ 2016-01-25 22:30 ` Chris Patterson
0 siblings, 0 replies; 13+ messages in thread
From: Chris Patterson @ 2016-01-25 22:30 UTC (permalink / raw)
To: Doug Goldstein; +Cc: meta-virtualization@yoctoproject.org
LGTM, it builds fine, but I'm no expect on addtask usage :)
On Mon, Jan 25, 2016 at 10:29 AM, Doug Goldstein <cardoe@cardoe.com> wrote:
> do_configure() was overloaded with a lot of behaviors that really were
> source code patching so instead make them as extra tasks that happen
> after do_patch() and before do_configure().
>
> Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
> ---
> recipes-extended/xen/xen.inc | 21 ++++++++++++++++++++-
> recipes-extended/xen/xen_4.6.0.bb | 12 ------------
> 2 files changed, 20 insertions(+), 13 deletions(-)
>
> diff --git a/recipes-extended/xen/xen.inc b/recipes-extended/xen/xen.inc
> index 2df7525..3e029ee 100644
> --- a/recipes-extended/xen/xen.inc
> +++ b/recipes-extended/xen/xen.inc
> @@ -729,7 +729,21 @@ python () {
> d.setVar('XSM_ENABLED', '0')
> }
>
> -do_configure() {
> +do_post_patch() {
> + # fixup AS/CC/CCP/etc variable within StdGNU.mk
> + for i in LD CC CPP CXX; do
> + sed -i "s/^\($i\s\s*\).*=/\1?=/" ${S}/config/StdGNU.mk
> + done
> + # fixup environment passing in some makefiles
> + sed -i 's#\(\w*\)=\(\$.\w*.\)#\1="\2"#' ${S}/tools/firmware/Makefile
> +
> + # libsystemd-daemon -> libsystemd for newer systemd versions
> + sed -i 's#libsystemd-daemon#libsystemd#' ${S}/tools/configure
> +}
> +
> +addtask post_patch after do_patch before do_configure
> +
> +do_stubs() {
> # no stubs-32.h in our 64-bit sysroot - hack it into tools/include/gnu
> if ! test -f ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-32.h ; then
> if test -f ${STAGING_DIR_TARGET}/usr/include/gnu/stubs-64.h ; then
> @@ -740,6 +754,11 @@ do_configure() {
> echo \#define __stub___kernel_tanl >> ${S}/tools/include/gnu/stubs-32.h
> fi
> fi
> +}
> +
> +addtask stubs after do_patch before do_configure
> +
> +do_configure() {
>
> #./configure --enable-xsmpolicy does not set XSM_ENABLE must be done manually
> if [ "${XSM_ENABLED}" = "1" ]; then
> diff --git a/recipes-extended/xen/xen_4.6.0.bb b/recipes-extended/xen/xen_4.6.0.bb
> index 92975a0..95570a7 100644
> --- a/recipes-extended/xen/xen_4.6.0.bb
> +++ b/recipes-extended/xen/xen_4.6.0.bb
> @@ -27,18 +27,6 @@ EXTRA_OEMAKE += "SEABIOS_ROM=${STAGING_DIR_HOST}/usr/share/firmware/bios.bin"
> EXTRA_OEMAKE += "ETHERBOOT_ROMS=${STAGING_DIR_HOST}/usr/share/firmware/rtl8139.rom"
> #EXTRA_OEMAKE += "XENGFX_ROM=${STAGING_DIR_HOST}/usr/share/firmware/vgabios.bin"
>
> -do_configure_prepend() {
> - # fixup AS/CC/CCP/etc variable within StdGNU.mk
> - for i in LD CC CPP CXX; do
> - sed -i "s/^\($i\s\s*\).*=/\1?=/" ${S}/config/StdGNU.mk
> - done
> - # fixup environment passing in some makefiles
> - sed -i 's#\(\w*\)=\(\$.\w*.\)#\1="\2"#' ${S}/tools/firmware/Makefile
> -
> - # libsystemd-daemon -> libsystemd for newer systemd versions
> - sed -i 's#libsystemd-daemon#libsystemd#' ${S}/tools/configure
> -}
> -
> do_install_append() {
> # fixup default path to qemu-system-i386
> sed -i 's#\(test -z "$QEMU_XEN" && QEMU_XEN=\).*$#\1"/usr/bin/qemu-system-i386"#' ${D}/etc/init.d/xencommons
> --
> 2.4.10
>
> --
> _______________________________________________
> meta-virtualization mailing list
> meta-virtualization@yoctoproject.org
> https://lists.yoctoproject.org/listinfo/meta-virtualization
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 5/5] xen: move bits common to all Xen versions to xen.inc
2016-01-25 15:29 ` [PATCH 5/5] xen: move bits common to all Xen versions to xen.inc Doug Goldstein
@ 2016-01-25 22:34 ` Chris Patterson
0 siblings, 0 replies; 13+ messages in thread
From: Chris Patterson @ 2016-01-25 22:34 UTC (permalink / raw)
To: Doug Goldstein; +Cc: meta-virtualization@yoctoproject.org
+1, LGTM, though I'd probably also move the common EXTRA_OEMAKE and
the sse patch into the .inc. Unless there is reason not to? I can
follow up after this series with that patch as well, if desired.
Cheers!
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/5] xen: drop explicit DEPEND on libgcc
2016-01-25 15:29 ` [PATCH 2/5] xen: drop explicit DEPEND on libgcc Doug Goldstein
@ 2016-01-25 23:24 ` Chris Patterson
2016-01-26 15:19 ` Doug Goldstein
0 siblings, 1 reply; 13+ messages in thread
From: Chris Patterson @ 2016-01-25 23:24 UTC (permalink / raw)
To: Doug Goldstein; +Cc: meta-virtualization@yoctoproject.org
On Mon, Jan 25, 2016 at 10:29 AM, Doug Goldstein <cardoe@cardoe.com> wrote:
> The ELFs that get built in the 'xen-xl' package do not have a NEEDED
> entry on libgcc. 'xen-base' is a meta package and itself should not
> depend on a library like this. Yocto checks the NEEDED of the dynamic
> section and automatically includes those libraries as dependencies.
>
> Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
> ---
> recipes-extended/xen/xen.inc | 4 +---
> 1 file changed, 1 insertion(+), 3 deletions(-)
>
> diff --git a/recipes-extended/xen/xen.inc b/recipes-extended/xen/xen.inc
> index c63cb2c..c0acbcd 100644
> --- a/recipes-extended/xen/xen.inc
> +++ b/recipes-extended/xen/xen.inc
> @@ -54,7 +54,7 @@ DEPENDS = " \
> RDEPENDS_${PN} = ""
>
> RDEPENDS_${PN}-base = "\
> - libgcc bash perl xz \
> + bash perl xz \
Makes sense to remove from the meta package, +1.
> ${PN}-blktap \
> ${PN}-console \
> ${PN}-libblktapctl \
> @@ -137,8 +137,6 @@ RDEPENDS_${PN}-xendomains = "\
> ${PN}-xenstored \
> "
>
> -RDEPENDS_${PN}-xl = "libgcc"
> -
The commit that added libgcc warned some operations may not work:
commit c93bc0c0185da21482164d9f76047715349cbb17
Author: Philip Tricca <flihp@twobit.us>
Date: Thu Jan 23 03:19:33 2014 +0000
xen: Add libgcc as runtime dependency of xen-xl package.
Much of xl operates fine without libgcc but some operations complain
that pthread_cancel won't work properly without libgcc_s.so.1
installed. The exact text is:
libgcc_s.so.1 must be installed for pthread_cancel to work
Signed-off-by: Philip Tricca <flihp@twobit.us>
Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
Given the above warning, I went ahead a did a test. I took my image
which had libgcc-s installed anyways, moved /lib/libgcc-s.so.1 to
/tmp, then attempted to create a VM:
...
domainbuilder: detail: xc_dom_gnttab_hvm_seed: called, pfn=0x10f000
libxl: error: libxl_dm.c:1854:device_model_spawn_outcome: domain 4
device model: spawn failed (rc=-3)
libxl: error: libxl_create.c:1341:domcreate_devmodel_started: device
model did not start: -3
libxl: error: libxl_dm.c:1964:kill_device_model: Device Model already exited
libxl: error: libxl.c:1591:libxl__destroy_domid: non-existant domain 4
libxl: error: libxl.c:1549:domain_destroy_callback: unable to destroy
guest with domid 4
libxl: error: libxl.c:1476:domain_destroy_cb: destruction of domain 4 failed
libgcc_s.so.1 must be installed for pthread_cancel to work
Aborted
...
So, I imagine that this patch is probably not wise, at least for my
environment :) Although, it would appear that qemu pulls libgcc into
my image regardless.
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/5] xen: drop explicit DEPEND on libgcc
2016-01-25 23:24 ` Chris Patterson
@ 2016-01-26 15:19 ` Doug Goldstein
2016-01-26 23:14 ` Richard Purdie
0 siblings, 1 reply; 13+ messages in thread
From: Doug Goldstein @ 2016-01-26 15:19 UTC (permalink / raw)
To: Chris Patterson; +Cc: meta-virtualization@yoctoproject.org
[-- Attachment #1: Type: text/plain, Size: 3074 bytes --]
On 1/25/16 5:24 PM, Chris Patterson wrote:
> On Mon, Jan 25, 2016 at 10:29 AM, Doug Goldstein <cardoe@cardoe.com> wrote:
>> The ELFs that get built in the 'xen-xl' package do not have a NEEDED
>> entry on libgcc. 'xen-base' is a meta package and itself should not
>> depend on a library like this. Yocto checks the NEEDED of the dynamic
>> section and automatically includes those libraries as dependencies.
>>
>> Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
>> ---
>> recipes-extended/xen/xen.inc | 4 +---
>> 1 file changed, 1 insertion(+), 3 deletions(-)
>>
>> diff --git a/recipes-extended/xen/xen.inc b/recipes-extended/xen/xen.inc
>> index c63cb2c..c0acbcd 100644
>> --- a/recipes-extended/xen/xen.inc
>> +++ b/recipes-extended/xen/xen.inc
>> @@ -54,7 +54,7 @@ DEPENDS = " \
>> RDEPENDS_${PN} = ""
>>
>> RDEPENDS_${PN}-base = "\
>> - libgcc bash perl xz \
>> + bash perl xz \
>
> Makes sense to remove from the meta package, +1.
>
>> ${PN}-blktap \
>> ${PN}-console \
>> ${PN}-libblktapctl \
>> @@ -137,8 +137,6 @@ RDEPENDS_${PN}-xendomains = "\
>> ${PN}-xenstored \
>> "
>>
>> -RDEPENDS_${PN}-xl = "libgcc"
>> -
>
> The commit that added libgcc warned some operations may not work:
>
> commit c93bc0c0185da21482164d9f76047715349cbb17
> Author: Philip Tricca <flihp@twobit.us>
> Date: Thu Jan 23 03:19:33 2014 +0000
>
> xen: Add libgcc as runtime dependency of xen-xl package.
>
> Much of xl operates fine without libgcc but some operations complain
> that pthread_cancel won't work properly without libgcc_s.so.1
> installed. The exact text is:
>
> libgcc_s.so.1 must be installed for pthread_cancel to work
>
> Signed-off-by: Philip Tricca <flihp@twobit.us>
> Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
>
>
> Given the above warning, I went ahead a did a test. I took my image
> which had libgcc-s installed anyways, moved /lib/libgcc-s.so.1 to
> /tmp, then attempted to create a VM:
>
> ...
> domainbuilder: detail: xc_dom_gnttab_hvm_seed: called, pfn=0x10f000
> libxl: error: libxl_dm.c:1854:device_model_spawn_outcome: domain 4
> device model: spawn failed (rc=-3)
> libxl: error: libxl_create.c:1341:domcreate_devmodel_started: device
> model did not start: -3
> libxl: error: libxl_dm.c:1964:kill_device_model: Device Model already exited
>
> libxl: error: libxl.c:1591:libxl__destroy_domid: non-existant domain 4
> libxl: error: libxl.c:1549:domain_destroy_callback: unable to destroy
> guest with domid 4
> libxl: error: libxl.c:1476:domain_destroy_cb: destruction of domain 4 failed
> libgcc_s.so.1 must be installed for pthread_cancel to work
> Aborted
> ...
>
> So, I imagine that this patch is probably not wise, at least for my
> environment :) Although, it would appear that qemu pulls libgcc into
> my image regardless.
>
hmm. I'd rather respin it without that change then. Interesting that the
NEEDED check doesn't pick it up as a dependency.
--
Doug Goldstein
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 978 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 1/5] xen: update git version to 4.6.x
2016-01-25 22:20 ` [PATCH 1/5] xen: update git version to 4.6.x Chris Patterson
@ 2016-01-26 15:58 ` Doug Goldstein
0 siblings, 0 replies; 13+ messages in thread
From: Doug Goldstein @ 2016-01-26 15:58 UTC (permalink / raw)
To: Chris Patterson; +Cc: meta-virtualization@yoctoproject.org
[-- Attachment #1: Type: text/plain, Size: 762 bytes --]
On 1/25/16 4:20 PM, Chris Patterson wrote:
> I gave series a spin. Xen 4.6 built and ran nicely. On the git
> version, I received: "Fetcher failure: Unable to find revision
> 1fd615aa0108490ffc558d27627f509183cbfdaf in branch master even from
> upstream"
>
> Had to set branch=staging-4.6 to get it to fetch OK. With the rest of
> this patch series applied, I also needed to move more of the common
> bits into xen.inc to get it to build for x86_64. Any thoughts on
> moving the EXTRA_OEMAKE,
> xen-x86-Fix-up-rules-when-forcing-mno-sse.patch, and
> do_install_append() to the .inc as well?
>
> Cheers for the cleanup :)
>
Yes. I actually have more patches and didn't include them for some
reason. I'll repost.
--
Doug Goldstein
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 978 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 2/5] xen: drop explicit DEPEND on libgcc
2016-01-26 15:19 ` Doug Goldstein
@ 2016-01-26 23:14 ` Richard Purdie
0 siblings, 0 replies; 13+ messages in thread
From: Richard Purdie @ 2016-01-26 23:14 UTC (permalink / raw)
To: Doug Goldstein, Chris Patterson; +Cc: meta-virtualization@yoctoproject.org
On Tue, 2016-01-26 at 09:19 -0600, Doug Goldstein wrote:
> hmm. I'd rather respin it without that change then. Interesting that
> the
> NEEDED check doesn't pick it up as a dependency.
Its a known issue with the way libpthread dlopen()s libgcc. In some
ways, the pthread library should really RRECOMMEND libgcc, however
since its part of the main glibc package, that would mean libgcc
effectively everywhere.
Its only used by a limited subset of the pthread functionality so there
are cases you don't need it.
Cheers,
Richard
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2016-01-26 23:14 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-01-25 15:29 [PATCH 1/5] xen: update git version to 4.6.x Doug Goldstein
2016-01-25 15:29 ` [PATCH 2/5] xen: drop explicit DEPEND on libgcc Doug Goldstein
2016-01-25 23:24 ` Chris Patterson
2016-01-26 15:19 ` Doug Goldstein
2016-01-26 23:14 ` Richard Purdie
2016-01-25 15:29 ` [PATCH 3/5] xen: fix up typo in XSM comments Doug Goldstein
2016-01-25 22:21 ` Chris Patterson
2016-01-25 15:29 ` [PATCH 4/5] xen: separate the extra steps into their own tasks Doug Goldstein
2016-01-25 22:30 ` Chris Patterson
2016-01-25 15:29 ` [PATCH 5/5] xen: move bits common to all Xen versions to xen.inc Doug Goldstein
2016-01-25 22:34 ` Chris Patterson
2016-01-25 22:20 ` [PATCH 1/5] xen: update git version to 4.6.x Chris Patterson
2016-01-26 15:58 ` Doug Goldstein
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.