postgresql/src/backend
Andres Freund ae3e75abab llvmjit: Also copy parameter / return value attributes from template functions.
Previously we only copied the function attributes. That caused problems at
least on s390x: Because we didn't copy the 'zeroext' attribute for
ExecAggTransReparent()'s *IsNull parameters, expressions invoking it didn't
ensure that the upper bytes of the registers were zeroed. In the - relatively
rare - cases where not, ExecAggTransReparent() wrongly ended up in the
newValueIsNull branch due to the register not being zero. Subsequently causing
a crash.

It's quite possible that this would cause problems on other platforms, and in
other places than just ExecAggTransReparent() on s390x.

Thanks to Christoph (and the Debian project) for providing me with access to a
s390x machine, allowing me to debug this.

Reported-By: Christoph Berg
Author: Andres Freund
Discussion: https://postgr.es/m/20201015083246.kie5726xerdt3ael@alap3.anarazel.de
Backpatch: 11-, where JIT was added
2020-10-15 14:30:40 -07:00
..
access Fix GiST buffering build to work when there are included columns. 2020-10-12 18:01:34 -04:00
bootstrap Skip WAL for new relfilenodes, under wal_level=minimal. 2020-04-04 12:25:34 -07:00
catalog Update copyright year 2020-09-11 12:55:19 -03:00
commands Reword partitioning error message 2020-09-30 18:25:22 -03:00
executor Change LogicalTapeSetBlocks() to use nBlocksWritten. 2020-09-15 21:47:47 -07:00
foreign Update copyrights for 2020 2020-01-01 12:21:45 -05:00
jit llvmjit: Also copy parameter / return value attributes from template functions. 2020-10-15 14:30:40 -07:00
lib Use pg_bitutils for HyperLogLog. 2020-07-30 09:17:00 -07:00
libpq Message fixes and style improvements 2020-09-14 06:42:07 +02:00
main Add PostgreSQL home page to --help output 2020-02-28 13:12:21 +01:00
nodes Add for_each_from, to simplify loops starting from non-first list cells. 2020-09-28 20:32:53 -04:00
optimizer Build EC members for child join rels in the right memory context. 2020-10-06 11:43:53 -04:00
parser Fix optimization hazard in gram.y's makeOrderedSetArgs(), redux. 2020-10-07 18:42:02 -04:00
partitioning Clean up some code and comments in partbounds.c. 2020-09-10 18:00:01 +09:00
po Translation updates 2020-09-21 10:06:30 +02:00
port Spelling adjustments 2020-06-07 15:06:51 +02:00
postmaster Use _exit(2) for SIGQUIT during ProcessStartupPacket, too. 2020-09-10 12:06:26 -04:00
regex Dial back -Wimplicit-fallthrough to level 3 2020-05-13 15:31:14 -04:00
replication Restore replication protocol's duplicate command tags 2020-10-14 20:12:26 -03:00
rewrite Add missing invocations to object access hooks 2020-05-23 14:03:04 +09:00
snowball Update copyrights for 2020 2020-01-01 12:21:45 -05:00
statistics Run pgindent with new pg_bsd_indent version 2.1.1. 2020-05-16 11:54:51 -04:00
storage Handle EACCES errors from kevent() better. 2020-10-15 18:38:03 +13:00
tcop Fix bogus completion tag usage in walsender 2020-09-16 21:16:25 -03:00
tsearch Avoid possible dangling-pointer access in tsearch_readline_callback. 2020-09-23 11:36:13 -04:00
utils Fix memory leak when guc.c decides a setting can't be applied now. 2020-10-12 13:31:24 -04:00
.gitignore Add .gitignore entries for AIX-specific intermediate build artifacts. 2015-07-08 20:44:22 -04:00
common.mk Remove PARTIAL_LINKING build mode. 2018-03-30 17:33:04 -07:00
Makefile Update copyrights for 2020 2020-01-01 12:21:45 -05:00
nls.mk Translation updates 2020-09-14 13:14:53 +02:00