find,ls: Ensure -ls output matches ls -dils as documented; print the
epoch if localtime() fails. Synchronize the code with ls, so it always
checks localtime()'s return value.
ok tb@
stat: Show the stringified epoch if localtime() fails. Avoids segfault
on out of range time values. The raw value can still be obtained with
stat -f %m.
ok tb@
fw_update could be tricked into treating the untrusted comment as data.
In some situations (-a) this could be passed into fetch(), which did not
validate what it passed to su(1). Use the trusted output of signify and
add stricter validation.
with & ok afresh1@
Rewrite the imsg code to be more modern.
Split the code into independent send and recv functions that properly
send some of the more complex messages without leaking extra data or
causing problems on recv (e.g. by passing string buffers).
This also kills the send_imsg wrapper which kind of is the cause that
everything was passed as one big blob.
OK rsadowski@
Fix kr_change to add missing rtlabel references and update routes when
only the label changes.
rtlabel_tag2id() does not take a reference for the rtlabel id so a call
to rtlabel_ref() is needed here. This mirrors the rtlabel_unref calls.
In the nexthop already present case one needs to adjust the kn to update
the ext_tag and rtlabel in case those changed. With this the rtlabel to
external-tag mapping should work more reliable.
OK bluhm@
Forcefully disable RVV intrinsics usage in llama.cpp/libggml.
The code assumes that if __riscv_v_intrinsic is defined the various RVV
intrinsics are available and usable.
With clang the intrinsics may be available even though actual usage of
said intrinsics has to be allowed with clang -march=... or function
annotations.
Also the code assumes that if it can use said intrinsics at compile
time then they ought to be used at runtime. This is false on
OpenBSD which doesn't require the cpu to support the V extension.
Example error at compile time:
.../firefox-154.0/third_party/llama.cpp/ggml/src/ggml-cpu/vec.cpp:407:22: error: RISC-V type 'vfloat32m2_t' (aka '__rvv_float32m2_t') requires the 'zve32f' extension
407 vfloat32m2_t vx = __riscv_vle32_v_f32m2(&x[i], vl);
With & ok landry@ (maintainer)