Skip to content

qemu: enable debug info#146961

Merged
Ma27 merged 2 commits intoNixOS:stagingfrom
alyssais:qemu-debug
Nov 29, 2021
Merged

qemu: enable debug info#146961
Ma27 merged 2 commits intoNixOS:stagingfrom
alyssais:qemu-debug

Conversation

@alyssais
Copy link
Member

Motivation for this change

I dropped autoPatchelfHook because it got confused with the debug objects, and I can't reproduce the pixman linker errors that caused it to be introduced in #106988 ("qemu: 5.1.0 -> 5.2.0").

Things done
  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 21.11 Release Notes (or backporting 21.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
    • (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes
  • Fits CONTRIBUTING.md.

I dropped autoPatchelfHook because it got confused with the debug
objects, and I can't reproduce the pixman linker errors that caused it
to be introduced in NixOS#106988 ("qemu: 5.1.0 -> 5.2.0").
@ofborg ofborg bot added the 10.rebuild-linux-stdenv This PR causes stdenv to rebuild on Linux and must target a staging branch. label Nov 22, 2021
@ofborg ofborg bot requested a review from edolstra November 22, 2021 05:39
@ofborg ofborg bot added 11.by: package-maintainer This PR was created by a maintainer of all the package it changes. 10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. labels Nov 22, 2021
@alyssais alyssais marked this pull request as draft November 22, 2021 18:13
@alyssais
Copy link
Member Author

Drafted because I reproduced the autoPatchelfHook issue when testing with the QEMU rc.

@alyssais
Copy link
Member Author

654d6b0453aa6eb19af0d75b0f087a97a5776da7 is the first bad commit

@alyssais
Copy link
Member Author

In Nixpkgs we only have Meson 0.57.1, so that might explain why this isn't working.

@alyssais
Copy link
Member Author

Yeah, that's because of the Meson version being too old, and QEMU using its internal version instead of our patched version. I've opened #147210 to make sure this never happens by accident, and I'll make sure we have the right version of Meson before we upgrade QEMU.

So with that all sorted out, we can go ahead with this, and we won't be at risk of rpath regressions. So this is ready for review.

@alyssais alyssais marked this pull request as ready for review November 24, 2021 17:20
@Ma27 Ma27 merged commit 8f3eb58 into NixOS:staging Nov 29, 2021
@Artturin
Copy link
Member

https://hydra.nixos.org/build/162289307
Probably caused by this pr

@vcunat
Copy link
Member

vcunat commented Dec 26, 2021

This blocks the nixos-unstable channel now.

The 2G limit is only crossed on aarch64-linux. Stats from the previous master build (successful):

$ nix path-info -s ./result ./result-ga ./result-debug
/nix/store/fjashkx22bw4zrl9phl91acw6jgn43i6-qemu-6.1.0           1068005248
/nix/store/9spayjr081j7jlvvdassypsv0a6dk3yw-qemu-6.1.0-ga            655960

and the current build:

$ nix path-info -s ./result ./result-ga ./result-debug
/nix/store/fw893ccw8rnnfg066l2b91ypd63wx58v-qemu-6.1.0           1122797000
/nix/store/051rn39nhw9ayqh7sfx8yavysfmb113r-qemu-6.1.0-ga            776864
/nix/store/cq8cj8jd3x96kyhy2gq9f6r7xrss4yf3-qemu-6.1.0-debug     1114494472

@vcunat
Copy link
Member

vcunat commented Dec 26, 2021

Well, x86_64-linux got to 96% of the limit, so that perhaps also isn't safe over long term.

$ nix path-info -s ./result*
/nix/store/45j5s96ivk8k4d61cayr0hla67s7bi7i-qemu-6.1.0-ga            762520
/nix/store/h6381cwzaw6fs9dzv9bgz0mgjnxk3vfx-qemu-6.1.0           1132452408
/nix/store/lyvqx84m4w02q3p2qxi3vh4c70dybi8a-qemu-6.1.0-debug      924265248

@vcunat
Copy link
Member

vcunat commented Dec 26, 2021

Quick workaround: #152218

@alyssais alyssais deleted the qemu-debug branch June 9, 2024 11:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

10.rebuild-darwin: 11-100 This PR causes between 11 and 100 packages to rebuild on Darwin. 10.rebuild-linux: 501+ This PR causes many rebuilds on Linux and should normally target the staging branches. 10.rebuild-linux: 5001+ This PR causes many rebuilds on Linux and must target the staging branches. 10.rebuild-linux-stdenv This PR causes stdenv to rebuild on Linux and must target a staging branch. 11.by: package-maintainer This PR was created by a maintainer of all the package it changes.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants