Hi James!
On Wed, Jan 29, 2025 at 01:43:31AM +0000, James Addison wrote:
> Dear Maintainer, Dmitry,
>
> This is conjecture, but I wondered whether an adjustment to the meson linkage
> options for libgallium_dri[1] around the same time (not contained in the same
> commit, but chronologically nearby) could be relevant. In particular, libdri
> moved into link_whole, although libswdri did not.
I tried moving libswdri to link_whole as well, but it did not change anything
unfortunately. And reverting 212d57f7e6701a4f307c2c049a0e3eccfce58965 is not
possible, because there are conflicts in all three files.
In other news, I tried to use different linkers and linker options. With all
linkers, it crashes, but in a bit different ways:
- bfd (default): jump happens to stderr().
- gold: jump happens to some incorrect place in libgallium-24.3.4.so:
https://paste.debian.net/1347044/
https://paste.debian.net/1347045/
- lld: jump happens to 0x0.
- bfd with -Wl,-z,now: *** stack smashing detected *** but in the same
location, when attempting to do driSwapBuffers(pdraw->dri_drawable).
Also I tried a different compiler (clang), and did not notice any difference
compared to gcc.
In case someone else wants to take a look at this, here is how I test it:
1. Clone upstream repo and enter the directory:
$ git clone --depth 1 https://gitlab.freedesktop.org/mesa/mesa.git -b 24.3
$ cd mesa
2. Configure mesa (see [1] on details how to pass a different compiler or options):
$ meson setup build
3. Build mesa (pass -v to see full command lines):
$ ninja -C build
4. Install mesa locally:
$ meson install -C build --destdir=~/mesa-install
5. Get qtlocation package source:
$ cd ~
$ dget -ux https://deb.debian.org/debian/pool/main/q/qtlocation-opensource-src/qtlocation-opensource-src_5.15.15+dfsg-3.dsc
6. Run the build until it fails:
$ cd qtlocation-opensource-src-5.15.15+dfsg
$ dpkg-buildpackage -jauto
7. Enter the test directory:
$ cd tests/auto/declarative_ui
8. Set LD_LIBRARY_PATH environment variable:
$ export LD_LIBRARY_PATH=~/qtlocation-opensource-src-5.15.15+dfsg/lib:~/mesa-install/usr/local/lib/powerpc64le-linux-gnu
9. Enter Xvfb environment:
$ xvfb-run -a -s "-screen 0 1024x768x24 +extension RANDR +extension RENDER +extension GLX" bash
10. Run the test:
$ ./tst_declarative_ui -import ~/qtlocation-opensource-src-5.15.15+dfsg/qml
Steps 5 and 6 can be done once, no need to repeat them between tests.
[1]: https://docs.mesa3d.org/meson.html#compiler-options
--
Dmitry Shachnev
Attachment:
signature.asc
Description: PGP signature