diff options
| author | Christian Krinitsin <mail@krinitsin.com> | 2025-05-30 16:52:07 +0200 |
|---|---|---|
| committer | Christian Krinitsin <mail@krinitsin.com> | 2025-05-30 16:52:17 +0200 |
| commit | 9260319e7411ff8281700a532caa436f40120ec4 (patch) | |
| tree | 2f6bfe5f3458dd49d328d3a9eb508595450adec0 /gitlab/issues/target_missing/host_missing/accel_missing/1898.toml | |
| parent | 225caa38269323af1bfc2daadff5ec8bd930747f (diff) | |
| download | emulator-bug-study-9260319e7411ff8281700a532caa436f40120ec4.tar.gz emulator-bug-study-9260319e7411ff8281700a532caa436f40120ec4.zip | |
gitlab scraper: download in toml and text format
Diffstat (limited to 'gitlab/issues/target_missing/host_missing/accel_missing/1898.toml')
| -rw-r--r-- | gitlab/issues/target_missing/host_missing/accel_missing/1898.toml | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/gitlab/issues/target_missing/host_missing/accel_missing/1898.toml b/gitlab/issues/target_missing/host_missing/accel_missing/1898.toml deleted file mode 100644 index d9f94473..00000000 --- a/gitlab/issues/target_missing/host_missing/accel_missing/1898.toml +++ /dev/null @@ -1,40 +0,0 @@ -id = 1898 -title = "Ninja makeserver support" -state = "closed" -created_at = "2023-09-21T08:01:32.084Z" -closed_at = "2024-04-11T11:08:50.838Z" -labels = ["Build System"] -url = "https://gitlab.com/qemu-project/qemu/-/issues/1898" -host-os = "Linux" -host-arch = "x86_64" -qemu-version = "8.1" -guest-os = "n/a" -guest-arch = "n/a" -description = """Building `qemu` using a patched version of `ninja`[0] to utilize `make`'s jobserver feature doesn't work when building `qemu`. Usually, when using a jobserver to control the number of jobs being built in parallel across multiple different builds (i.e. when building with `open-embedded` or `buildroot`), the `-j$(nproc)` argument is left out. In this case, the `Qemu` `Makefile` interprets the absent `-j` argument as a wish for a single process only, and adds a `-j1` argument to the `ninja` call.""" -reproduce = """1. Built/install the patched `ninja` from [0]: `export PATH=<path/to/ninja>:$PATH` -2. Start the attached [jobserver.py](/uploads/8215e8a470c97cd456d2d14e2c71c6a5/jobserver.py) script: `python jobserver.py /tmp/jobserver 4` -3. Configure `qemu`: `mkdir build; ../configure` -4. Build `qemu`: `MAKEFLAGS="--jobserver-auth=fifo:/tmp/jobserver" make` -5. Observe that only a single CPU/core is being used. - -Now, to avoid passing `-j1` to `ninja`, remove filtering of `-j` arguments from the `Makefile`: - -```patch -diff --git a/Makefile b/Makefile -index bfc4b2c8e9..d66141787e 100644 ---- a/Makefile -+++ b/Makefile -@@ -142,7 +142,6 @@ MAKE.k = $(findstring k,$(firstword $(filter-out --%,$(MAKEFLAGS)))) - MAKE.q = $(findstring q,$(firstword $(filter-out --%,$(MAKEFLAGS)))) - MAKE.nq = $(if $(word 2, $(MAKE.n) $(MAKE.q)),nq) - NINJAFLAGS = $(if $V,-v) $(if $(MAKE.n), -n) $(if $(MAKE.k), -k0) \\ -- $(filter-out -j, $(lastword -j1 $(filter -l% -j%, $(MAKEFLAGS)))) \\ - -d keepdepfile - ninja-cmd-goals = $(or $(MAKECMDGOALS), all) - ninja-cmd-goals += $(foreach g, $(MAKECMDGOALS), $(.ninja-goals.$g)) -``` - -Run the build again, and see four jobs being run in parallel: - -`make clean; MAKEFLAGS="--jobserver-auth=fifo:/tmp/jobserver" make`""" -additional = """[0] https://github.com/stefanb2/ninja/tree/topic-issue-1139-part-3-jobserver-fifo""" |