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

Martin Jansa martin.jansa at gmail.com
Tue Jun 18 06:02:35 UTC 2019


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