[OE-core] [PATCH V2 1/6] libssp-nonshared: Add recipe

Khem Raj raj.khem at gmail.com
Mon Apr 30 15:25:10 UTC 2018


On Mon, Apr 30, 2018 at 8:21 AM, Burton, Ross <ross.burton at 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 at 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 at gmail.com> wrote:
>>> On Mon, Apr 30, 2018 at 6:08 AM, Burton, Ross <ross.burton at 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 at 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 at 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 at 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 at lists.openembedded.org
>>>>> http://lists.openembedded.org/mailman/listinfo/openembedded-core



More information about the Openembedded-core mailing list