tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Basesystem programs redefine routine symbols from libc



I'm testing LLVM sanitizers. Right now, not every one is compatible
as-is, because there are linker issues. The sanitizers redefine symbols
for routines in libc like uname(3) in order to sanitize it with internal
logic. However there exist programs in the basesystem that shadow libc
symbol routines as well, for example ps(1):

bin/ps/extern.h:void    uname(struct pinfo *, VARENT *, enum mode);
bin/ps/keyword.c:      VAR4("user", "USER", LJUST, uname),
bin/ps/print.c:uname(struct pinfo *pi, VARENT *ve, enum mode mode)

They are not compatible as it is with programs that redefine public
symbols that exist in libc.

I'm going to rename the symbol routine names when I will hit them.

Attachment: signature.asc
Description: OpenPGP digital signature



Home | Main Index | Thread Index | Old Index