[klibc] [PATCH 0/1] Porting klibc to AArch64

maximilian attems maks at stro.at
Wed Oct 9 06:51:32 PDT 2013


On Wed, Oct 09, 2013 at 03:14:44PM +0530, Anil Singhar wrote:
> Hi All:
> 
> We have some patches to port klibc to ArmV8.
> 
> The first set of patches from Neil Williams fixes the build issues.
> The second set of patches from Anil Singhar fixes functionalities.

pleasse come up with a single patchset for the architecture as it
is not merged, with signed-offs by both of you guys.
 
> The following files have changed in the second set of patches
> ------------------------------------------------------------------------------------------
> usr/include/arch/aarch64/klibc/archconfig.h
> usr/include/arch/aarch64/klibc/archsetjmp.h
> usr/include/arch/aarch64/klibc/archstat.h
> usr/include/sys/stat.h
> usr/include/unistd.h
> usr/klibc/SYSCALLS.def
ok fine.

> usr/klibc/arch/aarch64/Kbuild
> usr/klibc/arch/aarch64/MCONFIG
> usr/klibc/arch/aarch64/crt0.S
> usr/klibc/arch/aarch64/link.c
> usr/klibc/arch/aarch64/mknod.c
> usr/klibc/arch/aarch64/select.c
> usr/klibc/arch/aarch64/setjmp.S
> usr/klibc/arch/aarch64/symlink.c
> usr/klibc/arch/aarch64/syscall.S
> usr/klibc/arch/aarch64/sysstub.ph
> usr/klibc/arch/aarch64/vfork.S

This looks very fishy!
No other arch bothers to do such a rework
of those standard calls, what happens here?

I do have slight sympathies for vfork, but
symlink, link, mknod and select!?

> usr/klibc/statfs.c
> usr/klibc/tests/stat.c

What has this todo with aarch64?
 
> The above changes broadly include the following:
> 1. start-up code in crt0.S
> 2. wrapper to system calls as generated from sysstub.ph and error handling
> in syscall.S
> 3. corrections to some system call definitions such as symlinkat, mkdirat
> etc.
> 4. corrections to some data structure definitions such as stat etc.
> 5. separate aarch64 specific definition for some syscalls such as fork,
> vfork etc.
> 6. fixes to setjmp and longjmp functions
> 
> Manual testing as provided within the package has been done with all tests
> passing. This includes the units tests available under usr/klibc/tests,
> usr/utils, usr/dash and usr/gzip. For dash and gzip, only sanity testing
> has been done.
> 
> Automatic testing has been done using mksh with the following results:
> Total failed: 5 (4 ignored) (1 unexpected)
> Total passed: 431
> 
> The code is available at:
> git clone git://git.linaro.org/people/anil.singhar/klibc-aarch64.git
> 
> Comments are highly appreciated.

You don't indicate if kinit boots?


Thank you for the submission.

-- 
maks


More information about the klibc mailing list