The list of objects used to link pg_xlogdump is coming from $(wildcard *desc.c) which returns them in filesystem order. This makes the build result depend on this ordering, yielding different compilation results.
This patch fixes the reproducibility issue: --- a/src/bin/pg_xlogdump/Makefile +++ b/src/bin/pg_xlogdump/Makefile @@ -12,7 +12,7 @@ OBJS = pg_xlogdump.o compat.o xlogreader override CPPFLAGS := -DFRONTEND $(CPPFLAGS) -RMGRDESCSOURCES = $(notdir $(wildcard $(top_srcdir)/src/backend/access/rmgrdesc/*desc.c)) +RMGRDESCSOURCES = $(sort $(notdir $(wildcard $(top_srcdir)/src/backend/access/rmgrdesc/*desc.c))) RMGRDESCOBJS = $(patsubst %.c,%.o,$(RMGRDESCSOURCES)) Spotted by Debian's reproducible builds project: https://wiki.debian.org/ReproducibleBuilds https://reproducible-builds.org/ Christoph -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers