Control: notfixed -1 mesa/24.3.4-2
Control: found -1 mesa/24.3.4-2

On Mon, Jan 13, 2025 at 12:54:54AM +0300, Dmitry Shachnev wrote:
> This issues is present in 24.3.0~rc1-1 and 24.3.3-1 uploads, but not present
> in 24.2.8-1. I was not able to bisect it further yet, first because lack of
> time and second because there are some packaging differences between 24.2 and
> 24.3 uploads.

Unfortunately, 24.3.4-2 does not fix this: qtlocation-opensource-src and
gst-plugins-base1.0 still FTBFS against the new version.

GCC 12 with -O1 worked for me on a porter box, but my build flags were a bit
different from ones used in a Debian build, as I cloned the upstream git
repository and built from there using a command like this:

  CC=gcc-12 CXX=g++-12 meson setup build -Dbuildtype=plain -Dc_args="-O1 -g" 
-Dcpp_args="-O1 -g"

Since this bug was filed, I managed to bisect it and discover that it was
broken in this upstream commit:

https://gitlab.freedesktop.org/mesa/mesa/-/commit/66e0d1262754edb6

In particular, this change seems to be relevant:

  @@ -769,7 +765,7 @@ driswSwapBuffers(__GLXDRIdrawable * pdraw,
      if (psc->kopper)
          return psc->kopper->swapBuffers (pdp->driDrawable, 0);

  -   psc->core->swapBuffers(pdp->driDrawable);
  +   driSwapBuffers(pdp->driDrawable);

      return 0;
   }

Here the code should jump to driSwapBuffers function, but for some reason
it jumps to a different address which is reported by gdb as "stdout" or
"stderr".

It also depends on compiler flags, but in a strange way. For example, in
the command line above, if you remove the c_args part and leave only
cpp_args, it still works fine, although the related code is C and not C++.

I suspect it is a compiler or linker bug, but I still cannot say this for
sure.

--
Dmitry Shachnev

Attachment: signature.asc
Description: PGP signature

Reply via email to