Skip to content

REGRESSION: Meson Incorrectly Determines that a Response File is Unnecessary #13414

@lhearachel

Description

@lhearachel

Describe the bug

Meson seems to no longer correctly determine that a response file is necessary when using a compiler that runs under Wine. The identification routine worked as expected when building using Meson 1.4.1, but now fails in Meson 1.5.0 at the linking stage for our ELF.

The command that we use for our linking is 44_893 characters long; investigation into Wine's codebase suggests that their limit is 32_767 characters.

For further debugging under 1.5.0, I set MESON_RSP_THRESHOLD to 16387, and linking correctly identified that it should use a response file during project configuration.

To Reproduce
Our entire project source is available here. Instructions for building the project (if desired) are included in INSTALL.md.

Nothing extraordinary should be notable here other than:

  1. The number of source files incorporated into our LCF, and
  2. The fact that our compiler, linker, and assembler all have a dependency on Wine.

Expected behavior

The linker should identify that it should use a response file for a command that exceeds the supported length if running against Wine.

system parameters

  • Is this a cross build or just a plain native build (for the same computer)? Cross build.
  • what operating system (e.g. MacOS Catalina, Windows 10, CentOS 8.0, Ubuntu 18.04, etc.) Reproduced on Ubuntu 22.04 and Arch Linux
  • what Python version are you using e.g. 3.8.0 Reproduced on Python 3.8.2, 3.10.14, and 3.12.4
  • what meson --version 1.5.0
  • what ninja --version 1.12.1

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions