Skip to content

Work on #580 and building on Debian 12

  • Update dual use (kernel/userspace) including stddef.h (for size_t) to include linux/types.h in kernel mode or stddef.h in userspace mode.
  • Update dual use (kernel/userspace) including stdalign.h (for alignas) to use a macro + builtin to define alignas in kernel mode.
    • Uses the builtin _Alignas if C11 is available, otherwise tries to import stdalign.h which worked in older builds.
  • Replace the deprecated pci_alloc_consistent with the function it calls dma_alloc_coherent. This is done due to removal of the pci_alloc_consistent function in kernel 5.17 or 5.18. The underlying function that was being called, dma_alloc_coherent, is available back to at least 4.19, so no versioning is done. See https://lore.kernel.org/lkml/20220106222804.GA330366@bhelgaas/t/ for documentation on the removal and replacement of pci_alloc_consistent.
  • Changed portableInline.h to use static inline for if GNU_STDC_INLINE is defined, otherwise inline functions were not being found at link time.
    • Changing the inline highlighted an issue with math includes. When the LIGO_INLINE changed to static inline a error is presented when including both math.h and inlineMath_x86_asm.h due to the sincos definition, one being static, one not.
      • Update skeleton.st to define USE_STDLIB_MATH as it includes math.h
      • Update the librts Makefile to define USE_STDLIB_MATH as it is in userspace and will include math.h

Merge request reports