Re: [PATCH v2 2/2] Avoid clang warnings on casts with stricter alignment requirements

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 18, 2017 at 03:24:41PM +0200, Christophe de Dinechin wrote:
> > 
> >> @@ -140,6 +140,41 @@ size_t spice_strnlen(const char *str, size_t max_len);
> >> 
> >> #endif
> >> 
> >> +/* Cast to a type with stricter alignment constraints (to build with clang)
> >> */
> >> +extern void spice_alignment_warning(const char *loc, void *p, unsigned sz);
> >> +extern void spice_alignment_debug(const char *loc, void *p, unsigned sz);
> >> +
> >> +static inline  void *spice_alignment_check(const char *loc,
> >> +                                           void *ptr, unsigned sz)
> >> +{
> >> +#ifndef NDEBUG
> > 
> > I like the debug idea but I think that currently NDEBUG is never defined.
> 
> I read that package maintainers often build the released version by
> doing ./configure CFLAGS=-DNDEBUG, and that it’s considered “principle
> of least surprise” to use NDEBUG rather than something
> package-specific for that purpose.
> 
> That being said, I checked our .spec file, and I don’t see NDEBUG
> being set in there. That would be the logical next step.

I only see -DNDEBUG being defined for cmake builds in rpm --showrc, and
none of my 250 spec files have a -DNDEBUG in them, so I would not expect
this to be set. I think we have SPICE_DEBUG already which might make
sense, another alternative would be to have a --enable-alignment-debug,
or something like glib (SPICE_XXX_DEBUG=alignment:foo:bar)

Christophe

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]