re: gcc 12 question

2023-11-24 Thread matthew green
Patrick Welche writes:
> On Thu, Nov 23, 2023 at 12:31:34PM +, Robert Swindells wrote:
> > 
> > Patrick Welche  wrote:
> > > I'm trying to build a release on amd64 using
> > >
> > > HAVE_MESA_VER=21
> > > HAVE_GCC=12
> > 
> > What does pkgsrc graphics/MesaLib do if built using gcc 12?
>
> It builds OK.
>
> Given
>
> https://gcc.gnu.org/bugzilla//show_bug.cgi?id=109716
>
> my guess is that the pkgsrc package doesn't treat warnings as errors.
> (-Werror=stringop-overread)

this looks wrong to me (the warning, as you pointed out in your
original mail, the code appears fine), and the right workaround
is to use ${CC_WNO_STRINGOP_OVERREAD} to avoid it.

thanks.


.mrg.


Re: gcc 12 question

2023-11-24 Thread Patrick Welche
On Thu, Nov 23, 2023 at 12:31:34PM +, Robert Swindells wrote:
> 
> Patrick Welche  wrote:
> > I'm trying to build a release on amd64 using
> >
> > HAVE_MESA_VER=21
> > HAVE_GCC=12
> 
> What does pkgsrc graphics/MesaLib do if built using gcc 12?

It builds OK.

Given

https://gcc.gnu.org/bugzilla//show_bug.cgi?id=109716

my guess is that the pkgsrc package doesn't treat warnings as errors.
(-Werror=stringop-overread)


Cheers,

Patrick


Re: gcc 12 question

2023-11-24 Thread Patrick Welche
On Thu, Nov 23, 2023 at 09:22:11AM +, Patrick Welche wrote:
> I'm trying to build a release on amd64 using
> 
> HAVE_MESA_VER=21
> HAVE_GCC=12
> 
> and get the following build error which I am puzzled by:
> 
> inlined from 'r300_merge_textures_and_samplers' at 
> /usr/xsrc/external/mit/MesaLib/dist/src/gallium/drivers/r300/r300_state_derived.c:823:17,
> inlined from 'r300_update_derived_state' at 
> /usr/xsrc/external/mit/MesaLib/dist/src/gallium/drivers/r300/r300_state_derived.c:1064:9:
> /usr/xsrc/external/mit/MesaLib/dist/src/gallium/drivers/r300/r300_state_derived.c:676:5:
>  error: 'util_format_unswizzle_4f' reading 4 bytes from a region of size 0 
> [-Werror=stringop-overread]
>   676 | util_format_unswizzle_4f(border_swizzled, border, desc->swizzle);
>   | ^~~~
> /usr/xsrc/external/mit/MesaLib/dist/src/gallium/drivers/r300/r300_state_derived.c:676:5:
>  note: referencing argument 3 of type 'const unsigned char[4]'
> In file included from 
> /usr/xsrc/external/mit/MesaLib/dist/src/gallium/auxiliary/util/u_pack_color.h:40,
>  from 
> /usr/xsrc/external/mit/MesaLib/dist/src/gallium/drivers/r300/r300_state_derived.c:28:
> /usr/xsrc/external/mit/MesaLib/dist/src/util/format/u_format.h: In function 
> 'r300_update_derived_state':
> /usr/xsrc/external/mit/MesaLib/dist/src/util/format/u_format.h:1671:6: note: 
> in a call to function 'util_format_unswizzle_4f'
>  1671 | void util_format_unswizzle_4f(float *dst, const float *src,
>   |  ^~~~
> 
> 
> desc is a const struct util_format_description *
> 
> util/format/u_format.h:226 defines the swizzle member of
> util_format_description as:
> 
> unsigned char swizzle[4];
> 
> and the truncated quote of util/format/u_format.h:1671 is
> 
> void util_format_unswizzle_4f(float *dst, const float *src,
>   const unsigned char swz[4]);
> 
> so all is consistent.
> 
> error: 'util_format_unswizzle_4f' reading 4 bytes from a region of size 0 
> [-Werror=stringop-overread]
> 
> Assuming "a region" is the 3rd argument, then how can the size of an
> unsigned char[4] be zero?
> 
> Puzzled...

Seems others were puzzled too:

https://gcc.gnu.org/bugzilla//show_bug.cgi?id=109716


Cheers,

Patrick


Re: gcc 12 question

2023-11-23 Thread Robert Swindells


Patrick Welche  wrote:
> I'm trying to build a release on amd64 using
>
> HAVE_MESA_VER=21
> HAVE_GCC=12

What does pkgsrc graphics/MesaLib do if built using gcc 12?