LLVM/project 18c1cbcllvm/lib/ObjCopy/MachO MachOLayoutBuilder.cpp MachOWriter.cpp, llvm/test/tools/llvm-objcopy/MachO linkedit-alignment.test symbol-table.test

[llvm-objcopy][MachO] Align __LINKEDIT entries to pointer size (#203680)

Align Mach-O __LINKEDIT entries to the target pointer size when building
the tail layout. This matches the behavior of ld64 and lld-macho.

dyld on macOS 27 rejects loading dylibs with misaligned __LINKEDIT
entries.

See #203678 for details and the motivation of this fix.

AI Tool Use Disclosure:

Regarding the PR and the linked issue, I have personally wrote every
single part of the PR by myself, and have/ran/verified every single part
of the issue report as well without any AI tool usage.

I have used LLM-based coding agents only for debugging purposes, e.g. to
figure out why the dylib was not loading (from the original bug report),
and figuring out how to build, run, and test my local `llvm-objcopy`.
DeltaFile
+366-0llvm/test/tools/llvm-objcopy/MachO/linkedit-alignment.test
+51-34llvm/lib/ObjCopy/MachO/MachOLayoutBuilder.cpp
+30-12llvm/lib/ObjCopy/MachO/MachOWriter.cpp
+2-2llvm/test/tools/llvm-objcopy/MachO/symbol-table.test
+2-1llvm/test/tools/llvm-objcopy/MachO/linkedit-order-2.test
+2-1llvm/test/tools/llvm-objcopy/MachO/linkedit-order-1.test
+453-506 files

FreeBSD/ports 6ee8361misc/crush distinfo Makefile

misc/crush: Update to 0.79.1

Changelog:
- https://github.com/charmbracelet/crush/releases/tag/v0.78.0
- https://github.com/charmbracelet/crush/releases/tag/v0.79.0
- https://github.com/charmbracelet/crush/releases/tag/v0.79.1

Reported by:    GitHub (watch releases)
DeltaFile
+5-5misc/crush/distinfo
+1-1misc/crush/Makefile
+6-62 files

FreeBSD/ports 046d170devel/py-deepdiff Makefile

devel/py-deepdiff: Fix build

Reported by:    fallout
DeltaFile
+1-1devel/py-deepdiff/Makefile
+1-11 files

FreeBSD/ports 125039ddevel/py-pytest-rerunfailures distinfo Makefile

devel/py-pytest-rerunfailures: Update version 12.0=>13.0

Changelog: https://github.com/pytest-dev/pytest-rerunfailures/releases/tag/13.0
DeltaFile
+3-3devel/py-pytest-rerunfailures/distinfo
+2-2devel/py-pytest-rerunfailures/Makefile
+5-52 files

FreeBSD/ports 0324abfdevel/py-pytest-localserver distinfo Makefile

devel/py-pytest-localserver: Update version 0.9.0=>0.10.0

Changelog: https://github.com/pytest-dev/pytest-localserver/releases/tag/v0.10.0
DeltaFile
+3-3devel/py-pytest-localserver/distinfo
+1-1devel/py-pytest-localserver/Makefile
+4-42 files

FreeBSD/ports 1062595devel/py-pytest-randomly distinfo Makefile

devel/py-pytest-randomly: Update version 3.13.0=>3.14.0

Changelog: https://github.com/pytest-dev/pytest-randomly/releases/tag/3.14.0
DeltaFile
+3-3devel/py-pytest-randomly/distinfo
+1-1devel/py-pytest-randomly/Makefile
+4-42 files

FreeBSD/ports 0fe3923devel/py-repoze.who distinfo Makefile

devel/py-repoze.who: Update version 2.4.1=>3.0.0

Changelog: https://github.com/repoze/repoze.who/releases/tag/3.0.0
DeltaFile
+3-3devel/py-repoze.who/distinfo
+1-1devel/py-repoze.who/Makefile
+4-42 files

FreeBSD/ports 392497ffinance/py-stripe distinfo Makefile

finance/py-stripe: Update version 4.0.2=>4.1.0

Changelog: https://github.com/stripe/stripe-python/releases/tag/v4.1.0
DeltaFile
+3-3finance/py-stripe/distinfo
+1-1finance/py-stripe/Makefile
+4-42 files

FreeBSD/ports 0bba819sysutils/consul distinfo Makefile

sysutils/consul: Update version 2.0.0=>2.0.1

Changelog: https://github.com/hashicorp/consul/releases/tag/v2.0.1
DeltaFile
+15-15sysutils/consul/distinfo
+2-3sysutils/consul/Makefile
+17-182 files

FreeBSD/ports d308321textproc/asciinema distinfo Makefile.crates

textproc/asciinema: Update version 3.2.0=>3.2.1

Changelog: https://github.com/asciinema/asciinema/releases/tag/v3.2.1
DeltaFile
+11-11textproc/asciinema/distinfo
+4-4textproc/asciinema/Makefile.crates
+1-2textproc/asciinema/Makefile
+16-173 files

FreeBSD/ports 20d2cdadevel/radare2 distinfo Makefile

devel/radare2: Update version 6.0.8=>6.1.0

Changelog: https://github.com/radareorg/radare2/releases/tag/6.1.0
DeltaFile
+5-3devel/radare2/distinfo
+3-2devel/radare2/Makefile
+1-1devel/radare2/pkg-plist
+9-63 files

FreeBSD/ports 475eed1dns/cascade distinfo Makefile.crates

dns/cascade: Update version d016519b3=>67bce3457

This is equivalent to BETA2

Changelog:
https://github.com/NLnetLabs/cascade/compare/v0.1.0-beta1...v0.1.0-beta2
DeltaFile
+105-101dns/cascade/distinfo
+51-49dns/cascade/Makefile.crates
+2-2dns/cascade/Makefile
+158-1523 files

FreeBSD/ports c11d67asysutils/opentofu distinfo Makefile

sysutils/opentofu: Update version 1.12.2=>1.12.3

Changelog: https://github.com/opentofu/opentofu/releases/tag/v1.12.3
DeltaFile
+5-5sysutils/opentofu/distinfo
+1-1sysutils/opentofu/Makefile
+6-62 files

FreeBSD/ports cfc6a39net/google-cloud-sdk distinfo Makefile

net/google-cloud-sdk: Update version 572.0.0=>573.0.0
DeltaFile
+3-3net/google-cloud-sdk/distinfo
+1-1net/google-cloud-sdk/Makefile
+4-42 files

FreeBSD/ports 94f06b4devel/gsoap distinfo Makefile

devel/gsoap: Update version 2.8.142=>2.8.143

- Update WWW

Changelog: https://www.genivia.com/changelog.html#latest
DeltaFile
+3-3devel/gsoap/distinfo
+2-2devel/gsoap/Makefile
+5-52 files

FreeBSD/ports 591dd78devel/py-pytest-env distinfo Makefile

devel/py-pytest-env: Update version 0.7.0=>0.8.0

Changelog: https://github.com/pytest-dev/pytest-env/releases/tag/0.8.0
DeltaFile
+3-3devel/py-pytest-env/distinfo
+1-1devel/py-pytest-env/Makefile
+4-42 files

FreeBSD/ports 0e64bbedevel/clojure-cider pkg-plist distinfo

devel/clojure-cider: Update version 1.21.0=>1.22.0

Changelog: https://github.com/clojure-emacs/cider/releases/tag/v1.22.0
DeltaFile
+7-1devel/clojure-cider/pkg-plist
+3-3devel/clojure-cider/distinfo
+1-2devel/clojure-cider/Makefile
+11-63 files

FreeBSD/ports b73db36www/py-praw Makefile distinfo, www/py-praw/files patch-pyproject.toml

www/py-praw: Update version 7.8.2=>8.0.0

Changelog: https://github.com/praw-dev/praw/releases/tag/v8.0.0
DeltaFile
+7-10www/py-praw/Makefile
+8-8www/py-praw/files/patch-pyproject.toml
+3-3www/py-praw/distinfo
+18-213 files

FreeBSD/ports 55780bcwww/py-prawcore distinfo Makefile

www/py-prawcore: Update version 3.2.1=>4.0.0

Changelog: https://github.com/praw-dev/prawcore/releases/tag/v4.0.0
DeltaFile
+3-3www/py-prawcore/distinfo
+2-3www/py-prawcore/Makefile
+5-62 files

FreeBSD/ports 73197e3devel/genie Makefile, devel/genie/files patch-build_gmake.freebsd_genie.make patch-src_host_scripts.c

devel/genie: Update version g2023092101=>g2026032500

- Unbundle lua53 [1]

PR:             296098 [1]
Reported by:    fuz [1]
DeltaFile
+258-15devel/genie/files/patch-build_gmake.freebsd_genie.make
+27-27devel/genie/files/patch-src_host_scripts.c
+19-0devel/genie/files/patch-src_host_premake.h
+5-7devel/genie/files/patch-src_host_version.h
+6-6devel/genie/files/patch-src_actions_make_make__cpp.lua
+6-3devel/genie/Makefile
+321-581 files not shown
+324-617 files

FreeBSD/ports fffcf68databases/clickhouse-devel distinfo Makefile, databases/clickhouse-devel/files patch-contrib_krb5-cmake_autoconf__freebsd.h clickhouse.in

databases/clickhouse-devel: New port

ClickHouse is an open-source column-oriented database management
system that allows generating analytical data reports in real time.

This is based on the the stable series.

WWW:    https://clickhouse.com/
DeltaFile
+767-0databases/clickhouse-devel/files/patch-contrib_krb5-cmake_autoconf__freebsd.h
+255-0databases/clickhouse-devel/distinfo
+178-0databases/clickhouse-devel/Makefile
+126-0databases/clickhouse-devel/Makefile.submodules
+65-0databases/clickhouse-devel/files/clickhouse.in
+46-0databases/clickhouse-devel/files/patch-PreLoad.cmake
+1,437-04 files not shown
+1,496-010 files

FreeBSD/ports 1c56c3adatabases/freetds-devel distinfo Makefile

databases/freetds-devel: Update version 1.5.396=>1.5.399
DeltaFile
+3-3databases/freetds-devel/distinfo
+1-1databases/freetds-devel/Makefile
+4-42 files

FreeBSD/ports 7c2c76bdatabases/clickhouse distinfo Makefile.submodules

databases/clickhouse: Update version 26.2.5.45=>26.3.1.896

- Switch to lts version

Changelog: https://github.com/ClickHouse/ClickHouse/releases/tag/v26.3.1.896-lts
DeltaFile
+33-27databases/clickhouse/distinfo
+15-12databases/clickhouse/Makefile.submodules
+4-4databases/clickhouse/Makefile
+52-433 files

LLVM/project cb85dfellvm/lib/Transforms/Vectorize VPlanUtils.cpp, llvm/test/Transforms/LoopVectorize shl-shift-amount-out-of-range-scev.ll

[VPlan] Skip shl->mul SCEV rewrite for out-of-range shift amounts. (#204921)

getSCEVExprForVPValue rewrites `shl x, c` as `x * (1 << c)` using
ScalarEvolution::getPowerOfTwo, which asserts that the power is less
than the type's bit width.

Only perform the rewrite when the shift amount is less than the
operand's bit width, to avoid assertion.
DeltaFile
+65-0llvm/test/Transforms/LoopVectorize/shl-shift-amount-out-of-range-scev.ll
+5-2llvm/lib/Transforms/Vectorize/VPlanUtils.cpp
+70-22 files

FreeBSD/src a10151fsys/dev/aq aq_fw2x.c

aq(4): take F/W statistics off the iflib core lock (kick-and-read)

The once-per-second statistics refresh ran the whole F/W-mailbox
transaction under iflib's CTX (sx) lock: fw2x_get_stats toggled the MPI
STATISTICS control bit and busy-polled the state register for the
acknowledgement (up to ~25 ms) before downloading the counters, so a slow
F/W response blocked datapath reconfigure / ioctls for the duration.

The per-cast and error counters have no direct-register source -- the
reference Linux atlantic driver and our port both read them out of the
F/W mailbox, and the MSM registers the chip exposes are never used for the
periodic counters.  So rather than poll, adopt the kick-and-read shape the
iflib peer with the same constraint uses (vmxnet3): consume the snapshot
the F/W produced for the *previous* request, then toggle the bit to
request the next one -- no wait.  The F/W finished that previous refresh
~1 s ago, so the download needs no poll, and the toggle write stays
serialized against set_mode by the CTX lock exactly as before.  This
removes the 25 ms poll (and the toggle_mpi_ctrl_and_wait_ helper) from
under the lock; only the fast 16-dword download remains.

    [10 lines not shown]
DeltaFile
+7-54sys/dev/aq/aq_fw2x.c
+7-541 files

FreeBSD/src e44579esys/dev/aq aq_fw2x.c aq_fw.c

aq(4): naming and exposure

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D57656
DeltaFile
+26-26sys/dev/aq/aq_fw2x.c
+18-22sys/dev/aq/aq_fw.c
+16-16sys/dev/aq/aq_fw1x.c
+1-1sys/dev/aq/aq_main.c
+2-0sys/dev/aq/aq_fw.h
+63-655 files

FreeBSD/src 5409e03sys/dev/aq aq_hw.c aq_main.c

aq(4): modernize and de-Linuxify the vendor driver

Dead-code removal, device_printf(9) logging, style(9) de-Linuxification,
const F/W-ops tables, and readability cleanups.  No change for valid
traffic.

Dead code and logging:
- Remove the sub-gigabit TSO-masking block in the link-state ISR: it
  cleared IFCAP_TSO from the static isc_capabilities record (read only at
  attach / SIOCSIFCAP, never on the datapath), so it never gated TSO and
  only corrupted the validation mask.  The Atlantic has no sub-gigabit TSO
  erratum.
- Tidy the RX buffer-size handling: drop the dead switch(MCLBYTES) in
  aq_if_rx_queues_alloc, rename rx_max_frame_size -> rx_buf_size, and bound
  the per-fragment length from the wb.pkt_len writeback (EBADMSG on
  underflow or a final fragment longer than the RX buffer).
- Drop every __FreeBSD__/__FreeBSD_version branch (FreeBSD 14.0 baseline);
  the pre-13 arms used pre-opaque-if_t APIs since removed and one never
  built.

    [31 lines not shown]
DeltaFile
+70-87sys/dev/aq/aq_hw.c
+19-85sys/dev/aq/aq_main.c
+39-49sys/dev/aq/aq_ring.c
+43-43sys/dev/aq/aq_hw_llh.c
+40-40sys/dev/aq/aq_fw2x.c
+28-28sys/dev/aq/aq_fw1x.c
+239-33210 files not shown
+328-45116 files

FreeBSD/src 76d0a25sys/dev/aq aq_dbg.h aq_main.c

aq(4): add a runtime dev.aq.N.debug trace control

The trace_* family (trace/trace_error/trace_warn/trace_detail, used in the
F/W and init/config paths) was gated behind the compile-time
AQ_CFG_DEBUG_LVL, which is 0, so the dbg_level_/dbg_categories_ runtime
variables were dead and tracing could only be enabled by recompiling.

Decouple trace_base_ from AQ_CFG_DEBUG_LVL so it is always compiled and
gated purely at runtime on dbg_level_/dbg_categories_, make those two
variables writable (no longer const, default level 0 = off), and expose
them as dev.aq.N.debug (verbosity) and dev.aq.N.debug_categories
(subsystem mask) sysctls.

The datapath-heavy AQ_DBG_ENTER/PRINT/DUMP macros and the trace_aq_*_descr
descriptor dumps stay behind AQ_CFG_DEBUG_LVL (still 0), so the per-packet
paths are untouched -- trace_* is only used off the datapath.  The two
variables are global (the trace macros reference them directly), so the
per-device sysctls share one backing store, which is fine for a debug
knob.

    [8 lines not shown]
DeltaFile
+3-7sys/dev/aq/aq_dbg.h
+8-0sys/dev/aq/aq_main.c
+2-2sys/dev/aq/aq_dbg.c
+13-93 files

FreeBSD/src b644083sys/dev/aq aq_main.c aq_ring.c

aq(4): enable jumbo frames, software LRO, and suspend/resume

- Configure the RX buffer size from the interface MTU and enable jumbo
  frames up to 9000 bytes, replacing the fixed standard-frame setup.

- Advertise IFCAP_LRO so iflib coalesces received TCP segments with its
  software tcp_lro(9), like every other in-tree iflib driver
  (ix/igc/em/vmxnet3); aq does no hardware LRO.  iflib builds the
  per-RX-queue LRO context unconditionally, so the capability bit is all
  that is required; enabled by default via isc_capenable, toggle at
  runtime with ifconfig.

- Add suspend/shutdown/resume handlers, replacing the unimplemented-
  function placeholders.  aq_if_shutdown/aq_if_suspend stop the interface
  and deinitialize the hardware; aq_if_resume re-resets the F/W, re-reads
  the mailbox address and re-selects fw_ops via aq_hw_mpi_create() before
  iflib re-inits, because the runtime init path (aq_hw_init) reuses the
  cached mailbox/fw_ops and a D3 power cycle can clear them.  iflib calls
  IFDI_RESUME unconditionally, so this also covers resuming while the

    [4 lines not shown]
DeltaFile
+30-19sys/dev/aq/aq_main.c
+1-1sys/dev/aq/aq_ring.c
+31-202 files

FreeBSD/src b065af1sys/dev/aq aq_main.c aq_hw.c

aq(4): interrupt model and queue-count correctness

Rework the MSI-X and queue-count handling to use the standard iflib
interrupt model and to keep every ring serviced.

- Cap isc_n{tx,rx}qsets_max at the RSS indirection-table size
  (HW_ATL_RSS_INDIRECTION_QUEUES_MAX, 8) instead of HW_ATL_B0_RINGS_MAX.
  RSS only steers RX traffic to eight rings, so on hosts with more CPUs
  the surplus TX rings never make progress: iflib flowid-steers TCP
  flows across every TX ring, and a flow landing on a surplus ring has
  its segments queued but never transmitted, hanging the connection.

- Add a TX-specific ifdi_tx_queue_intr_enable that reads
  tx_rings[txqid]->msix.  It was wired to the RX handler, which indexes
  rx_rings[] with the qid; safe only while tx_rings_count ==
  rx_rings_count, otherwise the lookup walks past rx_rings[] and feeds a
  garbage msix value into the IRQ mask register.

- Fix three MSI-X / admin-IRQ bugs: the TX softirq was attached to

    [14 lines not shown]
DeltaFile
+27-9sys/dev/aq/aq_main.c
+19-14sys/dev/aq/aq_hw.c
+7-0sys/dev/aq/aq_hw.h
+1-1sys/dev/aq/aq_irq.c
+54-244 files