Hi,

I am trying to port klibc to aarch64. My code is available from:
git clone git://git.linaro.org/people/anil.singhar/klibc-aarch64.git
At this point, I am trying to fix the following issues. Any help / comment / advice / suggestion is highly appreciated.

1. Need to find the correct value for KLIBCSHAREDFLAGS (What value should I set Ttext to in the aarch64 specific MCONFIG file?). Right now the MCONFIG looks as follows:

# -*- makefile -*-
#
# arch/aarch64/MCONFIG
#
# Special rules for this architecture.  Note that this is actually
# included from the main Makefile, and that pathnames should be
# accordingly.
#

CPU_ARCH ?= armv8-a
CPU_TUNE ?= generic

KLIBCOPTFLAGS += -Os -march=$(CPU_ARCH) -mtune=$(CPU_TUNE)
KLIBCBITSIZE  = 64
KLIBCREQFLAGS += -fno-exceptions
#KLIBCSTRIPFLAGS += -R .ARM.exidx

# Extra linkflags when building the shared version of the library
# This address needs to be reachable using normal inter-module
# calls, and work on the memory models for this architecture
#KLIBCSHAREDFLAGS = -Ttext 0x01800200  <-- Is this value correct..?
#KLIBCREQFLAGS +=
#KLIBCOPTFLAGS += -mgeneral-regs-only

2. The stat family of syscalls don't work correctly. There is only one actual syscall: fstat, which is used by lstat and stat. The syscall doesn't seem to return valid values for target files. e.g. The following fields are wrong:

toot@genericarmv8:~/anilss/AArch64/klibc-aarch64/usr/klibc/tests# ./stat test.out
Path = test.out
   st_dev       = 0x11 (0,17)
   st_ino       = 5910539
   st_mode      = 0
   st_nlink     = 4295000484  <-- This is wrong
   st_uid       = 0
   st_gid       = 0
   st_rdev      = 0x0 (0,0)
   st_size      = 15
   st_blksize   = 1380537164
   st_blocks    = 223008806
   st_atim      = 1048576.000000008
   st.mtim      = 1380612975.029926968
   st.ctim      = 1380537164.223008806

Because the fields are wrong, the parsed values are also wrong. Applications such as ls, gzip etc. fail to work because they rely on this syscall.

Since I am doing the development on ARMv8 Foundation model using linaro openembedded image, is there a debug version of the kernel (the one img-foundation.axf) that I can use to debug the syscall itself in kernel mode using kgdb? Any other debugging ideas..?

Thanks and Regards,
Anil