From owner-freebsd-toolchain@freebsd.org Wed Feb 19 02:55:33 2020 Return-Path: Delivered-To: freebsd-toolchain@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 6E2CE24D05D for ; Wed, 19 Feb 2020 02:55:33 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic303-23.consmr.mail.gq1.yahoo.com (sonic303-23.consmr.mail.gq1.yahoo.com [98.137.64.204]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 48Mj5H3qfXz3CR3 for ; Wed, 19 Feb 2020 02:55:31 +0000 (UTC) (envelope-from marklmi@yahoo.com) X-YMail-OSG: bxJJ0fUVM1mckpYx.UtQraS.a7BqCxQrs0mP4D868uc0WLB1BCa2L9.kwK5.oi6 jh42xskMbJxNbSlfnMTPWaame.sTrfjtokeduhiykfaDqgix3iW30yorBBphfxLETBRzkxuTxlCl TG6gUFfg6wH.s9Sj3e_rQP_bdUURcB.N9enFN9Z93YWbaZAjDOV.piyhilVqE4EvH_wiJfk_jFCX oWR5VnZqyjdVeAmFdhtTnsbjJfxXCyq_eUJu10b84f0SJNKHiCHopHa67Y7.pDS0gYCxR3M4uSJe 6kLECRNkCe.LSQFf4.pIAnUqg8EsqPXY0QnsmhtieZB2aoiCBuPBCkQosNF33gbxjk4FWJuCejgL pvlhwWYQQ2Np4gD8tAdEWSIBbhaeiikTV_C59TivncL571i6URPubU7yMEWGdYRS6zJ62Zo4bbQq Y2DDpBZsEkMjBJ3kLfAIlqmvOhcaIp02eea5ocbudLu01xvSMDenjzJqo0KY4UiCnTRNgRHsmfsn WD4yt2wbDaDlTXH4AZ2hrCAIJPVncfIxRffkfT.1oIhstDFwHknNRM2WUEmhXK2zzYTKKTx31hEn E9KV9c0cB4s3PryZtZedM.673W2GrnCXPK4DiGJi68GtubBiF5So6gVu42Wv85aKHzX_BAB1RSdW MFWCyZJc0dcCKPKdsXAJ6bLd4Gq7SuM8j45AbLsNE0r89oF2QBBtyX2CuoDPRENb9Ag6ndFbBhmn CFgqXB3RA7H7xEIa5O7YEtt71_n_PqHjnSlQHDdm1PN234_WAhVrPore4b.anE0VOVmTv4cMGsI. 7Zi2Gib3lZOqJssnaw8jHUUlQgbCJ3Ma2bjq6vjvDHpr7kUcL8V9bNtBFbBQZqqG6X_PUfY7hKm3 WcP8oBNqGH4_MrpGEusy6IZeC1ceY.JPpjKck_4zCmQxeethWMZ3wt6gnwBgFufthMaHA3s9py6j LwOMoC143EXdVkQx5npU9wQoRD4PDZqZU4sG8CzMyWTeTQ_FcR441FVq54J0c3q3RbcUn7sy8FJJ C6d0W2E2Q4fNkhos3cGa.dJvWc7bmRVWvKDoE00_a2Tij_LQWq0p4RIqAvfBWv9BgHQXs1pxC_2A V1USGnqFV1UMdagwULjpxfWPa6kjExZE7f3Hujd1.GIESDYRtThTTJyTW_ULo_b_bz1Zj18A47Lv SXtPh6_7I4kQK2.0nka9z1ggiZdfAd100ahmXYu_qn75ndE_xw.q3s6ccD_5V1i3R3AdDt9fpgdW aS27CiA_p6_fA.OGEQqKP17a9RVXT.u0YZIcsJxKqG4VfvrPpymsDkh9eJZ3SkDtVAISX8pOHzFG MydPad3sdL6mr50htYO9FgXag5ayLhzD3W3rF3HPXfwwygck4FuwBdX511ainUIASpxeM51uK_tq OIVvoBBX3nbPaFxYTC0wMMWJYmmp.KokL Received: from sonic.gate.mail.ne1.yahoo.com by sonic303.consmr.mail.gq1.yahoo.com with HTTP; Wed, 19 Feb 2020 02:55:29 +0000 Received: by smtp415.mail.bf1.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID b83e90a98f827755a8f2e43a3600eda0; Wed, 19 Feb 2020 02:55:27 +0000 (UTC) From: Mark Millard Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Mime-Version: 1.0 (Mac OS X Mail 13.0 \(3608.60.0.2.5\)) Subject: powerpc64 clang 9 ABI vs. gcc ABI and clang V10 and FreeBSD 13: -msvr4-struct-return by default for clang in order to match gcc/g++? Message-Id: <67E6AB2C-68FF-4E1A-B3A6-4DFC4DAD049A@yahoo.com> Date: Tue, 18 Feb 2020 18:55:26 -0800 Cc: FreeBSD PowerPC ML To: FreeBSD Toolchain X-Mailer: Apple Mail (2.3608.60.0.2.5) References: <67E6AB2C-68FF-4E1A-B3A6-4DFC4DAD049A.ref@yahoo.com> X-Rspamd-Queue-Id: 48Mj5H3qfXz3CR3 X-Spamd-Bar: / X-Spamd-Result: default: False [-0.87 / 15.00]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; FREEMAIL_FROM(0.00)[yahoo.com]; MV_CASE(0.50)[]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+]; SUBJECT_ENDS_QUESTION(1.00)[]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; ASN(0.00)[asn:36647, ipnet:98.137.64.0/21, country:US]; MID_RHS_MATCH_FROM(0.00)[]; DWL_DNSWL_NONE(0.00)[yahoo.com.dwl.dnswl.org : 127.0.5.0]; ARC_NA(0.00)[]; NEURAL_HAM_MEDIUM(-0.38)[-0.385,0]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; FROM_HAS_DN(0.00)[]; NEURAL_HAM_LONG(-0.98)[-0.983,0]; MIME_GOOD(-0.10)[text/plain]; IP_SCORE(0.00)[ip: (1.25), ipnet: 98.137.64.0/21(0.83), asn: 36647(0.66), country: US(-0.05)]; IP_SCORE_FREEMAIL(0.00)[]; TO_MATCH_ENVRCPT_SOME(0.00)[]; RCVD_IN_DNSWL_NONE(0.00)[204.64.137.98.list.dnswl.org : 127.0.5.0]; RCVD_TLS_LAST(0.00)[]; RCVD_COUNT_TWO(0.00)[2] X-BeenThere: freebsd-toolchain@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Maintenance of FreeBSD's integrated toolchain List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 19 Feb 2020 02:55:33 -0000 There is a review on llvm.org for having clang match the gcc/g++ ABI used for powerpc64 FreeBSD for what is now a known mismatch (at least for clang 9 as it is for ELFv2): https://reviews.llvm.org/D73290 In essence, clang 9 is using -maix-struct-return (stack space and a pointer to it) which does not match what gcc/g++ is using (registers holding the content). The register that hold the pointer in one leads to problems for the mix when used as an address with values that are not addresses. Historically FreeBSD used -msvr4-struct-return style, matching gcc/g++. Using -maix-struct-return style is new. With https://svnweb.freebsd.org/base/projects/clang1000-import/ and https://svnweb.freebsd.org/ports/head/devel/llvm10/ active, it might be appropriate to to have the change adopted and be part of 13's definition. This would, of course, lead to another incompatible powerpc64 ABI change before 13 freezes. I originally ran into this using C++'s steady-clock's now return values, leading to program crashes from the mismatched ABI's when I had g++ using the FreeBSD system headers and libraries instead of the gcc ones (so libc++ was in use, for example). === Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)