[oe] [meta-oe][PATCH v3] safec: Initial recipe for safe C library

Khem Raj raj.khem at gmail.com
Fri Jun 21 13:12:23 UTC 2019


On Fri, Jun 21, 2019 at 12:20 AM Ankit Navik <ankit.tarot at gmail.com> wrote:

> Hi Martin,
>
> On Fri, Jun 21, 2019 at 12:39 AM Martin Jansa <martin.jansa at gmail.com>
> wrote:
>
>> And there is also:
>> WARNING: safec-3.4-r0 do_populate_lic: safec: No generic license file
>> exists for: safec in any provider
>>
>> Add the license text to the meta-oe/licenses/ directory.
>>
>  I have already added licenses.
> https://patchwork.openembedded.org/patch/161305/
> There are no comment on the patch but it is in change requested state.
>

It was part of series where one patch was in that state and was updated and
applied but this one missed out resending full series would have helped I
will cherry pick this again

>
> Regards,
> Ankit
>
> On Tue, Jun 18, 2019 at 8:02 AM Martin Jansa <martin.jansa at gmail.com>
>> wrote:
>>
>>> Hi,
>>>
>>> it seems to fail for aarch64, I've noticed it in world build for
>>> raspberrypi3-64:
>>>
>>> aarch64-webos-linux-libtool: compile:  aarch64-webos-linux-gcc
>>> -mcpu=cortex-a53+crc -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat
>>> -Wformat-security -Werror=format-security
>>> --sysroot=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0/recipe-sysroot
>>> -DHAVE_CONFIG_H -I. -I../../git/src -I.. -I../../git/include -I../include
>>> -I../../git/src -pedantic -fno-strict-aliasing -Wall -Wextra -Wundef
>>> -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls
>>> -Wno-unused-parameter -Wno-missing-field-initializers -Wcast-align
>>> -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Wpacked
>>> -Wmissing-noreturn -Winit-self -Wmissing-include-dirs
>>> -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum
>>> -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op
>>> -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs
>>> -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement
>>> -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init
>>> -Werror -Wno-suggest-attribute=format -Wno-error=unused-parameter
>>> -Wno-error=missing-field-initializers -O2 -pipe -g
>>> -feliminate-unused-debug-types
>>> -fmacro-prefix-map=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0=/usr/src/debug/safec/3.4-r0
>>> -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0=/usr/src/debug/safec/3.4-r0
>>> -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0/recipe-sysroot=
>>> -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0/recipe-sysroot-native=
>>> -c ../../git/src/wchar/wcscpy_s.c  -fPIC -DPIC -o wchar/.libs/wcscpy_s.o
>>> {standard input}: Assembler messages:
>>> {standard input}:161: Error: unknown mnemonic `memory_barrier' --
>>> `memory_barrier'
>>> {standard input}:389: Error: unknown mnemonic `memory_barrier' --
>>> `memory_barrier'
>>> {standard input}:649: Error: unknown mnemonic `memory_barrier' --
>>> `memory_barrier'
>>> aarch64-webos-linux-libtool: compile:  aarch64-webos-linux-gcc
>>> -mcpu=cortex-a53+crc -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat
>>> -Wformat-security -Werror=format-security
>>> --sysroot=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0/recipe-sysroot
>>> -DHAVE_CONFIG_H -I. -I../../git/src -I.. -I../../git/include -I../include
>>> -I../../git/src -pedantic -fno-strict-aliasing -Wall -Wextra -Wundef
>>> -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls
>>> -Wno-unused-parameter -Wno-missing-field-initializers -Wcast-align
>>> -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Wpacked
>>> -Wmissing-noreturn -Winit-self -Wmissing-include-dirs
>>> -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum
>>> -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op
>>> -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs
>>> -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement
>>> -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init
>>> -Werror -Wno-suggest-attribute=format -Wno-error=unused-parameter
>>> -Wno-error=missing-field-initializers -O2 -pipe -g
>>> -feliminate-unused-debug-types
>>> -fmacro-prefix-map=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0=/usr/src/debug/safec/3.4-r0
>>> -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0=/usr/src/debug/safec/3.4-r0
>>> -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0/recipe-sysroot=
>>> -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0/recipe-sysroot-native=
>>> -c ../../git/src/wchar/wcsncpy_s.c  -fPIC -DPIC -o wchar/.libs/wcsncpy_s.o
>>> aarch64-webos-linux-libtool: compile:  aarch64-webos-linux-gcc
>>> -mcpu=cortex-a53+crc -fstack-protector-strong -D_FORTIFY_SOURCE=2 -Wformat
>>> -Wformat-security -Werror=format-security
>>> --sysroot=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0/recipe-sysroot
>>> -DHAVE_CONFIG_H -I. -I../../git/src -I.. -I../../git/include -I../include
>>> -I../../git/src -pedantic -fno-strict-aliasing -Wall -Wextra -Wundef
>>> -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls
>>> -Wno-unused-parameter -Wno-missing-field-initializers -Wcast-align
>>> -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Wpacked
>>> -Wmissing-noreturn -Winit-self -Wmissing-include-dirs
>>> -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum
>>> -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op
>>> -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs
>>> -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement
>>> -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init
>>> -Werror -Wno-suggest-attribute=format -Wno-error=unused-parameter
>>> -Wno-error=missing-field-initializers -O2 -pipe -g
>>> -feliminate-unused-debug-types
>>> -fmacro-prefix-map=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0=/usr/src/debug/safec/3.4-r0
>>> -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0=/usr/src/debug/safec/3.4-r0
>>> -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0/recipe-sysroot=
>>> -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0/recipe-sysroot-native=
>>> -c ../../git/src/wchar/wmemcpy_s.c  -fPIC -DPIC -o wchar/.libs/wmemcpy_s.o
>>> ../aarch64-webos-linux-libtool  --tag=CC   --mode=compile
>>> aarch64-webos-linux-gcc  -mcpu=cortex-a53+crc -fstack-protector-strong
>>>  -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security
>>> --sysroot=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0/recipe-sysroot
>>> -DHAVE_CONFIG_H -I. -I../../git/src -I..  -I../../git/include  -I../include
>>> -I../../git/src -pedantic -fno-strict-aliasing -Wall -Wextra -Wundef
>>> -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls
>>> -Wno-unused-parameter -Wno-missing-field-initializers -Wcast-align
>>> -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Wpacked
>>> -Wmissing-noreturn -Winit-self -Wmissing-include-dirs
>>> -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum
>>> -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op
>>> -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs
>>> -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement
>>> -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init
>>> -Werror -Wno-suggest-attribute=format -Wno-error=unused-parameter
>>> -Wno-error=missing-field-initializers  -O2 -pipe -g
>>> -feliminate-unused-debug-types
>>> -fmacro-prefix-map=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0=/usr/src/debug/safec/3.4-r0
>>>
>>>  -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0=/usr/src/debug/safec/3.4-r0
>>>
>>>  -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0/recipe-sysroot=
>>>
>>>  -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0/recipe-sysroot-native=
>>>   -c -o wchar/wscanf_s.lo ../../git/src/wchar/wscanf_s.c
>>> ../aarch64-webos-linux-libtool  --tag=CC   --mode=compile
>>> aarch64-webos-linux-gcc  -mcpu=cortex-a53+crc -fstack-protector-strong
>>>  -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security
>>> --sysroot=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0/recipe-sysroot
>>> -DHAVE_CONFIG_H -I. -I../../git/src -I..  -I../../git/include  -I../include
>>> -I../../git/src -pedantic -fno-strict-aliasing -Wall -Wextra -Wundef
>>> -Wwrite-strings -Wpointer-arith -Wmissing-declarations -Wredundant-decls
>>> -Wno-unused-parameter -Wno-missing-field-initializers -Wcast-align
>>> -Wformat-security -Wsign-compare -Wstrict-aliasing -Wshadow -Wpacked
>>> -Wmissing-noreturn -Winit-self -Wmissing-include-dirs
>>> -Wunused-but-set-variable -Warray-bounds -Wreturn-type -Wswitch-enum
>>> -Wswitch-default -Wduplicated-cond -Wduplicated-branches -Wlogical-op
>>> -Wrestrict -Wnull-dereference -Wdouble-promotion -Wnested-externs
>>> -Wmissing-prototypes -Wstrict-prototypes -Wdeclaration-after-statement
>>> -Wimplicit-function-declaration -Wold-style-definition -Wjump-misses-init
>>> -Werror -Wno-suggest-attribute=format -Wno-error=unused-parameter
>>> -Wno-error=missing-field-initializers  -O2 -pipe -g
>>> -feliminate-unused-debug-types
>>> -fmacro-prefix-map=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0=/usr/src/debug/safec/3.4-r0
>>>
>>>  -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0=/usr/src/debug/safec/3.4-r0
>>>
>>>  -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0/recipe-sysroot=
>>>
>>>  -fdebug-prefix-map=TOPDIR/BUILD/work/raspberrypi3_64-webos-linux/safec/3.4-r0/recipe-sysroot-native=
>>>   -c -o wchar/vfwscanf_s.lo ../../git/src/wchar/vfwscanf_s.c
>>> Makefile:1432: recipe for target 'mem/mem_primitives_lib.lo' failed
>>> make[2]: *** [mem/mem_primitives_lib.lo] Error 1
>>> make[2]: *** Waiting for unfinished jobs....
>>>
>>> On Wed, May 29, 2019 at 12:31 PM Ankit Navik <ankit.tarot at gmail.com>
>>> wrote:
>>>
>>>> Hi Raj,
>>>>
>>>> On Wed, May 29, 2019 at 2:45 PM Khem Raj <raj.khem at gmail.com> wrote:
>>>>
>>>> > On Wed, May 29, 2019 at 10:48 AM Ankit Navik <ankit.tarot at gmail.com>
>>>> > wrote:
>>>> > >
>>>> > > Add generic recipe for safe C library.
>>>> > > This library implements the secure C11 Annex K functions on top of
>>>> most
>>>> > libc
>>>> > > implementations, which are missing from them.
>>>> > >
>>>> > > Signed-off-by: Ankit Navik <ankit.tarot at gmail.com>
>>>> > > ---
>>>> > >  meta-oe/recipes-core/safec/safec_3.4.bb | 15 +++++++++++++++
>>>> > >  1 file changed, 15 insertions(+)
>>>> > >  create mode 100644 meta-oe/recipes-core/safec/safec_3.4.bb
>>>> > >
>>>> > > diff --git a/meta-oe/recipes-core/safec/safec_3.4.bb
>>>> > b/meta-oe/recipes-core/safec/safec_3.4.bb
>>>> > > new file mode 100644
>>>> > > index 000000000..d55d081f3
>>>> > > --- /dev/null
>>>> > > +++ b/meta-oe/recipes-core/safec/safec_3.4.bb
>>>> > > @@ -0,0 +1,15 @@
>>>> > > +SUMMARY  = "Safe C Library"
>>>> > > +
>>>> > > +LICENSE  = "safec"
>>>> > > +LIC_FILES_CHKSUM =
>>>> "file://COPYING;md5=6d0eb7dfc57806a006fcbc4e389cf164"
>>>> > > +SECTION = "lib"
>>>> > > +
>>>> > > +inherit autotools pkgconfig
>>>> > > +
>>>> > > +S = "${WORKDIR}/git"
>>>> > > +SRCREV = "62e6b2df55084316d027165d286e46beb40513dc"
>>>> > > +SRC_URI = "git://github.com/rurban/safeclib.git"
>>>> > > +
>>>> > > +COMPATIBLE_HOST =
>>>> '(x86_64|i.86|powerpc|powerpc64|arm|aarch64).*-linux'
>>>> > > +
>>>> >
>>>> > I see its excluding mips/mips64 from core supported architectures, is
>>>> > that intentional ?
>>>> >
>>>>
>>>> I'm not sure. This library is required for another component i.e.
>>>> ipmctl.
>>>>
>>>> Regards,
>>>> Ankit
>>>>
>>>> >
>>>> > > +RDEPENDS_${PN} = "perl"
>>>> > > --
>>>> > > 2.20.1
>>>> > >
>>>> > > --
>>>> > > _______________________________________________
>>>> > > Openembedded-devel mailing list
>>>> > > Openembedded-devel at lists.openembedded.org
>>>> > > http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>>>> >
>>>> --
>>>> _______________________________________________
>>>> Openembedded-devel mailing list
>>>> Openembedded-devel at lists.openembedded.org
>>>> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>>>>
>>>


More information about the Openembedded-devel mailing list