SL_00_001 - bionic

About

bionic is Android's C library. A historical focus was on minimizing assembler, so very little new code actually needed writing. bionic reuses the Linux UAPI headers, so those definitions all came direct from the kernel.

Note: The RISCV64 ABI for Android mandates "V" extension, so discovery isn't necessary... only state save/restore (which is part of 6.5 already) 

Dependencies

Status

Development

ONGOING

Missing support for hardware breakpoints because kernel has no riscv64 ptrace() equivalent to arm64 ptrace(PTRACE_SETREGSET, child, NT_ARM_HW_BREAK, &iov).
Development Timeline2022Q4-?
Upstreaming

COMPLETED

(Work happens directly upstream.)

Upstream Version

AOSP master

Projected to be API level 35 (Android V)

Contacts

Elliott Hughes (google)

Nick Knight (SiFive)

Yunhai Syh (Alibaba/T-Head)


DependenciesKernel support for hardware breakpoints (missing ptrace() )


Updates

  • Elliott Hughes (Google) - aosp/2896304 riscv64: remove some obsolete #if cruft.

 

  • Elliott Hughes (Google) - aosp/2860689 riscv64: pass a pointer to __riscv_hwprobe() to ifunc resolvers.

  • Kenny Gong (Intel) - aosp/2844983 riscv64: correct comparison logic of have_fast_v

  • Elliott Hughes (Google) - aosp/2808261 riscv64: fix ODR violations.

 

  • Elliott Hughes (Google) - aosp/2806858 Fix riscv64 stpcpy().

 

  • Elliott Hughes (Google) - aosp/2768377 riscv64: add vector strcpy().  

 

  • Project reported as priority for 2H23