This adds support for Kalray kvx arch to uClibc-ng

To check that it builds fine you can do:

git clone https://cgit.uclibc-ng.org/cgi/cgit/uclibc-ng.git
# Apply this patch to uclibc-ng upstream's master branch
cd uclibc-ng
patch -p1  < path/to/0001-kvx-add-support-for-kvx-arch-to-uClibc-ng.patch
cd -
git clone https://github.com/kalray/buildroot
cd buildroot
# The following line forces to use your local copy of patch'ed uClibc-ng
# this way you make sure that the patch results in something that builds
echo 'UCLIBC_OVERRIDE_SRCDIR = $(TOPDIR)/../uclibc-ng/' > local.mk
make kvx_defconfig
make


Yann Sionneau (1):
  kvx: add support for kvx arch to uClibc-ng

 MAINTAINERS                                   |   4 +
 README                                        |   2 +-
 Rules.mak                                     |   6 +-
 extra/Configs/Config.in                       |   8 +
 extra/Configs/Config.kvx                      |  18 ++
 extra/Configs/defconfigs/kvx/defconfig        |   1 +
 include/elf.h                                 |  87 ++++-
 ldso/ldso/kvx/dl-startup.h                    | 104 ++++++
 ldso/ldso/kvx/dl-syscalls.h                   |   1 +
 ldso/ldso/kvx/dl-sysdep.h                     |  99 ++++++
 ldso/ldso/kvx/dl-tlsdesc.S                    |  33 ++
 ldso/ldso/kvx/elfinterp.c                     | 302 ++++++++++++++++++
 ldso/ldso/kvx/resolve.S                       |  17 +
 libc/string/kvx/Makefile                      |  13 +
 libc/string/kvx/memcpy.S                      | 221 +++++++++++++
 libc/string/kvx/memset.S                      | 146 +++++++++
 libc/sysdeps/linux/kvx/Makefile               |  13 +
 libc/sysdeps/linux/kvx/Makefile.arch          |  10 +
 libc/sysdeps/linux/kvx/__longjmp.S            |  53 +++
 libc/sysdeps/linux/kvx/__syscall_error.c      |  19 ++
 libc/sysdeps/linux/kvx/bits/atomic.h          | 141 ++++++++
 libc/sysdeps/linux/kvx/bits/endian.h          |  13 +
 libc/sysdeps/linux/kvx/bits/fcntl.h           | 226 +++++++++++++
 libc/sysdeps/linux/kvx/bits/fenv.h            | 106 ++++++
 libc/sysdeps/linux/kvx/bits/kernel_types.h    |  42 +++
 libc/sysdeps/linux/kvx/bits/posix_types.h     |  14 +
 libc/sysdeps/linux/kvx/bits/sem.h             |  84 +++++
 libc/sysdeps/linux/kvx/bits/setjmp.h          |  46 +++
 libc/sysdeps/linux/kvx/bits/stackinfo.h       |  29 ++
 libc/sysdeps/linux/kvx/bits/statfs.h          |  64 ++++
 libc/sysdeps/linux/kvx/bits/syscalls.h        |  80 +++++
 .../linux/kvx/bits/uClibc_arch_features.h     |  41 +++
 libc/sysdeps/linux/kvx/bits/wordsize.h        |   9 +
 libc/sysdeps/linux/kvx/bsd-_setjmp.S          |  18 ++
 libc/sysdeps/linux/kvx/bsd-setjmp.S           |  17 +
 libc/sysdeps/linux/kvx/cachectl.c             |  15 +
 libc/sysdeps/linux/kvx/clone.S                | 100 ++++++
 libc/sysdeps/linux/kvx/crt1.S                 |  83 +++++
 libc/sysdeps/linux/kvx/crti.S                 |  31 ++
 libc/sysdeps/linux/kvx/crtn.S                 |  33 ++
 libc/sysdeps/linux/kvx/jmpbuf-offsets.h       |  50 +++
 libc/sysdeps/linux/kvx/jmpbuf-unwind.h        |  30 ++
 libc/sysdeps/linux/kvx/setjmp.S               |  59 ++++
 libc/sysdeps/linux/kvx/sys/cachectl.h         |  21 ++
 libc/sysdeps/linux/kvx/sys/procfs.h           | 101 ++++++
 libc/sysdeps/linux/kvx/sys/ucontext.h         |  29 ++
 libc/sysdeps/linux/kvx/sys/user.h             |  27 ++
 libc/sysdeps/linux/kvx/sysdep.h               |  49 +++
 libc/sysdeps/linux/kvx/vfork.S                |  47 +++
 libm/kvx/Makefile.arch                        |  22 ++
 libm/kvx/feclearexcept.c                      |  20 ++
 libm/kvx/fegetenv.c                           |  21 ++
 libm/kvx/fegetexceptflag.c                    |  24 ++
 libm/kvx/fegetround.c                         |  16 +
 libm/kvx/feholdexcept.c                       |  26 ++
 libm/kvx/feraiseexcept.c                      |  24 ++
 libm/kvx/fesetenv.c                           |  23 ++
 libm/kvx/fesetexceptflag.c                    |  24 ++
 libm/kvx/fesetround.c                         |  21 ++
 libm/kvx/fetestexcept.c                       |  21 ++
 libm/kvx/feupdateenv.c                        |  24 ++
 libpthread/nptl/sysdeps/kvx/Makefile.arch     |   9 +
 libpthread/nptl/sysdeps/kvx/dl-tls.h          |  47 +++
 libpthread/nptl/sysdeps/kvx/libc-tls.c        |  26 ++
 .../nptl/sysdeps/kvx/pthread_spin_lock.c      |  60 ++++
 .../nptl/sysdeps/kvx/pthread_spin_trylock.c   |  26 ++
 libpthread/nptl/sysdeps/kvx/pthreaddef.h      |  26 ++
 libpthread/nptl/sysdeps/kvx/tcb-offsets.sym   |   6 +
 libpthread/nptl/sysdeps/kvx/tls.h             | 160 ++++++++++
 .../nptl/sysdeps/kvx/unwind-forcedunwind.c    | 165 ++++++++++
 libpthread/nptl/sysdeps/pthread/Makefile.in   |   2 +
 .../nptl/sysdeps/unix/sysv/linux/kvx/Makefile |  13 +
 .../sysdeps/unix/sysv/linux/kvx/Makefile.arch |  14 +
 .../unix/sysv/linux/kvx/bits/pthreadtypes.h   | 166 ++++++++++
 .../unix/sysv/linux/kvx/bits/semaphore.h      |  30 ++
 .../unix/sysv/linux/kvx/createthread.c        |  14 +
 .../nptl/sysdeps/unix/sysv/linux/kvx/fork.c   |  11 +
 .../unix/sysv/linux/kvx/pthread_once.c        |  77 +++++
 .../unix/sysv/linux/kvx/sysdep-cancel.h       |  43 +++
 utils/ldd.c                                   |   5 +
 80 files changed, 3925 insertions(+), 3 deletions(-)
 create mode 100644 extra/Configs/Config.kvx
 create mode 100644 extra/Configs/defconfigs/kvx/defconfig
 create mode 100644 ldso/ldso/kvx/dl-startup.h
 create mode 100644 ldso/ldso/kvx/dl-syscalls.h
 create mode 100644 ldso/ldso/kvx/dl-sysdep.h
 create mode 100644 ldso/ldso/kvx/dl-tlsdesc.S
 create mode 100644 ldso/ldso/kvx/elfinterp.c
 create mode 100644 ldso/ldso/kvx/resolve.S
 create mode 100644 libc/string/kvx/Makefile
 create mode 100644 libc/string/kvx/memcpy.S
 create mode 100644 libc/string/kvx/memset.S
 create mode 100644 libc/sysdeps/linux/kvx/Makefile
 create mode 100644 libc/sysdeps/linux/kvx/Makefile.arch
 create mode 100644 libc/sysdeps/linux/kvx/__longjmp.S
 create mode 100644 libc/sysdeps/linux/kvx/__syscall_error.c
 create mode 100644 libc/sysdeps/linux/kvx/bits/atomic.h
 create mode 100644 libc/sysdeps/linux/kvx/bits/endian.h
 create mode 100644 libc/sysdeps/linux/kvx/bits/fcntl.h
 create mode 100644 libc/sysdeps/linux/kvx/bits/fenv.h
 create mode 100644 libc/sysdeps/linux/kvx/bits/kernel_types.h
 create mode 100644 libc/sysdeps/linux/kvx/bits/posix_types.h
 create mode 100644 libc/sysdeps/linux/kvx/bits/sem.h
 create mode 100644 libc/sysdeps/linux/kvx/bits/setjmp.h
 create mode 100644 libc/sysdeps/linux/kvx/bits/stackinfo.h
 create mode 100644 libc/sysdeps/linux/kvx/bits/statfs.h
 create mode 100644 libc/sysdeps/linux/kvx/bits/syscalls.h
 create mode 100644 libc/sysdeps/linux/kvx/bits/uClibc_arch_features.h
 create mode 100644 libc/sysdeps/linux/kvx/bits/wordsize.h
 create mode 100644 libc/sysdeps/linux/kvx/bsd-_setjmp.S
 create mode 100644 libc/sysdeps/linux/kvx/bsd-setjmp.S
 create mode 100644 libc/sysdeps/linux/kvx/cachectl.c
 create mode 100644 libc/sysdeps/linux/kvx/clone.S
 create mode 100644 libc/sysdeps/linux/kvx/crt1.S
 create mode 100644 libc/sysdeps/linux/kvx/crti.S
 create mode 100644 libc/sysdeps/linux/kvx/crtn.S
 create mode 100644 libc/sysdeps/linux/kvx/jmpbuf-offsets.h
 create mode 100644 libc/sysdeps/linux/kvx/jmpbuf-unwind.h
 create mode 100644 libc/sysdeps/linux/kvx/setjmp.S
 create mode 100644 libc/sysdeps/linux/kvx/sys/cachectl.h
 create mode 100644 libc/sysdeps/linux/kvx/sys/procfs.h
 create mode 100644 libc/sysdeps/linux/kvx/sys/ucontext.h
 create mode 100644 libc/sysdeps/linux/kvx/sys/user.h
 create mode 100644 libc/sysdeps/linux/kvx/sysdep.h
 create mode 100644 libc/sysdeps/linux/kvx/vfork.S
 create mode 100644 libm/kvx/Makefile.arch
 create mode 100644 libm/kvx/feclearexcept.c
 create mode 100644 libm/kvx/fegetenv.c
 create mode 100644 libm/kvx/fegetexceptflag.c
 create mode 100644 libm/kvx/fegetround.c
 create mode 100644 libm/kvx/feholdexcept.c
 create mode 100644 libm/kvx/feraiseexcept.c
 create mode 100644 libm/kvx/fesetenv.c
 create mode 100644 libm/kvx/fesetexceptflag.c
 create mode 100644 libm/kvx/fesetround.c
 create mode 100644 libm/kvx/fetestexcept.c
 create mode 100644 libm/kvx/feupdateenv.c
 create mode 100644 libpthread/nptl/sysdeps/kvx/Makefile.arch
 create mode 100644 libpthread/nptl/sysdeps/kvx/dl-tls.h
 create mode 100644 libpthread/nptl/sysdeps/kvx/libc-tls.c
 create mode 100644 libpthread/nptl/sysdeps/kvx/pthread_spin_lock.c
 create mode 100644 libpthread/nptl/sysdeps/kvx/pthread_spin_trylock.c
 create mode 100644 libpthread/nptl/sysdeps/kvx/pthreaddef.h
 create mode 100644 libpthread/nptl/sysdeps/kvx/tcb-offsets.sym
 create mode 100644 libpthread/nptl/sysdeps/kvx/tls.h
 create mode 100644 libpthread/nptl/sysdeps/kvx/unwind-forcedunwind.c
 create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/kvx/Makefile
 create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/kvx/Makefile.arch
 create mode 100644 
libpthread/nptl/sysdeps/unix/sysv/linux/kvx/bits/pthreadtypes.h
 create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/kvx/bits/semaphore.h
 create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/kvx/createthread.c
 create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/kvx/fork.c
 create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/kvx/pthread_once.c
 create mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/kvx/sysdep-cancel.h

-- 
2.17.1


_______________________________________________
devel mailing list
[email protected]
https://mailman.uclibc-ng.org/cgi-bin/mailman/listinfo/devel

Reply via email to