[master] 777e03ba9 Disable strict aliasing with gcc where vtree.h is used

Nils Goroll nils.goroll at uplex.de
Tue Mar 30 14:55:24 UTC 2021


late response to an email which I had overlooked:

On 24/03/2021 18:46, Dridi Boukelmoune wrote:
>>     (*(uintptr_t *)&(parent)->entry.rbe_parent) &= ~((uintptr_t)3);
> Is culprit code part of generated vtree.h functions? Or macros that we
> may call directly?

Yes, this is some of the problematic code that the VRBT macros expand to.

>>     https://www.gnu.org/software/automake/manual/html_node/Per_002dObject-Flags.html
> If this is only in generated functions, we may be able to annotate
> them with some kind of v_no_strict_aliasing_ attribute.

Good idea, we could try __attribute__ ((__may_alias__))

https://gcc.gnu.org/onlinedocs/gcc/Common-Type-Attributes.html#Common-Type-Attributes

I have not looked at how invasive this would be.

Nils
-- 

** * * UPLEX - Nils Goroll Systemoptimierung

Scheffelstraße 32
22301 Hamburg

tel +49 40 28805731
mob +49 170 2723133
fax +49 40 42949753

xmpp://slink@jabber.int.uplex.de/

http://uplex.de/

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <https://www.varnish-cache.org/lists/pipermail/varnish-commit/attachments/20210330/86e0ba86/attachment.bin>


More information about the varnish-commit mailing list