Re: Keep elog(ERROR) and ereport(ERROR) calls in the cold path
David Rowley <dgrowleyml@gmail.com>
From: David Rowley <dgrowleyml@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Peter Eisentraut <peter.eisentraut@2ndquadrant.com>,
Andres Freund <andres@anarazel.de>, PostgreSQL Developers <pgsql-hackers@lists.postgresql.org>
Date: 2020-11-24T20:48:15Z
Lists: pgsql-hackers
On Wed, 25 Nov 2020 at 04:55, Tom Lane <tgl@sss.pgh.pa.us> wrote: > > walleye's been failing since this patchset went in: > > https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=walleye&dt=2020-11-24%2000%3A25%3A31 > > ccache gcc -Wall -Wmissing-prototypes -Wpointer-arith -Wdeclaration-after-statement -Werror=vla -Wendif-labels -Wmissing-format-attribute -Wimplicit-fallthrough=3 -Wcast-function-type -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard -Wno-format-truncation -Wno-stringop-truncation -g -O2 -I../../../src/include -I./src/include/port/win32 -I/c/msys/local/include -I/c/Python35/include -I/c/OpenSSL-Win64/include -I/c/msys/local/include "-I../../../src/include/port/win32" -DWIN32_STACK_RLIMIT=4194304 -DBUILDING_DLL -c -o autovacuum.o autovacuum.c > C:\\Users\\BUILDE~1.SER\\AppData\\Local\\Temp\\cc4HR3xZ.s: Assembler messages: > C:\\Users\\BUILDE~1.SER\\AppData\\Local\\Temp\\cc4HR3xZ.s:5900: Error: .seh_savexmm offset is negative > make[3]: *** [autovacuum.o] Error 1 > > I have no idea what to make of that, but it looks more like a compiler bug > than anything else. That's about the best I could come up with too when looking at that yesterday. The message gives me the impression that it might be related to code arrangement. It does seem to be the assembler that's complaining. I wondered if #if !defined(__MINGW32__) && !defined(__MINGW64__) would be the correct fix for it... aka, just define the new pg_attribute_(hot|cold) macros to empty on MinGW. David
Commits
-
Stop gap fix for __attribute__((cold)) compiler bug in MinGW 8.1
- 687f61634475 14.0 landed
-
Tidy up definitions of pg_attribute_hot and pg_attribute_cold
- b0727ae99b70 14.0 landed
-
Fix unportable usage of __has_attribute
- 1fa22a43a56e 14.0 landed
-
Improve compiler code layout in elog/ereport ERROR calls
- 913ec71d682e 14.0 landed
-
Define pg_attribute_cold and pg_attribute_hot macros
- 697e1d02f53f 14.0 landed