On 13 October 2016 at 12:39, Maxim Uvarov <maxim.uva...@linaro.org> wrote:

> On 10/13/16 19:33, Mike Holmes wrote:
>
>> Anders comments have not been addressed on the list, are they resloved ?
>>
>>
> In current patch set - no. Because it's subject for separate patch. But we
> need resolve version name before tagging.
>

I would be personally happier if we had waited for Petri and Anders to
agree on a course of action, the discussion is between them, that would be
normal. Possibly they agree that it can be a later patch, perhaps not.
We want to be very cautious about not addressing a reviewers comments on
the list, people comment becasue they think there is an issue and they
might be right :)

If this is in it needs a bug to track the lib numbering so that it is
addressed before the  next release.

Mike



>
> Maxim.
>
>
> On 13 October 2016 at 11:40, Maxim Uvarov <maxim.uva...@linaro.org
>> <mailto:maxim.uva...@linaro.org>> wrote:
>>
>>     Merged,
>>
>>     we also need this option to be tested in CI.
>>
>>     Maxim.
>>
>>
>>     On 10/12/16 18:21, Bill Fischofer wrote:
>>
>>         This version resolves the issue with running from an installed
>>         copy of ODP.
>>
>>         On Thu, Sep 29, 2016 at 6:46 PM, Petri Savolainen <
>>         petri.savolai...@nokia.com
>>         <mailto:petri.savolai...@nokia.com>> wrote:
>>
>>             Building ABI compatible or shared library are two different
>>             targets. A shared library may be used also without ABI
>>             compatibility. A new --enable-abi-compat configuration option
>>             is introduced. By default libraries are not built in ABI
>>             compat
>>             mode to enable function inlining. There is a noticeable
>>             performance difference when e.g. odp_atomic_xxx calls
>>             are not inlined.
>>
>>             Signed-off-by: Petri Savolainen
>>             <petri.savolai...@nokia.com
>>             <mailto:petri.savolai...@nokia.com>>
>>
>>         Reviewed-and-tested-by: Bill Fischofer
>>         <bill.fischo...@linaro.org <mailto:bill.fischo...@linaro.org>>
>>
>>
>>             ---
>>             configure.ac <http://configure.ac>                      |
>>             26 ++++++++++++-----
>>               platform/linux-generic/.gitignore       |  2 +-
>>               platform/linux-generic/Makefile.am <http://e.am>
>>                  |  2 +-
>>               platform/linux-generic/include/odp/api/atomic.h   |  4 +--
>>               platform/linux-generic/include/odp/api/byteorder.h |  4 +--
>>               .../include/odp/api/plat/inlines.h.in
>>             <http://inlines.h.in> | 33
>>             ----------------------
>>               .../include/odp/api/plat/static_inline.h.in
>>             <http://static_inline.h.in> | 32
>>             +++++++++++++++++++++
>>               platform/linux-generic/include/odp/api/std_clib.h |  4 +--
>>               platform/linux-generic/include/odp/api/sync.h     |  4 +--
>>               platform/linux-generic/m4/configure.m4      |  2 +-
>>               platform/linux-generic/odp_atomic.c       |  2 +-
>>               platform/linux-generic/odp_byteorder.c      |  2 +-
>>               platform/linux-generic/odp_std_clib.c       |  2 +-
>>               platform/linux-generic/odp_sync.c       |  2 +-
>>               14 files changed, 66 insertions(+), 55 deletions(-)
>>               delete mode 100644
>>             platform/linux-generic/include/odp/api/plat/inlines.
>>             h.in <http://h.in>
>>               create mode 100644
>>             platform/linux-generic/include/odp/api/plat/static_
>>             inline.h.in <http://inline.h.in>
>>
>>             diff --git a/configure.ac <http://configure.ac>
>>             b/configure.ac <http://configure.ac>
>>             index 982aff7..f081c51 100644
>>             --- a/configure.ac <http://configure.ac>
>>             +++ b/configure.ac <http://configure.ac>
>>
>>             @@ -176,13 +176,6 @@ AM_CONDITIONAL([test_example], [test
>>             x$test_example =
>>             xyes ])
>>               AM_CONDITIONAL([HAVE_DOXYGEN], [test "x${DOXYGEN}" =
>>             "xdoxygen"])
>>               AM_CONDITIONAL([user_guide], [test "x${user_guides}" =
>>             "xyes" ])
>>               AM_CONDITIONAL([HAVE_MSCGEN], [test "x${MSCGEN}" =
>>             "xmscgen"])
>>             -if test x$enable_shared != xyes;
>>             -then
>>             -       _ODP_INLINES="_ODP_INLINES"
>>             -else
>>             -       _ODP_INLINES="_ODP_NO_INLINES"
>>             -fi
>>             -AC_SUBST(_ODP_INLINES)
>>
>>               ##############################
>> ##############################
>>             ##############
>>               # Setup doxygen documentation
>>             @@ -225,6 +218,22 @@ AC_ARG_ENABLE([debug],
>>               ODP_CFLAGS="$ODP_CFLAGS -DODP_DEBUG=$ODP_DEBUG"
>>
>>               ##############################
>> ##############################
>>             ##############
>>             +# Enable/disable ABI compatible build
>>             +###########################################################
>>             ###############
>>             +ODP_ABI_COMPAT=1
>>             +abi_compat=yes
>>             +AC_ARG_ENABLE([abi-compat],
>>             +    [  --enable-abi-compat     build all targets in ABI
>>             compatible mode
>>             (default=yes)],
>>             +    [if test "x$enableval" = "xyes"; then
>>             +       ODP_ABI_COMPAT=1
>>             +       abi_compat=yes
>>             +     else
>>             +       ODP_ABI_COMPAT=0
>>             +       abi_compat=no
>>             +    fi])
>>             +AC_SUBST(ODP_ABI_COMPAT)
>>             +
>>             +###########################################################
>>             ###############
>>               # Default warning setup
>>               ##############################
>> ##############################
>>             ##############
>>               ODP_CFLAGS="$ODP_CFLAGS -W -Wall -Werror -Wstrict-prototypes
>>             -Wmissing-prototypes"
>>             @@ -307,6 +316,9 @@ AC_MSG_RESULT([
>>                      am_ldflags:             ${AM_LDFLAGS}
>>                      libs:                   ${LIBS}
>>                      defs:                   ${DEFS}
>>             +       static libraries:       ${enable_static}
>>             +       shared libraries:       ${enable_shared}
>>             +       ABI compatible:         ${abi_compat}
>>                      cunit:                  ${cunit_support}
>>                      test_vald:              ${test_vald}
>>                      test_perf:              ${test_perf}
>>             diff --git a/platform/linux-generic/.gitignore
>>             b/platform/linux-generic/.
>>             gitignore
>>             index ec6ca37..909756a 100644
>>             --- a/platform/linux-generic/.gitignore
>>             +++ b/platform/linux-generic/.gitignore
>>             @@ -1 +1 @@
>>             -include/odp/api/plat/inlines.h
>>             +include/odp/api/plat/static_inline.h
>>             diff --git a/platform/linux-generic/Makefile.am
>>             <http://ile.am> b/platform/linux-generic/
>>             Makefile.am
>>             index 900ac08..0ec13d4 100644
>>             --- a/platform/linux-generic/Makefile.am <http://ile.am>
>>             +++ b/platform/linux-generic/Makefile.am <http://ile.am>
>>
>>             @@ -61,7 +61,7 @@ odpapiinclude_HEADERS = \
>>
>>               odpapiplatincludedir= $(includedir)/odp/api/plat
>>               odpapiplatinclude_HEADERS = \
>>             -                 $(builddir)/include/odp/api/plat/inlines.h
>> \
>>             +                            
>> $(builddir)/include/odp/api/plat/static_inline.h
>> \
>>                                           
>> $(srcdir)/include/odp/api/plat/atomic_inlines.h
>> \
>>                                           
>> $(srcdir)/include/odp/api/plat/atomic_types.h
>> \
>>                                           
>> $(srcdir)/include/odp/api/plat/barrier_types.h
>> \
>>             diff --git a/platform/linux-generic/include/odp/api/atomic.h
>>             b/platform/linux-generic/include/odp/api/atomic.h
>>             index c18e68b..7886cb4 100644
>>             --- a/platform/linux-generic/include/odp/api/atomic.h
>>             +++ b/platform/linux-generic/include/odp/api/atomic.h
>>             @@ -24,8 +24,8 @@ extern "C" {
>>                *  @{ but if somone has bothered to committed this can you
>> make a bug to ensure the lib numbers in addressed.
>>                */
>>
>>             -#include <odp/api/plat/inlines.h>
>>             -#ifdef _ODP_INLINES
>>             +#include <odp/api/plat/static_inline.h>
>>             +#if ODP_ABI_COMPAT == 0
>>               #include <odp/api/plat/atomic_inlines.h>
>>               #endif
>>
>>             diff --git
>>             a/platform/linux-generic/include/odp/api/byteorder.h
>>             b/platform/linux-generic/include/odp/api/byteorder.h
>>             index 84d1173..ec3d0ee 100644
>>             --- a/platform/linux-generic/include/odp/api/byteorder.h
>>             +++ b/platform/linux-generic/include/odp/api/byteorder.h
>>             @@ -25,8 +25,8 @@ extern "C" {
>>                *  @{
>>                */
>>
>>             -#include <odp/api/plat/inlines.h>
>>             -#ifdef _ODP_INLINES
>>             +#include <odp/api/plat/static_inline.h>
>>             +#if ODP_ABI_COMPAT == 0
>>               #include <odp/api/plat/byteorder_inlines.h>
>>               #endif
>>
>>             diff --git
>>             a/platform/linux-generic/include/odp/api/plat/inlines.h.in
>>             <http://inlines.h.in>
>>             b/platform/linux-generic/include/odp/api/plat/inlines.h.in
>>             <http://inlines.h.in>
>>             deleted file mode 100644
>>             index 5d8c0dc..0000000
>>             ---
>>             a/platform/linux-generic/include/odp/api/plat/inlines.h.in
>>             <http://inlines.h.in>
>>
>>             +++ /dev/null
>>             @@ -1,33 +0,0 @@
>>             -/* Copyright (c) 2016, Linaro Limited
>>             - * All rights reserved.
>>             - *
>>             - * SPDX-License-Identifier: BSD-3-Clause
>>             - */
>>             -
>>             -/**
>>             - * @file
>>             - *
>>             - * ODP platform inline functions
>>             - */
>>             -
>>             -#ifndef ODP_PLAT_INLINES_H_
>>             -#define ODP_PLAT_INLINES_H_
>>             -
>>             -#ifdef __cplusplus
>>             -extern "C" {
>>             -#endif
>>             -
>>             -#define @_ODP_INLINES@
>>             -
>>             -#ifdef _ODP_INLINES
>>             -#define _STATIC static inline
>>             -#else
>>             -#define _STATIC
>>             -#endif
>>             -
>>             -#ifdef __cplusplus
>>             -}
>>             -#endif
>>             -
>>             -
>>             -#endif /* ODP_PLAT_INLINES_H_ */
>>             diff --git
>>             a/platform/linux-generic/include/odp/api/plat/static_
>>             inline.h.in <http://inline.h.in>
>>             b/platform/linux-generic/include/odp/api/plat/static_
>>             inline.h.in <http://inline.h.in>
>>             new file mode 100644
>>             index 0000000..acee5f3
>>             --- /dev/null
>>             +++
>>             b/platform/linux-generic/include/odp/api/plat/static_inline.
>> h.in
>>             <http://static_inline.h.in>
>>
>>             @@ -0,0 +1,32 @@
>>             +/* Copyright (c) 2016, Linaro Limited
>>             + * All rights reserved.
>>             + *
>>             + * SPDX-License-Identifier: BSD-3-Clause
>>             + */
>>             +
>>             +/**
>>             + * @file
>>             + *
>>             + * Macro for static inline functions
>>             + */
>>             +
>>             +#ifndef ODP_PLAT_STATIC_INLINE_H_
>>             +#define ODP_PLAT_STATIC_INLINE_H_
>>             +
>>             +#ifdef __cplusplus
>>             +extern "C" {
>>             +#endif
>>             +
>>             +#if @ODP_ABI_COMPAT@
>>             +#define ODP_ABI_COMPAT 1
>>             +#define _STATIC
>>             +#else
>>             +#define ODP_ABI_COMPAT 0
>>             +#define _STATIC static inline
>>             +#endif
>>             +
>>             +#ifdef __cplusplus
>>             +}
>>             +#endif
>>             +
>>             +#endif
>>             diff --git a/platform/linux-generic/inclu
>> de/odp/api/std_clib.h
>>             b/platform/linux-generic/include/odp/api/std_clib.h
>>             index c498f68..fea4725 100644
>>             --- a/platform/linux-generic/include/odp/api/std_clib.h
>>             +++ b/platform/linux-generic/include/odp/api/std_clib.h
>>             @@ -14,8 +14,8 @@ extern "C" {
>>               #include <odp/api/spec/std_types.h>
>>               #include <string.h>
>>
>>             -#include <odp/api/plat/inlines.h>
>>             -#ifdef _ODP_INLINES
>>             +#include <odp/api/plat/static_inline.h>
>>             +#if ODP_ABI_COMPAT == 0
>>               #include <odp/api/plat/std_clib_inlines.h>
>>               #endif
>>
>>             diff --git a/platform/linux-generic/include/odp/api/sync.h
>>             b/platform/linux-generic/include/odp/api/sync.h
>>             index d2becb9..e1afcc7 100644
>>             --- a/platform/linux-generic/include/odp/api/sync.h
>>             +++ b/platform/linux-generic/include/odp/api/sync.h
>>             @@ -21,8 +21,8 @@ extern "C" {
>>                *  @{
>>                */
>>
>>             -#include <odp/api/plat/inlines.h>
>>             -#ifdef _ODP_INLINES
>>             +#include <odp/api/plat/static_inline.h>
>>             +#if ODP_ABI_COMPAT == 0
>>               #include <odp/api/plat/sync_inlines.h>
>>               #endif
>>
>>             diff --git a/platform/linux-generic/m4/configure.m4
>>             b/platform/linux-generic/m4/configure.m4
>>             index 6fb05c0..d3e5528 100644
>>             --- a/platform/linux-generic/m4/configure.m4
>>             +++ b/platform/linux-generic/m4/configure.m4
>>             @@ -37,4 +37,4 @@
>>             m4_include([platform/linux-generic/m4/odp_ipc.m4])
>>               m4_include([platform/linux-generic/m4/odp_schedule.m4])
>>
>>               AC_CONFIG_FILES([platform/linux-generic/Makefile
>>             -                           platform/linux-generic/includ
>> e/odp/api/plat/inlines.h])
>>             +                            platform/linux-generic/include
>> /odp/api/plat/static_
>>             inline.h])
>>             diff --git a/platform/linux-generic/odp_atomic.c
>>             b/platform/linux-generic/odp_atomic.c
>>             index e9a3ed0..0e40cda 100644
>>             --- a/platform/linux-generic/odp_atomic.c
>>             +++ b/platform/linux-generic/odp_atomic.c
>>             @@ -5,7 +5,7 @@
>>                */
>>
>>               #include <odp/api/atomic.h>
>>             -#ifndef _ODP_INLINES
>>             +#if ODP_ABI_COMPAT == 1
>>               #include <odp/api/plat/atomic_inlines.h>
>>               #endif
>>
>>             diff --git a/platform/linux-generic/odp_byteorder.c
>>             b/platform/linux-generic/odp_byteorder.c
>>             index fc87291..a344c53 100644
>>             --- a/platform/linux-generic/odp_byteorder.c
>>             +++ b/platform/linux-generic/odp_byteorder.c
>>             @@ -5,6 +5,6 @@ but if somone has bothered to committed this
>> can you make a bug to ensure the lib numbers in addressed.
>>                */
>>
>>               #include <odp/api/byteorder.h>
>>             -#ifndef _ODP_INLINES
>>             +#if ODP_ABI_COMPAT == 1
>>               #include <odp/api/plat/byteorder_inlines.h>
>>               #endif
>>             diff --git a/platform/linux-generic/odp_std_clib.c
>>             b/platform/linux-generic/odp_std_clib.c
>>             index 611ba12..24df249 100644
>>             --- a/platform/linux-generic/odp_std_clib.c
>>             +++ b/platform/linux-generic/odp_std_clib.c
>>             @@ -5,6 +5,6 @@
>>                */
>>
>>               #include <odp/api/std_clib.h>
>>             -#ifndef _ODP_INLINES
>>             +#if ODP_ABI_COMPAT == 1
>>               #include <odp/api/plat/std_clib_inlines.h>
>>               #endif
>>             diff --git a/platform/linux-generic/odp_sync.c
>>             b/platform/linux-generic/odp_sync.c
>>             index f31c389..b7eb503 100644
>>             --- a/platform/linux-generic/odp_sync.c
>>             +++ b/platform/linux-generic/odp_sync.c
>>             @@ -5,6 +5,6 @@
>>                */
>>
>>               #include <odp/api/sync.h>
>>             -#ifndef _ODP_INLINES
>>             +#if ODP_ABI_COMPAT == 1
>>               #include <odp/api/plat/sync_inlines.h>
>>               #endif
>>             --
>>             2.8.1
>>
>>
>>
>>
>>
>>
>> --
>> Mike Holmes
>> Program Manager - Linaro Networking Group
>> Linaro.org <http://www.linaro.org/>***│ *Open source software for ARM
>> SoCs
>> "Work should be fun and collaborative, the rest follows"
>>
>>
>


-- 
Mike Holmes
Program Manager - Linaro Networking Group
Linaro.org <http://www.linaro.org/> *│ *Open source software for ARM SoCs
"Work should be fun and collaborative, the rest follows"

Reply via email to