On Tue, Jan 24, 2017 at 01:12:23 +0000, James Clarke wrote: > Hi, > I've been debugging an issue in gtk2-perl causing it to SIGBUS on > sparc64, and traced it back to what seems to be dodgy code inside > libx11. One of the tests calls gdk_window_set_opacity, which calls > XChangeProperty with a pointer to a guint32, cast to char*, with the > length set to 32 bits as expected. However, this data pointer then gets > cast to a (long *) on line 83 of ChProp.c when calling Data32. Indeed, > the definition of Data32 specifies that data is a (long *) on sparc64, > since LONG64 is defined. This feels very wrong, but in and of itself is > not too bad (I believe it violates strict aliasing). > As discussed on irc this sounds like a gtk bug, fixed by https://git.gnome.org/browse/gtk+/commit/?id=0e1a424829937abc27780da97a8bf60e81233d6c for gtk 3.
Cheers, Julien