[klibc] [PATCH 0/3] Introduce arm64 support

Steve Capper steve.capper at linaro.org
Fri Nov 8 09:12:13 PST 2013


Hello,

This series introduces arm64 support to klibc.

I've rebased the work from Neil Williams and Anil Singhar into the
following three patches. Most of the code changes are due to new
syscall implementations being needed for arm64 as a only a minimal set
of syscalls are defined in the arm64 kernel.

This series is to be applied against the latest klibc, just after
 25a66fa README.klibc: update build information

I have tested this series on x86_64 running Ubuntu 13.04 in KVM, on ARM
running Fedora 18 on an Arndale board, and for Aarch64 by running Open
Embedded on the ARMv8A FVP model.

The testing regime included running the klibc supplied tests, as well
as running the mksh test suite (with mksh both statically compiled and
linked against /lib/klibc-xxxxx.so).

Any comments/critique/flames welcome.

Cheers,
-- 
Steve

Steve Capper (3):
  syscalls: Fixup some syscalls
  syscalls: Add syscalls needed by arm64
  arm64: Introduce arm64 support

 Makefile                                  |  3 +-
 usr/include/arch/arm64/klibc/archconfig.h | 17 ++++++++++
 usr/include/arch/arm64/klibc/archsetjmp.h | 20 ++++++++++++
 usr/include/arch/arm64/klibc/archsignal.h | 14 +++++++++
 usr/include/arch/arm64/klibc/archstat.h   | 29 +++++++++++++++++
 usr/include/arch/arm64/klibc/asmmacros.h  | 11 +++++++
 usr/include/sys/stat.h                    |  3 +-
 usr/include/unistd.h                      |  7 +++--
 usr/klibc/Kbuild                          |  3 ++
 usr/klibc/README.klibc                    |  1 +
 usr/klibc/SYSCALLS.def                    | 47 ++++++++++++++--------------
 usr/klibc/access.c                        | 12 +++++++
 usr/klibc/arch/arm64/Kbuild               |  7 +++++
 usr/klibc/arch/arm64/MCONFIG              | 23 ++++++++++++++
 usr/klibc/arch/arm64/crt0.S               | 19 +++++++++++
 usr/klibc/arch/arm64/pipe.c               | 10 ++++++
 usr/klibc/arch/arm64/setjmp.S             | 52 +++++++++++++++++++++++++++++++
 usr/klibc/arch/arm64/syscall.S            | 25 +++++++++++++++
 usr/klibc/arch/arm64/sysstub.ph           | 25 +++++++++++++++
 usr/klibc/arch/arm64/vfork.S              | 34 ++++++++++++++++++++
 usr/klibc/chmod.c                         | 17 ++++++++++
 usr/klibc/chown.c                         | 12 +++++++
 usr/klibc/dup2.c                          | 11 +++++++
 usr/klibc/lchown.c                        | 12 +++++++
 usr/klibc/link.c                          | 12 +++++++
 usr/klibc/lstat.c                         | 17 ++++++++++
 usr/klibc/mkdir.c                         | 14 +++++++++
 usr/klibc/mknod.c                         | 14 +++++++++
 usr/klibc/open64.c                        | 22 +++++++++++++
 usr/klibc/poll.c                          | 21 +++++++++++++
 usr/klibc/readlink.c                      | 12 +++++++
 usr/klibc/rename.c                        | 11 +++++++
 usr/klibc/rmdir.c                         | 12 +++++++
 usr/klibc/select.c                        | 34 ++++++++++++++++++++
 usr/klibc/stat.c                          | 17 ++++++++++
 usr/klibc/symlink.c                       | 12 +++++++
 usr/klibc/unlink.c                        | 12 +++++++
 usr/klibc/utimes.c                        | 20 ++++++++++++
 38 files changed, 616 insertions(+), 28 deletions(-)
 create mode 100644 usr/include/arch/arm64/klibc/archconfig.h
 create mode 100644 usr/include/arch/arm64/klibc/archsetjmp.h
 create mode 100644 usr/include/arch/arm64/klibc/archsignal.h
 create mode 100644 usr/include/arch/arm64/klibc/archstat.h
 create mode 100644 usr/include/arch/arm64/klibc/asmmacros.h
 create mode 100644 usr/klibc/access.c
 create mode 100644 usr/klibc/arch/arm64/Kbuild
 create mode 100644 usr/klibc/arch/arm64/MCONFIG
 create mode 100644 usr/klibc/arch/arm64/crt0.S
 create mode 100644 usr/klibc/arch/arm64/pipe.c
 create mode 100644 usr/klibc/arch/arm64/setjmp.S
 create mode 100644 usr/klibc/arch/arm64/syscall.S
 create mode 100644 usr/klibc/arch/arm64/sysstub.ph
 create mode 100644 usr/klibc/arch/arm64/vfork.S
 create mode 100644 usr/klibc/chmod.c
 create mode 100644 usr/klibc/chown.c
 create mode 100644 usr/klibc/dup2.c
 create mode 100644 usr/klibc/lchown.c
 create mode 100644 usr/klibc/link.c
 create mode 100644 usr/klibc/lstat.c
 create mode 100644 usr/klibc/mkdir.c
 create mode 100644 usr/klibc/mknod.c
 create mode 100644 usr/klibc/open64.c
 create mode 100644 usr/klibc/poll.c
 create mode 100644 usr/klibc/readlink.c
 create mode 100644 usr/klibc/rename.c
 create mode 100644 usr/klibc/rmdir.c
 create mode 100644 usr/klibc/select.c
 create mode 100644 usr/klibc/stat.c
 create mode 100644 usr/klibc/symlink.c
 create mode 100644 usr/klibc/unlink.c
 create mode 100644 usr/klibc/utimes.c

-- 
1.8.1.4



More information about the klibc mailing list