On Jan 10, 2020, at 1:19 PM, Arnd Bergmann <arnd@xxxxxxxx> wrote: > On Fri, Jan 10, 2020 at 10:05 PM Rich Felker <dalias@xxxxxxxx> wrote: >> >> On Fri, Jan 10, 2020 at 09:49:03PM +0100, Arnd Bergmann wrote: >>> musl is moving to a default of 64-bit time_t on all architectures, >>> glibc will follow later. This breaks reading timestamps through cmsg >>> data with the HCI_TIME_STAMP socket option. >>> >>> Change both copies of hcidump to work on all architectures. This also >>> fixes x32, which has never worked, and carefully avoids breaking sparc64, >>> which is another special case. >> >> Won't it be broken on rv32 though? Based on my (albeit perhaps >> incomplete) reading of the thread, I think use of HCI_TIME_STAMP >> should just be dropped entirely in favor of using SO_TIMESTAMPNS -- my >> understanding was that it works with bluetooth sockets too. > > All 32-bit architectures use old_timeval32 timestamps in the kernel > here, even rv32 and x32. As a rule, we keep the types bug-for-bug > compatible between architectures and fix them all at the same time. > > Changing hcidump to SO_TIMESTAMPNS would work as well, but > that is a much bigger change and I don't know how to test that. If so, maybe I'll just do that for libpcap. Libpcap *does* have an API to request capturing with nanoseconds in tv_usec (and I plan to give it pcapng-flavored APIs to deliver higher-resolution time stamps, as well as metadata such as "incoming" vs. "outgoing", as well).