On Sun, Jun 11, 2023 at 12:01:04AM -0600, Theo de Raadt wrote: > I assume you are on an architecture where the linker is LLVM ld, > otherwise known as ld-lld in OpenBSD (some older architectures > still use ld-bfd). > > In llvm/lib/Support/Path.cpp, there is code that acts just like you describe: > > void createUniquePath(const Twine &Model, SmallVectorImpl<char> &ResultPath, > bool MakeAbsolute) { > ... > // Replace '%' with random chars. > for (unsigned i = 0, e = ModelStorage.size(); i != e; ++i) { > if (ModelStorage[i] == '%') > ResultPath[i] = "0123456789abcdef"[sys::Process::GetRandomNumber() & > 15]; > } > > > It apppears in the LLVM universe if you try to create a file with % in the > name, it has a different interpretation of what that % means, different than > what you want it to mean. > > https://docs.hdoc.io/hdoc/llvm-project/f1FB0DB2307A8013C.html > > Other than that, I can find no documentation. What a stupid interface, lets rebuild mktemp(2) and not learn from history. It is not like this is new unless you think 30years is new...
Humanity is surely doomed -- :wq Claudio