# Beebo 407 — glibc audit (highest-priority result)
recorded: 2026-08-30T21:57:35Z

== libc location (found by search, not assumed) ==
/mnt/beebo407-p2/usr/lib/aarch64-linux-gnu/libc.so.6

libc symlink: /lib/aarch64-linux-gnu/libc.so.6 -> ../usr/lib/aarch64-linux-gnu/libc.so.6 (merged/usr layout)
-rwxr-xr-x 1 root root 1651408 Mar  6  2025 /mnt/beebo407-p2/lib/aarch64-linux-gnu/libc.so.6

== dpkg version ==
Package: libc6
Status: install ok installed
Priority: required
Section: libs
libc6 2.36-9+deb12u10   (Debian bookworm glibc 2.36, security update u10)
libc-bin 2.36-9+deb12u10

== file <libc> ==
/mnt/beebo407-p2/usr/lib/aarch64-linux-gnu/libc.so.6: ELF 64-bit LSB shared object, ARM aarch64, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=16e7fc798f754633a38d91ba09be84f8aa839464, for GNU/Linux 3.7.0, stripped

== readelf -h <libc> (key lines) ==
  Version:                           1 (current)
  OS/ABI:                            UNIX - GNU
  ABI Version:                       0
  Type:                              DYN (Shared object file)
  Machine:                           AArch64
  Version:                           0x1
  Entry point address:               0x27930
  Start of program headers:          64 (bytes into file)

== highest exported GLIBC_* symbol version (strings method) ==
GLIBC_2.34
GLIBC_2.35
GLIBC_2.36
GLIBC_ABI_DT_RELR
GLIBC_PRIVATE
HIGHEST EXPORTED: GLIBC_2.36

== readelf --version-info grep ==
GLIBC_2.32
GLIBC_2.33
GLIBC_2.34
GLIBC_2.35
GLIBC_2.36
(also present: GLIBC_ABI_DT_RELR, GLIBC_PRIVATE)

ANSWER: 407 image glibc = 2.36-9+deb12u10; max provided GLIBC symbol version = 2.36

== DYNAMIC LOADER ==
/mnt/beebo407-p2/usr/lib/ld-linux-aarch64.so.1
/mnt/beebo407-p2/usr/lib/aarch64-linux-gnu/ld-linux-aarch64.so.1
Loader path used by binaries: /lib/ld-linux-aarch64.so.1 (interpreter recorded in libc) =
lrwxrwxrwx 1 root root 39 Mar  6  2025 /mnt/beebo407-p2/usr/lib/ld-linux-aarch64.so.1 -> aarch64-linux-gnu/ld-linux-aarch64.so.1
/mnt/beebo407-p2/usr/lib/ld-linux-aarch64.so.1: symbolic link to aarch64-linux-gnu/ld-linux-aarch64.so.1
  Version:                           1 (current)
  OS/ABI:                            UNIX - System V
  ABI Version:                       0
  Type:                              DYN (Shared object file)
  Machine:                           AArch64
  Version:                           0x1
  Entry point address:               0x1ad00
  Start of program headers:          64 (bytes into file)
loader banner strings (version identity):
GLIBC_2.34
GLIBC_2.35
GLIBC_PRIVATE
GLIBC_PRIVATE
/etc/ld.so.cache
glibc-ld.so.cache1.1

== ABI implications for our LV2 .so ==
- ELF class/machine we must match: ELF64, AArch64 (verified on both libc and loader)
- OSABI GNU/Linux; kernel minimum per 'for GNU/Linux 3.7.0'
- glibc floor available: 2.36 -> anything requiring <= GLIBC_2.36 loads; > 2.36 will not
- DT_NEEDED libm.so.6/libc.so.6/libdl etc. all present in /usr/lib/aarch64-linux-gnu
