Document __demangle() and fix a const func ptr bug

This commit is contained in:
Justine Tunney 2024-06-02 04:15:48 -07:00
parent c67faf61df
commit 9aa353d88b
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
7 changed files with 618 additions and 670 deletions

View file

@ -810,7 +810,8 @@ privileged static size_t kformat(char *b, size_t n, const char *fmt,
/* *p++ = '&'; */
s = (*_weaken(__symtab))->name_base +
(*_weaken(__symtab))->names[idx];
if (__is_mangled(s) && __demangle(cxxbuf, s, sizeof(cxxbuf)) != -1)
if (_weaken(__is_mangled) && _weaken(__is_mangled)(s) &&
_weaken(__demangle)(cxxbuf, s, sizeof(cxxbuf)) != -1)
s = cxxbuf;
goto FormatString;
}