Re: pg_verify_checksums and -fno-strict-aliasing
Michael Paquier <michael@paquier.xyz>
From: Michael Paquier <michael@paquier.xyz>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Fabien COELHO <coelho@cri.ensmp.fr>, Michael Banck <michael.banck@credativ.de>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2018-08-31T00:06:00Z
Lists: pgsql-hackers
On Thu, Aug 30, 2018 at 07:37:37PM -0400, Tom Lane wrote: > Some of these are safe, I think, because the buffers are only used as > targets for read() and write(). But some are definitely broken. Yes, I have not spent more than a couple of minutes on this issue. I noticed some of them easily though. > My own list of files that seem to have issues is > > blinsert.c > generic_xlog.c > ginentrypage.c > hashpage.c > pg_verify_checksums.c > pg_waldump.c > xloginsert.c > > The fact that some of these are pretty old and we've not noticed is > not good. It suggests that we don't currently have any compilers in the > buildfarm that under-align char[] arrays on the stack, which seems like > a gotcha waiting to bite us. I wonder if there is any way to persuade > some compiler on a non-Intel box to do that. Agreed, that's annoying. > Anyway, I'll work on a patch for that, unless you were on it already? I have begun working on that and am less than halfway through it as I needed a fresh problem, however I am not sure I would be able to finish it today, perhaps tomorrow... If you have time and want to press on as 11 would release soon, of course feel free to wrap up more quickly than I can. -- Michael
Commits
-
Avoid using potentially-under-aligned page buffers.
- 44cac9346479 12.0 landed
- 5af055ed7446 9.3.25 landed
- f5c93cf92223 11.0 landed
- 826980424538 9.6.11 landed
- 10b9af3ebbed 10.6 landed
- 083d9ced14e4 9.4.20 landed
- 03ffe5553c1d 9.5.15 landed
-
Code review for pg_verify_checksums.c.
- d787af7badfe 11.0 landed
- d9c366f9e801 12.0 landed
-
Make checksum_impl.h safe to compile with -fstrict-aliasing.
- db87d3b5253f 9.3.25 landed
- 20f9cd55dd53 9.4.20 landed
- 853af991e35a 9.5.15 landed
- d6ef17ed7bba 9.6.11 landed
- c2dfbd18ce25 10.6 landed
- 9daff2fe69dc 11.0 landed
- 8c62d9d16f01 12.0 landed