Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hTXSM-0003Vw-8d for buildfarm-members@arkaria.postgresql.org; Wed, 22 May 2019 20:03:22 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1hTXSK-0006j4-S0 for buildfarm-members@arkaria.postgresql.org; Wed, 22 May 2019 20:03:20 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hTXSK-0006iu-LP; Wed, 22 May 2019 20:03:20 +0000 Received: from wout1-smtp.messagingengine.com ([64.147.123.24]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hTXSI-0003kZ-Ae; Wed, 22 May 2019 20:03:20 +0000 Received: from compute5.internal (compute5.nyi.internal [10.202.2.45]) by mailout.west.internal (Postfix) with ESMTP id 090D8864; Wed, 22 May 2019 16:03:15 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute5.internal (MEProxy); Wed, 22 May 2019 16:03:16 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=anarazel.de; h= date:from:to:cc:subject:message-id:references:mime-version :content-type:in-reply-to; s=fm1; bh=y3FcVmLW0u4PlXRJ/OJ5xyRNjVO vbwAS7y7Oyhxwb5Y=; b=oCrKKqIViTOkGzjodJIQ92a5y5DkRMeNcLHYMPOpFHu eCC4SLgpd086bVzJXH/5ldidaiI3F1G0YHbkLUqcNiZTKuhJHUtM7/MAE3Gxj+T4 XR93u1Y6rftyOmCMmrc+46AkFiw17IL2d66+lywrrhiR9u4b+fdSUEMGJwC8mNpW GnKVVOX+8igYfpPvn/FS02NLUBSJRg43chYFB3iZC/9yADB5vSqMK/h9vvoPlh8l LfDWBVC8zib019oKXSZE/r2idX9ssx+Tz2zPJpaBa/GJBsqZVq5tG19i5d76A7RT 94G9Zped7laiLUm1aAQBzhct1NunzMKE7lj9tGq22gQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=y3FcVm LW0u4PlXRJ/OJ5xyRNjVOvbwAS7y7Oyhxwb5Y=; b=8VMi/qp5NNb+3YW16om+9z CRHy33LgJ3hMgqcZ9zgZEx7EiioTXVjXhgViQeAmiEp+dC8tQNaV6yrKeLn7532c 7kZf5EKXwiIS9HMiPNCwYw6RBOMtU71tPCvjoxHLOsoJME7qYQYCc12AoHfVCcs5 ge7DGrQvFA2nF3CA5bEMx9B1n07KFU/esHr1KDqTAOvISOT58dv43Hi43PBNmMDJ cP1ZUBu6frUCqEGSyDZZrQS/N9AeqscVHHhG3Asm957OD0waGtJv85uIZm4Ij0uR Srxu1+P3KZ/4T/dfE5uOmKbDMoEQbVdVhel2jY6LfqUek2lqXo9wMUzMJ7g73bwg == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduuddrudduvddgudeghecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfgh necuuegrihhlohhuthemuceftddtnecunecujfgurhepfffhvffukfhfgggtuggjsehttd ertddttddvnecuhfhrohhmpeetnhgurhgvshcuhfhrvghunhguuceorghnughrvghssegr nhgrrhgriigvlhdruggvqeenucfkphepleekrddvuddtrddugedtrddujedunecurfgrrh grmhepmhgrihhlfhhrohhmpegrnhgurhgvshesrghnrghrrgiivghlrdguvgenucevlhhu shhtvghrufhiiigvpedt X-ME-Proxy: Received: from intern.anarazel.de (c-98-210-140-171.hsd1.ca.comcast.net [98.210.140.171]) by mail.messagingengine.com (Postfix) with ESMTPA id 82D9780059; Wed, 22 May 2019 16:03:14 -0400 (EDT) Date: Wed, 22 May 2019 13:03:12 -0700 From: Andres Freund To: Tom Lane Cc: buildfarm-members@lists.postgresql.org, pgsql-hackers@lists.postgresql.org Subject: Re: FullTransactionId changes are causing portability issues Message-ID: <20190522200312.kmh6qv3jbms7dtpx@alap3.anarazel.de> References: <27054.1558533367@sss.pgh.pa.us> <6039.1558536488@sss.pgh.pa.us> <11261.1558554950@sss.pgh.pa.us> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <11261.1558554950@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk Hi, On 2019-05-22 15:55:50 -0400, Tom Lane wrote: > I wrote: > >> Our Solaris packager reports that 12beta1 is failing to build for him > >> on some Solaris variants: > >>> The link failure is: > >>> Undefined first referenced > >>> symbol in file > >>> ReadNextFullTransactionId pg_checksums.o > > > On looking closer, the fix is simple and matches what we've done > > elsewhere: transam.h needs to have "#ifndef FRONTEND" to protect > > its static inline function from being compiled into frontend code. > > > So the disturbing thing here is that we no longer have any active > > buildfarm members that can build HEAD but have the won't-elide- > > unused-static-functions problem. Clearly we'd better close that > > gap somehow ... anyone have an idea about how to test it better? I'm somewhat inclined to just declare that people using such old compilers ought to just use something newer. Having to work around broken compilers that are so old that we don't even have a buildfarm animal actually exposing that behaviour, seems like wasted effort. IMO it'd make sense to just treat this as part of the requirements for a C99 compiler. > Ah-hah --- some study of the gcc manual finds that modern versions > of gcc have > > `-fkeep-inline-functions' > In C, emit `static' functions that are declared `inline' into the > object file, even if the function has been inlined into all of its > callers. This switch does not affect functions using the `extern > inline' extension in GNU C89. In C++, emit any and all inline > functions into the object file. > > This seems to do exactly what we need to test for this problem. > I've confirmed that with it turned on, a modern platform finds > the ReadNextFullTransactionId problem with yesterday's sources, > and that everything seems green as of HEAD. > > So, we'd obviously not want to turn this on for normal builds, > but could we get a buildfarm animal or two to use this switch? I could easily add that to one of mine, if we decide to go for that. Greetings, Andres Freund