[CRIU] [RFC 0/3] compel: Ship std_ string helpers

Kir Kolyshkin kir at virtuozzo.com
Fri Jan 27 09:53:42 PST 2017


On 01/27/2017 09:14 AM, Cyrill Gorcunov wrote:
> NOT FOR MERGING!
>
> Hi guys, while using volatile in https://github.com/xemul/criu/issues/279
> for a fix I think we still might go further and simply drop off all
> builtin_ helpers but rather provide ones in std_ compel module.
> The work is still incompelete 'cause need to look intp powerpc
> versions of asm-optimized helpers. But just to present you
> some preliminary results. The idea is to use std_memset/memcpy
> explicitly where needed.

I mostly agree with the approach, we definitely need to unify this shit.

My suggestions:
1 move criu string.h code to compel (instead of adding and removing code)
2 rename functions to memcpy/memset (there's no need for any prefix in 
code which is not linked to glibc)

> Cyrill Gorcunov (3):
>    compel: Move string helpers in STD subplugin
>    criu: Use std_ helpers from compel library for builtins
>    criu: Drop builtin_ helpers
>
>   compel/arch/aarch64/plugins/std/string.c |   1 +
>   compel/arch/arm/plugins/std/string.c     |   1 +
>   compel/arch/ppc64/plugins/std/string.c   |  18 ++++
>   compel/arch/x86/plugins/std/string.S     |  32 +++++++
>   compel/plugins/Makefile                  |   9 +-
>   compel/plugins/include/uapi/plugin-std.h |   1 +
>   compel/plugins/include/uapi/std/print.h  |  23 +++++
>   compel/plugins/include/uapi/std/string.h |  23 +----
>   compel/plugins/std/print.c               | 127 +++++++++++++++++++++++++++
>   compel/plugins/std/string.c              | 146 +++----------------------------
>   criu/Makefile                            |   1 +
>   criu/arch/aarch64/include/asm/string.h   |   1 -
>   criu/arch/aarch64/restorer.c             |   1 -
>   criu/arch/aarch64/vdso-pie.c             |   1 -
>   criu/arch/arm/include/asm/string.h       |   1 -
>   criu/arch/arm/restorer.c                 |   1 -
>   criu/arch/ppc64/include/asm/string.h     |  28 ------
>   criu/arch/ppc64/vdso-pie.c               |   5 +-
>   criu/arch/x86/include/asm/parasite.h     |   6 +-
>   criu/arch/x86/include/asm/string.h       |  21 -----
>   criu/arch/x86/memcpy.S                   |  30 -------
>   criu/arch/x86/restorer.c                 |   4 +-
>   criu/arch/x86/sigaction_compat.c         |   5 +-
>   criu/arch/x86/vdso-pie.c                 |   4 +-
>   criu/include/asm-generic/string.h        |  82 -----------------
>   criu/include/string.h                    |   1 -
>   criu/pie/restorer.c                      |   4 +-
>   criu/pie/util-fd.c                       |   4 +-
>   criu/pie/util-vdso.c                     |   9 +-
>   criu/protobuf.c                          |   1 -
>   30 files changed, 250 insertions(+), 341 deletions(-)
>   create mode 120000 compel/arch/aarch64/plugins/std/string.c
>   create mode 120000 compel/arch/arm/plugins/std/string.c
>   create mode 100644 compel/arch/ppc64/plugins/std/string.c
>   create mode 100644 compel/arch/x86/plugins/std/string.S
>   create mode 100644 compel/plugins/include/uapi/std/print.h
>   create mode 100644 compel/plugins/std/print.c
>   delete mode 100644 criu/arch/ppc64/include/asm/string.h
>   delete mode 100644 criu/arch/x86/include/asm/string.h
>   delete mode 100644 criu/arch/x86/memcpy.S
>   delete mode 100644 criu/include/asm-generic/string.h
>



More information about the CRIU mailing list