D138 - A symbol can be imported with no name at all. The identifier is the import; the name only ever existed to compute it

Status: derived - built, and the identifier verified present in the module verbatim.

Firmware export tables carry 1,130,742 identifiers whose names nobody outside the vendor holds, and the hash is one-way. They are nonetheless importable, because an import is an identifier - computing one you already have is not required.

What stood in the way was C. Xh3kd9sLpQw might be a legal identifier by luck; 4wSze92BhLI is not, and neither is anything containing + or -. Each is now declared with a generated C name and an assembler label carrying the real symbol:

extern OBS_WEAK const char obs_nid_000001 __asm__("$Xh3kd9sLpQw");

mkmodule recognises the $ and passes the rest through instead of hashing it - hashing would produce the identifier of the string $Xh3kd9sLpQw, which names nothing and would resolve nowhere. $ is legal in an ELF symbol name and illegal in a C one, so no real name can collide with the marker.

Verified in the built module: 3DIRdq4I-s8#... appears in the vendor segment exactly as the firmware table spells it. 4,219 identifiers across 113 libraries; the module now carries 39,737 symbols from 372 libraries.

The sigil stays visible in the report

A census line reads:

OBS|sym|libSceFont|$Xh3kd9sLpQw|present|shared

That is the honest rendering. This project knows something is exported there and cannot say what it is called. Inventing a name would be worse and printing the bare identifier would let it pass for one - and the marker is exactly the "unknown, flag it" treatment asked for rather than a silent blend into the named census.

Why the library is load-bearing here and nowhere else

A name can be hashed and asked of any library; if the guess is wrong the identifier is still right. An identifier cannot be recomputed, so it is only ever resolvable from the library that exports it. Entries without an attributed library are not emitted at all - which is affordable only because the firmware module descriptions supply one for every unnamed identifier (D105).