Message ID | 20180420163354.12065-1-raj.khem@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | [V2,1/6] libssp-nonshared: Add recipe | expand |
build-appliance is failing at SDK creation time: Problem: package packagegroup-self-hosted-1.0-r13.0.noarch requires packagegroup-self-hosted-sdk, but none of the providers can be installed - conflicting requests - nothing provides libssp-dev needed by packagegroup-self-hosted-sdk-1.0-r13.0.noarch Ross On 20 April 2018 at 17:33, Khem Raj <raj.khem@gmail.com> wrote: > libssp-nonshared is a minimal gcc runtime piece which is needed > on non-glibc systems which do implement libssp APIs in libc > > Signed-off-by: Khem Raj <raj.khem@gmail.com> > --- > Changes since v1: > - Package into staticdev package > > meta/recipes-core/musl/libssp-nonshared.bb | 39 ++++++++++++++++ > .../musl/libssp-nonshared/ssp-local.c | 45 +++++++++++++++++++ > 2 files changed, 84 insertions(+) > create mode 100644 meta/recipes-core/musl/libssp-nonshared.bb > create mode 100644 meta/recipes-core/musl/libssp-nonshared/ssp-local.c > > diff --git a/meta/recipes-core/musl/libssp-nonshared.bb b/meta/recipes-core/musl/libssp-nonshared.bb > new file mode 100644 > index 0000000000..00a0a3d411 > --- /dev/null > +++ b/meta/recipes-core/musl/libssp-nonshared.bb > @@ -0,0 +1,39 @@ > +# Copyright (C) 2018 Khem Raj <raj.khem@gmail.com> > +# Released under the MIT license (see COPYING.MIT for the terms) > + > +SUMMARY = "Minimal libssp_nonshared.a must needed for ssp to work with gcc on musl" > +LICENSE = "GPL-3.0-with-GCC-exception" > +LIC_FILES_CHKSUM = "file://ssp-local.c;beginline=1;endline=32;md5=c06d391208c0cfcbc541a6728ed65cc4" > +SECTION = "libs" > + > +SRC_URI = "file://ssp-local.c" > + > +PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:" > + > +INHIBIT_DEFAULT_DEPS = "1" > + > +STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}" > +STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}" > + > +DEPENDS = "virtual/${TARGET_PREFIX}binutils \ > + virtual/${TARGET_PREFIX}gcc-initial \ > +" > + > +do_configure[noexec] = "1" > + > +S = "${WORKDIR}" > + > +do_compile() { > + ${CC} ${CPPFLAGS} ${CFLAGS} -c ssp-local.c -o ssp-local.o > + ${AR} r libssp_nonshared.a ssp-local.o > +} > +do_install() { > + install -Dm 0644 ${B}/libssp_nonshared.a ${D}${base_libdir}/libssp_nonshared.a > +} > +# > +# We will skip parsing for non-musl systems > +# > +COMPATIBLE_HOST = ".*-musl.*" > +RDEPENDS_${PN}-staticdev = "" > +RDEPENDS_${PN}-dev = "" > +RRECOMMENDS_${PN}-dbg = "${PN}-staticdev (= ${EXTENDPKGV})" > diff --git a/meta/recipes-core/musl/libssp-nonshared/ssp-local.c b/meta/recipes-core/musl/libssp-nonshared/ssp-local.c > new file mode 100644 > index 0000000000..8f51afa2c1 > --- /dev/null > +++ b/meta/recipes-core/musl/libssp-nonshared/ssp-local.c > @@ -0,0 +1,45 @@ > +/* Stack protector support. > + Copyright (C) 2005-2018 Free Software Foundation, Inc. > + > +This file is part of GCC. > + > +GCC is free software; you can redistribute it and/or modify it under > +the terms of the GNU General Public License as published by the Free > +Software Foundation; either version 3, or (at your option) any later > +version. > + > +In addition to the permissions in the GNU General Public License, the > +Free Software Foundation gives you unlimited permission to link the > +compiled version of this file into combinations with other programs, > +and to distribute those combinations without any restriction coming > +from the use of this file. (The General Public License restrictions > +do apply in other respects; for example, they cover modification of > +the file, and distribution when not linked into a combine > +executable.) > + > +GCC is distributed in the hope that it will be useful, but WITHOUT ANY > +WARRANTY; without even the implied warranty of MERCHANTABILITY or > +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License > +for more details. > + > +Under Section 7 of GPL version 3, you are granted additional > +permissions described in the GCC Runtime Library Exception, version > +3.1, as published by the Free Software Foundation. > + > +You should have received a copy of the GNU General Public License and > +a copy of the GCC Runtime Library Exception along with this program; > +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see > +<http://www.gnu.org/licenses/>. */ > + > +extern void __stack_chk_fail (void); > + > +/* Some targets can avoid loading a GP for calls to hidden functions. > + Using this entry point may avoid the load of a GP entirely for the > + function, making the overall code smaller. */ > + > +void > +__attribute__((visibility ("hidden"))) > +__stack_chk_fail_local (void) > +{ > + __stack_chk_fail (); > +} > -- > 2.17.0 > > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
On Mon, Apr 30, 2018 at 6:08 AM, Burton, Ross <ross.burton@intel.com> wrote: > build-appliance is failing at SDK creation time: > > Problem: package packagegroup-self-hosted-1.0-r13.0.noarch requires > packagegroup-self-hosted-sdk, but none of the providers can be > installed > - conflicting requests > - nothing provides libssp-dev needed by > packagegroup-self-hosted-sdk-1.0-r13.0.noarch > we do not need libssp there, I have sent a patch to remove it from packagegroup http://git.openembedded.org/openembedded-core-contrib/commit/?h=kraj/pu&id=03e113aedd069ea97f2f3ce96fc8337e3601732b > Ross > > On 20 April 2018 at 17:33, Khem Raj <raj.khem@gmail.com> wrote: >> libssp-nonshared is a minimal gcc runtime piece which is needed >> on non-glibc systems which do implement libssp APIs in libc >> >> Signed-off-by: Khem Raj <raj.khem@gmail.com> >> --- >> Changes since v1: >> - Package into staticdev package >> >> meta/recipes-core/musl/libssp-nonshared.bb | 39 ++++++++++++++++ >> .../musl/libssp-nonshared/ssp-local.c | 45 +++++++++++++++++++ >> 2 files changed, 84 insertions(+) >> create mode 100644 meta/recipes-core/musl/libssp-nonshared.bb >> create mode 100644 meta/recipes-core/musl/libssp-nonshared/ssp-local.c >> >> diff --git a/meta/recipes-core/musl/libssp-nonshared.bb b/meta/recipes-core/musl/libssp-nonshared.bb >> new file mode 100644 >> index 0000000000..00a0a3d411 >> --- /dev/null >> +++ b/meta/recipes-core/musl/libssp-nonshared.bb >> @@ -0,0 +1,39 @@ >> +# Copyright (C) 2018 Khem Raj <raj.khem@gmail.com> >> +# Released under the MIT license (see COPYING.MIT for the terms) >> + >> +SUMMARY = "Minimal libssp_nonshared.a must needed for ssp to work with gcc on musl" >> +LICENSE = "GPL-3.0-with-GCC-exception" >> +LIC_FILES_CHKSUM = "file://ssp-local.c;beginline=1;endline=32;md5=c06d391208c0cfcbc541a6728ed65cc4" >> +SECTION = "libs" >> + >> +SRC_URI = "file://ssp-local.c" >> + >> +PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:" >> + >> +INHIBIT_DEFAULT_DEPS = "1" >> + >> +STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}" >> +STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}" >> + >> +DEPENDS = "virtual/${TARGET_PREFIX}binutils \ >> + virtual/${TARGET_PREFIX}gcc-initial \ >> +" >> + >> +do_configure[noexec] = "1" >> + >> +S = "${WORKDIR}" >> + >> +do_compile() { >> + ${CC} ${CPPFLAGS} ${CFLAGS} -c ssp-local.c -o ssp-local.o >> + ${AR} r libssp_nonshared.a ssp-local.o >> +} >> +do_install() { >> + install -Dm 0644 ${B}/libssp_nonshared.a ${D}${base_libdir}/libssp_nonshared.a >> +} >> +# >> +# We will skip parsing for non-musl systems >> +# >> +COMPATIBLE_HOST = ".*-musl.*" >> +RDEPENDS_${PN}-staticdev = "" >> +RDEPENDS_${PN}-dev = "" >> +RRECOMMENDS_${PN}-dbg = "${PN}-staticdev (= ${EXTENDPKGV})" >> diff --git a/meta/recipes-core/musl/libssp-nonshared/ssp-local.c b/meta/recipes-core/musl/libssp-nonshared/ssp-local.c >> new file mode 100644 >> index 0000000000..8f51afa2c1 >> --- /dev/null >> +++ b/meta/recipes-core/musl/libssp-nonshared/ssp-local.c >> @@ -0,0 +1,45 @@ >> +/* Stack protector support. >> + Copyright (C) 2005-2018 Free Software Foundation, Inc. >> + >> +This file is part of GCC. >> + >> +GCC is free software; you can redistribute it and/or modify it under >> +the terms of the GNU General Public License as published by the Free >> +Software Foundation; either version 3, or (at your option) any later >> +version. >> + >> +In addition to the permissions in the GNU General Public License, the >> +Free Software Foundation gives you unlimited permission to link the >> +compiled version of this file into combinations with other programs, >> +and to distribute those combinations without any restriction coming >> +from the use of this file. (The General Public License restrictions >> +do apply in other respects; for example, they cover modification of >> +the file, and distribution when not linked into a combine >> +executable.) >> + >> +GCC is distributed in the hope that it will be useful, but WITHOUT ANY >> +WARRANTY; without even the implied warranty of MERCHANTABILITY or >> +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License >> +for more details. >> + >> +Under Section 7 of GPL version 3, you are granted additional >> +permissions described in the GCC Runtime Library Exception, version >> +3.1, as published by the Free Software Foundation. >> + >> +You should have received a copy of the GNU General Public License and >> +a copy of the GCC Runtime Library Exception along with this program; >> +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see >> +<http://www.gnu.org/licenses/>. */ >> + >> +extern void __stack_chk_fail (void); >> + >> +/* Some targets can avoid loading a GP for calls to hidden functions. >> + Using this entry point may avoid the load of a GP entirely for the >> + function, making the overall code smaller. */ >> + >> +void >> +__attribute__((visibility ("hidden"))) >> +__stack_chk_fail_local (void) >> +{ >> + __stack_chk_fail (); >> +} >> -- >> 2.17.0 >> >> -- >> _______________________________________________ >> Openembedded-core mailing list >> Openembedded-core@lists.openembedded.org >> http://lists.openembedded.org/mailman/listinfo/openembedded-core -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Oh yes, sorry missed that when I was trying to pick up just the SSP changes. Ross On 30 April 2018 at 15:17, Khem Raj <raj.khem@gmail.com> wrote: > On Mon, Apr 30, 2018 at 6:08 AM, Burton, Ross <ross.burton@intel.com> wrote: >> build-appliance is failing at SDK creation time: >> >> Problem: package packagegroup-self-hosted-1.0-r13.0.noarch requires >> packagegroup-self-hosted-sdk, but none of the providers can be >> installed >> - conflicting requests >> - nothing provides libssp-dev needed by >> packagegroup-self-hosted-sdk-1.0-r13.0.noarch >> > > we do not need libssp there, I have sent a patch to remove it from packagegroup > http://git.openembedded.org/openembedded-core-contrib/commit/?h=kraj/pu&id=03e113aedd069ea97f2f3ce96fc8337e3601732b > >> Ross >> >> On 20 April 2018 at 17:33, Khem Raj <raj.khem@gmail.com> wrote: >>> libssp-nonshared is a minimal gcc runtime piece which is needed >>> on non-glibc systems which do implement libssp APIs in libc >>> >>> Signed-off-by: Khem Raj <raj.khem@gmail.com> >>> --- >>> Changes since v1: >>> - Package into staticdev package >>> >>> meta/recipes-core/musl/libssp-nonshared.bb | 39 ++++++++++++++++ >>> .../musl/libssp-nonshared/ssp-local.c | 45 +++++++++++++++++++ >>> 2 files changed, 84 insertions(+) >>> create mode 100644 meta/recipes-core/musl/libssp-nonshared.bb >>> create mode 100644 meta/recipes-core/musl/libssp-nonshared/ssp-local.c >>> >>> diff --git a/meta/recipes-core/musl/libssp-nonshared.bb b/meta/recipes-core/musl/libssp-nonshared.bb >>> new file mode 100644 >>> index 0000000000..00a0a3d411 >>> --- /dev/null >>> +++ b/meta/recipes-core/musl/libssp-nonshared.bb >>> @@ -0,0 +1,39 @@ >>> +# Copyright (C) 2018 Khem Raj <raj.khem@gmail.com> >>> +# Released under the MIT license (see COPYING.MIT for the terms) >>> + >>> +SUMMARY = "Minimal libssp_nonshared.a must needed for ssp to work with gcc on musl" >>> +LICENSE = "GPL-3.0-with-GCC-exception" >>> +LIC_FILES_CHKSUM = "file://ssp-local.c;beginline=1;endline=32;md5=c06d391208c0cfcbc541a6728ed65cc4" >>> +SECTION = "libs" >>> + >>> +SRC_URI = "file://ssp-local.c" >>> + >>> +PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:" >>> + >>> +INHIBIT_DEFAULT_DEPS = "1" >>> + >>> +STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}" >>> +STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}" >>> + >>> +DEPENDS = "virtual/${TARGET_PREFIX}binutils \ >>> + virtual/${TARGET_PREFIX}gcc-initial \ >>> +" >>> + >>> +do_configure[noexec] = "1" >>> + >>> +S = "${WORKDIR}" >>> + >>> +do_compile() { >>> + ${CC} ${CPPFLAGS} ${CFLAGS} -c ssp-local.c -o ssp-local.o >>> + ${AR} r libssp_nonshared.a ssp-local.o >>> +} >>> +do_install() { >>> + install -Dm 0644 ${B}/libssp_nonshared.a ${D}${base_libdir}/libssp_nonshared.a >>> +} >>> +# >>> +# We will skip parsing for non-musl systems >>> +# >>> +COMPATIBLE_HOST = ".*-musl.*" >>> +RDEPENDS_${PN}-staticdev = "" >>> +RDEPENDS_${PN}-dev = "" >>> +RRECOMMENDS_${PN}-dbg = "${PN}-staticdev (= ${EXTENDPKGV})" >>> diff --git a/meta/recipes-core/musl/libssp-nonshared/ssp-local.c b/meta/recipes-core/musl/libssp-nonshared/ssp-local.c >>> new file mode 100644 >>> index 0000000000..8f51afa2c1 >>> --- /dev/null >>> +++ b/meta/recipes-core/musl/libssp-nonshared/ssp-local.c >>> @@ -0,0 +1,45 @@ >>> +/* Stack protector support. >>> + Copyright (C) 2005-2018 Free Software Foundation, Inc. >>> + >>> +This file is part of GCC. >>> + >>> +GCC is free software; you can redistribute it and/or modify it under >>> +the terms of the GNU General Public License as published by the Free >>> +Software Foundation; either version 3, or (at your option) any later >>> +version. >>> + >>> +In addition to the permissions in the GNU General Public License, the >>> +Free Software Foundation gives you unlimited permission to link the >>> +compiled version of this file into combinations with other programs, >>> +and to distribute those combinations without any restriction coming >>> +from the use of this file. (The General Public License restrictions >>> +do apply in other respects; for example, they cover modification of >>> +the file, and distribution when not linked into a combine >>> +executable.) >>> + >>> +GCC is distributed in the hope that it will be useful, but WITHOUT ANY >>> +WARRANTY; without even the implied warranty of MERCHANTABILITY or >>> +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License >>> +for more details. >>> + >>> +Under Section 7 of GPL version 3, you are granted additional >>> +permissions described in the GCC Runtime Library Exception, version >>> +3.1, as published by the Free Software Foundation. >>> + >>> +You should have received a copy of the GNU General Public License and >>> +a copy of the GCC Runtime Library Exception along with this program; >>> +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see >>> +<http://www.gnu.org/licenses/>. */ >>> + >>> +extern void __stack_chk_fail (void); >>> + >>> +/* Some targets can avoid loading a GP for calls to hidden functions. >>> + Using this entry point may avoid the load of a GP entirely for the >>> + function, making the overall code smaller. */ >>> + >>> +void >>> +__attribute__((visibility ("hidden"))) >>> +__stack_chk_fail_local (void) >>> +{ >>> + __stack_chk_fail (); >>> +} >>> -- >>> 2.17.0 >>> >>> -- >>> _______________________________________________ >>> Openembedded-core mailing list >>> Openembedded-core@lists.openembedded.org >>> http://lists.openembedded.org/mailman/listinfo/openembedded-core -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
Now I've actually read what you wrote, I see I didn't miss it ;) Now it fails like this: ERROR: Nothing RPROVIDES 'rpcsvc-proto' (but /home/pokybuild/yocto-autobuilder/yocto-worker/build-appliance/build/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb RDEPENDS on or otherwise requires it) Also: NOTE: Multiple providers are available for virtual/crypt (glibc, musl) Consider defining a PREFERRED_PROVIDER entry to match virtual/crypt Ross On 30 April 2018 at 16:05, Burton, Ross <ross.burton@intel.com> wrote: > Oh yes, sorry missed that when I was trying to pick up just the SSP changes. > > Ross > > On 30 April 2018 at 15:17, Khem Raj <raj.khem@gmail.com> wrote: >> On Mon, Apr 30, 2018 at 6:08 AM, Burton, Ross <ross.burton@intel.com> wrote: >>> build-appliance is failing at SDK creation time: >>> >>> Problem: package packagegroup-self-hosted-1.0-r13.0.noarch requires >>> packagegroup-self-hosted-sdk, but none of the providers can be >>> installed >>> - conflicting requests >>> - nothing provides libssp-dev needed by >>> packagegroup-self-hosted-sdk-1.0-r13.0.noarch >>> >> >> we do not need libssp there, I have sent a patch to remove it from packagegroup >> http://git.openembedded.org/openembedded-core-contrib/commit/?h=kraj/pu&id=03e113aedd069ea97f2f3ce96fc8337e3601732b >> >>> Ross >>> >>> On 20 April 2018 at 17:33, Khem Raj <raj.khem@gmail.com> wrote: >>>> libssp-nonshared is a minimal gcc runtime piece which is needed >>>> on non-glibc systems which do implement libssp APIs in libc >>>> >>>> Signed-off-by: Khem Raj <raj.khem@gmail.com> >>>> --- >>>> Changes since v1: >>>> - Package into staticdev package >>>> >>>> meta/recipes-core/musl/libssp-nonshared.bb | 39 ++++++++++++++++ >>>> .../musl/libssp-nonshared/ssp-local.c | 45 +++++++++++++++++++ >>>> 2 files changed, 84 insertions(+) >>>> create mode 100644 meta/recipes-core/musl/libssp-nonshared.bb >>>> create mode 100644 meta/recipes-core/musl/libssp-nonshared/ssp-local.c >>>> >>>> diff --git a/meta/recipes-core/musl/libssp-nonshared.bb b/meta/recipes-core/musl/libssp-nonshared.bb >>>> new file mode 100644 >>>> index 0000000000..00a0a3d411 >>>> --- /dev/null >>>> +++ b/meta/recipes-core/musl/libssp-nonshared.bb >>>> @@ -0,0 +1,39 @@ >>>> +# Copyright (C) 2018 Khem Raj <raj.khem@gmail.com> >>>> +# Released under the MIT license (see COPYING.MIT for the terms) >>>> + >>>> +SUMMARY = "Minimal libssp_nonshared.a must needed for ssp to work with gcc on musl" >>>> +LICENSE = "GPL-3.0-with-GCC-exception" >>>> +LIC_FILES_CHKSUM = "file://ssp-local.c;beginline=1;endline=32;md5=c06d391208c0cfcbc541a6728ed65cc4" >>>> +SECTION = "libs" >>>> + >>>> +SRC_URI = "file://ssp-local.c" >>>> + >>>> +PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:" >>>> + >>>> +INHIBIT_DEFAULT_DEPS = "1" >>>> + >>>> +STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}" >>>> +STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}" >>>> + >>>> +DEPENDS = "virtual/${TARGET_PREFIX}binutils \ >>>> + virtual/${TARGET_PREFIX}gcc-initial \ >>>> +" >>>> + >>>> +do_configure[noexec] = "1" >>>> + >>>> +S = "${WORKDIR}" >>>> + >>>> +do_compile() { >>>> + ${CC} ${CPPFLAGS} ${CFLAGS} -c ssp-local.c -o ssp-local.o >>>> + ${AR} r libssp_nonshared.a ssp-local.o >>>> +} >>>> +do_install() { >>>> + install -Dm 0644 ${B}/libssp_nonshared.a ${D}${base_libdir}/libssp_nonshared.a >>>> +} >>>> +# >>>> +# We will skip parsing for non-musl systems >>>> +# >>>> +COMPATIBLE_HOST = ".*-musl.*" >>>> +RDEPENDS_${PN}-staticdev = "" >>>> +RDEPENDS_${PN}-dev = "" >>>> +RRECOMMENDS_${PN}-dbg = "${PN}-staticdev (= ${EXTENDPKGV})" >>>> diff --git a/meta/recipes-core/musl/libssp-nonshared/ssp-local.c b/meta/recipes-core/musl/libssp-nonshared/ssp-local.c >>>> new file mode 100644 >>>> index 0000000000..8f51afa2c1 >>>> --- /dev/null >>>> +++ b/meta/recipes-core/musl/libssp-nonshared/ssp-local.c >>>> @@ -0,0 +1,45 @@ >>>> +/* Stack protector support. >>>> + Copyright (C) 2005-2018 Free Software Foundation, Inc. >>>> + >>>> +This file is part of GCC. >>>> + >>>> +GCC is free software; you can redistribute it and/or modify it under >>>> +the terms of the GNU General Public License as published by the Free >>>> +Software Foundation; either version 3, or (at your option) any later >>>> +version. >>>> + >>>> +In addition to the permissions in the GNU General Public License, the >>>> +Free Software Foundation gives you unlimited permission to link the >>>> +compiled version of this file into combinations with other programs, >>>> +and to distribute those combinations without any restriction coming >>>> +from the use of this file. (The General Public License restrictions >>>> +do apply in other respects; for example, they cover modification of >>>> +the file, and distribution when not linked into a combine >>>> +executable.) >>>> + >>>> +GCC is distributed in the hope that it will be useful, but WITHOUT ANY >>>> +WARRANTY; without even the implied warranty of MERCHANTABILITY or >>>> +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License >>>> +for more details. >>>> + >>>> +Under Section 7 of GPL version 3, you are granted additional >>>> +permissions described in the GCC Runtime Library Exception, version >>>> +3.1, as published by the Free Software Foundation. >>>> + >>>> +You should have received a copy of the GNU General Public License and >>>> +a copy of the GCC Runtime Library Exception along with this program; >>>> +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see >>>> +<http://www.gnu.org/licenses/>. */ >>>> + >>>> +extern void __stack_chk_fail (void); >>>> + >>>> +/* Some targets can avoid loading a GP for calls to hidden functions. >>>> + Using this entry point may avoid the load of a GP entirely for the >>>> + function, making the overall code smaller. */ >>>> + >>>> +void >>>> +__attribute__((visibility ("hidden"))) >>>> +__stack_chk_fail_local (void) >>>> +{ >>>> + __stack_chk_fail (); >>>> +} >>>> -- >>>> 2.17.0 >>>> >>>> -- >>>> _______________________________________________ >>>> Openembedded-core mailing list >>>> Openembedded-core@lists.openembedded.org >>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
On Mon, Apr 30, 2018 at 8:21 AM, Burton, Ross <ross.burton@intel.com> wrote: > Now I've actually read what you wrote, I see I didn't miss it ;) > > Now it fails like this: > > ERROR: Nothing RPROVIDES 'rpcsvc-proto' (but > /home/pokybuild/yocto-autobuilder/yocto-worker/build-appliance/build/meta/recipes-core/packagegroups/packagegroup-self-hosted.bb > RDEPENDS on or otherwise requires it) > yeah, please drop the prior patches from me and pick kraj/pu branch from oe-core contrib repo. That has all latest changes. > Also: > > NOTE: Multiple providers are available for virtual/crypt (glibc, musl) > Consider defining a PREFERRED_PROVIDER entry to match virtual/crypt > > Ross > > On 30 April 2018 at 16:05, Burton, Ross <ross.burton@intel.com> wrote: >> Oh yes, sorry missed that when I was trying to pick up just the SSP changes. >> >> Ross >> >> On 30 April 2018 at 15:17, Khem Raj <raj.khem@gmail.com> wrote: >>> On Mon, Apr 30, 2018 at 6:08 AM, Burton, Ross <ross.burton@intel.com> wrote: >>>> build-appliance is failing at SDK creation time: >>>> >>>> Problem: package packagegroup-self-hosted-1.0-r13.0.noarch requires >>>> packagegroup-self-hosted-sdk, but none of the providers can be >>>> installed >>>> - conflicting requests >>>> - nothing provides libssp-dev needed by >>>> packagegroup-self-hosted-sdk-1.0-r13.0.noarch >>>> >>> >>> we do not need libssp there, I have sent a patch to remove it from packagegroup >>> http://git.openembedded.org/openembedded-core-contrib/commit/?h=kraj/pu&id=03e113aedd069ea97f2f3ce96fc8337e3601732b >>> >>>> Ross >>>> >>>> On 20 April 2018 at 17:33, Khem Raj <raj.khem@gmail.com> wrote: >>>>> libssp-nonshared is a minimal gcc runtime piece which is needed >>>>> on non-glibc systems which do implement libssp APIs in libc >>>>> >>>>> Signed-off-by: Khem Raj <raj.khem@gmail.com> >>>>> --- >>>>> Changes since v1: >>>>> - Package into staticdev package >>>>> >>>>> meta/recipes-core/musl/libssp-nonshared.bb | 39 ++++++++++++++++ >>>>> .../musl/libssp-nonshared/ssp-local.c | 45 +++++++++++++++++++ >>>>> 2 files changed, 84 insertions(+) >>>>> create mode 100644 meta/recipes-core/musl/libssp-nonshared.bb >>>>> create mode 100644 meta/recipes-core/musl/libssp-nonshared/ssp-local.c >>>>> >>>>> diff --git a/meta/recipes-core/musl/libssp-nonshared.bb b/meta/recipes-core/musl/libssp-nonshared.bb >>>>> new file mode 100644 >>>>> index 0000000000..00a0a3d411 >>>>> --- /dev/null >>>>> +++ b/meta/recipes-core/musl/libssp-nonshared.bb >>>>> @@ -0,0 +1,39 @@ >>>>> +# Copyright (C) 2018 Khem Raj <raj.khem@gmail.com> >>>>> +# Released under the MIT license (see COPYING.MIT for the terms) >>>>> + >>>>> +SUMMARY = "Minimal libssp_nonshared.a must needed for ssp to work with gcc on musl" >>>>> +LICENSE = "GPL-3.0-with-GCC-exception" >>>>> +LIC_FILES_CHKSUM = "file://ssp-local.c;beginline=1;endline=32;md5=c06d391208c0cfcbc541a6728ed65cc4" >>>>> +SECTION = "libs" >>>>> + >>>>> +SRC_URI = "file://ssp-local.c" >>>>> + >>>>> +PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:" >>>>> + >>>>> +INHIBIT_DEFAULT_DEPS = "1" >>>>> + >>>>> +STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}" >>>>> +STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}" >>>>> + >>>>> +DEPENDS = "virtual/${TARGET_PREFIX}binutils \ >>>>> + virtual/${TARGET_PREFIX}gcc-initial \ >>>>> +" >>>>> + >>>>> +do_configure[noexec] = "1" >>>>> + >>>>> +S = "${WORKDIR}" >>>>> + >>>>> +do_compile() { >>>>> + ${CC} ${CPPFLAGS} ${CFLAGS} -c ssp-local.c -o ssp-local.o >>>>> + ${AR} r libssp_nonshared.a ssp-local.o >>>>> +} >>>>> +do_install() { >>>>> + install -Dm 0644 ${B}/libssp_nonshared.a ${D}${base_libdir}/libssp_nonshared.a >>>>> +} >>>>> +# >>>>> +# We will skip parsing for non-musl systems >>>>> +# >>>>> +COMPATIBLE_HOST = ".*-musl.*" >>>>> +RDEPENDS_${PN}-staticdev = "" >>>>> +RDEPENDS_${PN}-dev = "" >>>>> +RRECOMMENDS_${PN}-dbg = "${PN}-staticdev (= ${EXTENDPKGV})" >>>>> diff --git a/meta/recipes-core/musl/libssp-nonshared/ssp-local.c b/meta/recipes-core/musl/libssp-nonshared/ssp-local.c >>>>> new file mode 100644 >>>>> index 0000000000..8f51afa2c1 >>>>> --- /dev/null >>>>> +++ b/meta/recipes-core/musl/libssp-nonshared/ssp-local.c >>>>> @@ -0,0 +1,45 @@ >>>>> +/* Stack protector support. >>>>> + Copyright (C) 2005-2018 Free Software Foundation, Inc. >>>>> + >>>>> +This file is part of GCC. >>>>> + >>>>> +GCC is free software; you can redistribute it and/or modify it under >>>>> +the terms of the GNU General Public License as published by the Free >>>>> +Software Foundation; either version 3, or (at your option) any later >>>>> +version. >>>>> + >>>>> +In addition to the permissions in the GNU General Public License, the >>>>> +Free Software Foundation gives you unlimited permission to link the >>>>> +compiled version of this file into combinations with other programs, >>>>> +and to distribute those combinations without any restriction coming >>>>> +from the use of this file. (The General Public License restrictions >>>>> +do apply in other respects; for example, they cover modification of >>>>> +the file, and distribution when not linked into a combine >>>>> +executable.) >>>>> + >>>>> +GCC is distributed in the hope that it will be useful, but WITHOUT ANY >>>>> +WARRANTY; without even the implied warranty of MERCHANTABILITY or >>>>> +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License >>>>> +for more details. >>>>> + >>>>> +Under Section 7 of GPL version 3, you are granted additional >>>>> +permissions described in the GCC Runtime Library Exception, version >>>>> +3.1, as published by the Free Software Foundation. >>>>> + >>>>> +You should have received a copy of the GNU General Public License and >>>>> +a copy of the GCC Runtime Library Exception along with this program; >>>>> +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see >>>>> +<http://www.gnu.org/licenses/>. */ >>>>> + >>>>> +extern void __stack_chk_fail (void); >>>>> + >>>>> +/* Some targets can avoid loading a GP for calls to hidden functions. >>>>> + Using this entry point may avoid the load of a GP entirely for the >>>>> + function, making the overall code smaller. */ >>>>> + >>>>> +void >>>>> +__attribute__((visibility ("hidden"))) >>>>> +__stack_chk_fail_local (void) >>>>> +{ >>>>> + __stack_chk_fail (); >>>>> +} >>>>> -- >>>>> 2.17.0 >>>>> >>>>> -- >>>>> _______________________________________________ >>>>> Openembedded-core mailing list >>>>> Openembedded-core@lists.openembedded.org >>>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core
diff --git a/meta/recipes-core/musl/libssp-nonshared.bb b/meta/recipes-core/musl/libssp-nonshared.bb new file mode 100644 index 0000000000..00a0a3d411 --- /dev/null +++ b/meta/recipes-core/musl/libssp-nonshared.bb @@ -0,0 +1,39 @@ +# Copyright (C) 2018 Khem Raj <raj.khem@gmail.com> +# Released under the MIT license (see COPYING.MIT for the terms) + +SUMMARY = "Minimal libssp_nonshared.a must needed for ssp to work with gcc on musl" +LICENSE = "GPL-3.0-with-GCC-exception" +LIC_FILES_CHKSUM = "file://ssp-local.c;beginline=1;endline=32;md5=c06d391208c0cfcbc541a6728ed65cc4" +SECTION = "libs" + +SRC_URI = "file://ssp-local.c" + +PATH_prepend = "${STAGING_BINDIR_TOOLCHAIN}.${STAGINGCC}:" + +INHIBIT_DEFAULT_DEPS = "1" + +STAGINGCC = "gcc-cross-initial-${TARGET_ARCH}" +STAGINGCC_class-nativesdk = "gcc-crosssdk-initial-${SDK_SYS}" + +DEPENDS = "virtual/${TARGET_PREFIX}binutils \ + virtual/${TARGET_PREFIX}gcc-initial \ +" + +do_configure[noexec] = "1" + +S = "${WORKDIR}" + +do_compile() { + ${CC} ${CPPFLAGS} ${CFLAGS} -c ssp-local.c -o ssp-local.o + ${AR} r libssp_nonshared.a ssp-local.o +} +do_install() { + install -Dm 0644 ${B}/libssp_nonshared.a ${D}${base_libdir}/libssp_nonshared.a +} +# +# We will skip parsing for non-musl systems +# +COMPATIBLE_HOST = ".*-musl.*" +RDEPENDS_${PN}-staticdev = "" +RDEPENDS_${PN}-dev = "" +RRECOMMENDS_${PN}-dbg = "${PN}-staticdev (= ${EXTENDPKGV})" diff --git a/meta/recipes-core/musl/libssp-nonshared/ssp-local.c b/meta/recipes-core/musl/libssp-nonshared/ssp-local.c new file mode 100644 index 0000000000..8f51afa2c1 --- /dev/null +++ b/meta/recipes-core/musl/libssp-nonshared/ssp-local.c @@ -0,0 +1,45 @@ +/* Stack protector support. + Copyright (C) 2005-2018 Free Software Foundation, Inc. + +This file is part of GCC. + +GCC is free software; you can redistribute it and/or modify it under +the terms of the GNU General Public License as published by the Free +Software Foundation; either version 3, or (at your option) any later +version. + +In addition to the permissions in the GNU General Public License, the +Free Software Foundation gives you unlimited permission to link the +compiled version of this file into combinations with other programs, +and to distribute those combinations without any restriction coming +from the use of this file. (The General Public License restrictions +do apply in other respects; for example, they cover modification of +the file, and distribution when not linked into a combine +executable.) + +GCC is distributed in the hope that it will be useful, but WITHOUT ANY +WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +Under Section 7 of GPL version 3, you are granted additional +permissions described in the GCC Runtime Library Exception, version +3.1, as published by the Free Software Foundation. + +You should have received a copy of the GNU General Public License and +a copy of the GCC Runtime Library Exception along with this program; +see the files COPYING3 and COPYING.RUNTIME respectively. If not, see +<http://www.gnu.org/licenses/>. */ + +extern void __stack_chk_fail (void); + +/* Some targets can avoid loading a GP for calls to hidden functions. + Using this entry point may avoid the load of a GP entirely for the + function, making the overall code smaller. */ + +void +__attribute__((visibility ("hidden"))) +__stack_chk_fail_local (void) +{ + __stack_chk_fail (); +}
libssp-nonshared is a minimal gcc runtime piece which is needed on non-glibc systems which do implement libssp APIs in libc Signed-off-by: Khem Raj <raj.khem@gmail.com> --- Changes since v1: - Package into staticdev package meta/recipes-core/musl/libssp-nonshared.bb | 39 ++++++++++++++++ .../musl/libssp-nonshared/ssp-local.c | 45 +++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 meta/recipes-core/musl/libssp-nonshared.bb create mode 100644 meta/recipes-core/musl/libssp-nonshared/ssp-local.c -- 2.17.0 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core