On 7 Aug 2025, at 09:06, Martin Matuska <m...@freebsd.org> wrote:
> 
> The branch main has been updated by mm:
> 
> URL: 
> https://cgit.FreeBSD.org/src/commit/?id=df58e8b1506f241670be86a560fb6e8432043aee
> 
> commit df58e8b1506f241670be86a560fb6e8432043aee
> Merge: 02f394281fd6 8302b6e32bb1
> Author:     Martin Matuska <m...@freebsd.org>
> AuthorDate: 2025-08-07 07:06:31 +0000
> Commit:     Martin Matuska <m...@freebsd.org>
> CommitDate: 2025-08-07 07:06:31 +0000
> 
>    zfs: merge openzfs/zfs@8302b6e32
> 
>    Notable upstream pull request merges:
>     #16853 894edd084 Add TXG timestamp database
>     #17004 -multiple Implement dynamic gang header sizes
>     #17405 dea0fc969 ZVOL: Return early, if volmode is ZFS_VOLMODE_NONE
>                      on FreeBSD side
>     #17455 cf146460c Default to zfs_bclone_wait_dirty=1
>     #17481 523d9d600 Validate mountpoint on path-based unmount using statx
>     #17482 92da9e0e9 ZVOL: Implement zvol_alloc() function on FreeBSD side
>     #17489 dee62e074 spa: ZIO_TASKQ_ISSUE: Use symbolic priority
>     #17496 bf846dcb7 Release topology restrictions on special/dedup
>     #17497 4e92aee23 Relax special_small_blocks restrictions
>     #17503 ea38787f2 Revert "Fix incorrect expected error in ztest"
>     #17505 be1e991a1 Allow and prefer special vdevs as ZIL
>     #17506 ee0cb4cb8 ztest: Fix false positive of ENOSPC handling
>     #17507 92d3b4ee2 zio: rename `io_reexecute` as `io_post`;
>                      use it for the direct IO checksum error flag
>     #17508 6af8db61b metaslab: don't pass whole zio to throttle reserve APIs
>     #17518 4c2a7f85d FreeBSD: Add support for _PC_HAS_HIDDENSYSTEM
>     #17521 d7ab07dfb ZIL: Force writing of open LWB on suspend
>     #17524 b6e8db509 zpool/zfs: Add '-a|--all' option to scrub, trim,
>                      initialize
>     #17531 c1e51c55f Correct weight recalculation of space-based metaslabs
>     #17533 d323fbf49 FreeBSD: zfs_putpages: don't undirty pages until
>                      after write completes
>     #17536 b21e04e8d Fix zdb pool/ with -k
>     #17537 -multiple Userspace tunables
>     #17540 2957eabbe Add support for FreeBSD's Solaris style extended
>                      attribute interface
>     #17547 4bd7a2eaa zdb: fix checksum calculation for decompressed blocks
>     #17551 -multiple cleanup: remove var init/update
>     #17561 0f8a1105e Skip dbuf_evict_one() from dbuf_evict_notify()
>                      for reclaim thread
>     #17563 10a78e264 Faster checksum benchmark on system boot
>     #17564 00ce064d8 spa: update blkptr diagram to include vdev padding
>                      on encrypted blocks
>     #17565 -multiple Physical rewrite
>     #17566 fc885f308 Don't use wrong weight when passivating group
>     #17572 f70c85086 BRT: Fix ZAP entry endianness
>     #17575 0b6fd024a ZVOL: Unify zvol minors operations and improve error
>                      handling
>     #17581 cb5e7e097 range_tree: Provide more debug details upon unexpected
>                      add/remove
>     #17587 -multiple Fix two issues with dynamic gang headers
> 
>    Obtained from:  OpenZFS
>    OpenZFS commit: 8302b6e32bb153a6f402b106484d5736f082abcc

This breaks building on macOS:

> /Users/runner/work/freebsd-src/freebsd-src/sys/contrib/openzfs/lib/libspl/tunables.c:77:29:
>  error: argument to 'section' attribute is not valid for this target: mach-o 
> section specifier requires a segment and section separated by a comma 
> __attribute__((__section__("zfs_tunables"))) 
> ^ 
> 1 error generated. 
> --- tunables.o --- 
> *** [tunables.o] Error code 1


Mach-O and ELF are very different formats when it comes to how to do
linker sets. There is an implementation for macOS that I wrote in
tools/build/cross-build/include/mac/sys/linker_set.h if you really need
it, but I doubt that all these tunables are actually needed when
bootstrapping and could instead be stubbed out or completely removed.

It would also be nice if, going forwards, you could test cross-building
before landing OpenZFS merges as they have a history of breaking.
Creating a test PR in GitHub is all that it takes.

Jessica


Reply via email to