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

Ankit Navik ankit.tarot at gmail.com
Fri Jun 21 15:09:17 UTC 2019


Hi Raj,

On Fri, Jun 21, 2019 at 6:42 PM Khem Raj <raj.khem at gmail.com> wrote:

>
>
> 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
>
Thanks for the information. I will take care next time.
and I will submit patch to aarch64 from safec.

Regards,
Ankit

>
>
>>
>> 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