From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.anongoth.pl (mail.anongoth.pl [46.248.190.61]) by sourceware.org (Postfix) with ESMTPS id 0C1E23887008 for ; Mon, 14 Dec 2020 15:35:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org 0C1E23887008 Received: from anongoth.pl (unknown [192.168.1.15]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) (Authenticated sender: pkubaj@anongoth.pl) by mail.anongoth.pl (Postfix) with ESMTPSA id 56D02A6EE5; Mon, 14 Dec 2020 16:35:39 +0100 (CET) Date: Mon, 14 Dec 2020 16:35:38 +0100 From: Piotr Kubaj To: gcc-patches@gcc.gnu.org, David Edelsohn , Segher Boessenkool , Andreas Tobler Subject: rs6000: add support for powerpc64le-unknown-freebsd Message-ID: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="dwNcU1VaXPk4x9HU" Content-Disposition: inline X-Spam-Status: No, score=-2.3 required=5.0 tests=BAYES_00, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: gcc-patches@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 14 Dec 2020 15:35:46 -0000 --dwNcU1VaXPk4x9HU Content-Type: multipart/mixed; boundary="TDfFlcmCc9tVjf+3" Content-Disposition: inline --TDfFlcmCc9tVjf+3 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Hello, this patch implements support for powerpc64le architecture on FreeBSD. Since we don't have powerpcle (32-bit), I did not add support for powerpcle here. This remains to be changed if there is powerpcle support in the future. Patch implements similar endian detection to what linux64.h uses. Would it be ok to backport it to at least GCC 10? gcc/Changelog: 2020-12-14 Piotr Kubaj * config.gcc: add support for powerpc64le-unknown-freebsd --TDfFlcmCc9tVjf+3 Content-Type: text/x-diff; charset=utf-8 Content-Disposition: attachment; filename="gcc-powerpc64le-freebsd.patch" Content-Transfer-Encoding: quoted-printable --- gcc/config.gcc.orig 2020-12-07 03:00:29 UTC +++ gcc/config.gcc @@ -2868,6 +2868,10 @@ powerpc*-*-freebsd*) extra_options=3D"${extra_options} rs6000/sysv4.opt" tmake_file=3D"rs6000/t-fprules rs6000/t-ppcos ${tmake_file} rs6000/t-ppcc= omm" case ${target} in + powerpc*le-*-*) + tm_file=3D"${tm_file} rs6000/sysv4le.h" ;; + esac + case ${target} in powerpc64*) tm_file=3D"${tm_file} rs6000/default64.h rs6000/freebsd64.h" tmake_file=3D"${tmake_file} rs6000/t-freebsd64" --- gcc/config/rs6000/freebsd64.h.orig 2020-07-23 06:35:17 UTC +++ gcc/config/rs6000/freebsd64.h @@ -158,8 +157,8 @@ extern int dot_symbols; #define ASM_SPEC64 "-a64" =20 #define ASM_SPEC_COMMON "%(asm_cpu) \ -%{,assembler|,assembler-with-cpp: %{mregnames} %{mno-regnames}} \ -%{mlittle} %{mlittle-endian} %{mbig} %{mbig-endian}" +%{,assembler|,assembler-with-cpp: %{mregnames} %{mno-regnames}}" \ + ENDIAN_SELECT(" -mbig", " -mlittle", DEFAULT_ASM_ENDIAN) =20 #undef SUBSUBTARGET_EXTRA_SPECS #define SUBSUBTARGET_EXTRA_SPECS \ @@ -181,9 +180,15 @@ extern int dot_symbols; %{static:-Bstatic}} \ %{symbolic:-Bsymbolic}" =20 +#undef DEFAULT_ASM_ENDIAN #define LINK_OS_FREEBSD_SPEC32 "-melf32ppc_fbsd " LINK_OS_FREEBSD_SPEC_DEF - =20 +#if (TARGET_DEFAULT & MASK_LITTLE_ENDIAN) +#define DEFAULT_ASM_ENDIAN " -mlittle" +#define LINK_OS_FREEBSD_SPEC64 "-melf64lppc_fbsd " LINK_OS_FREEBSD_SPEC_DEF +#else +#define DEFAULT_ASM_ENDIAN " -mbig" #define LINK_OS_FREEBSD_SPEC64 "-melf64ppc_fbsd " LINK_OS_FREEBSD_SPEC_DEF +#endif =20 #undef MULTILIB_DEFAULTS #define MULTILIB_DEFAULTS { "m64" } --- gcc/configure.ac.orig 2020-12-14 15:22:23 UTC +++ gcc/configure.ac @@ -5874,6 +5874,8 @@ case "$target:$tm_file" in *-*-linux*) emul_name=3D"-melf64ppc" ;; + *le-*-freebsd*) + emul_name=3D"-melf64lppc_fbsd" *-*-freebsd*) emul_name=3D"-melf64ppc_fbsd" ;; --TDfFlcmCc9tVjf+3-- --dwNcU1VaXPk4x9HU Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEycyIeNkkgohzsoorelmbhSCDnJ0FAl/XhkoACgkQelmbhSCD nJ2nXw/+NNlFdrPY35WKhD4xeF5kd2PnG9I72KQI13tkbDTWmZnIM5OFivOVZ1+r 4dKB9SWrKWOMcdnyCpcEk+mdYBl4z2ko4SFU40WtZ98/7vKMCY+NRRoZl/hXmU7p rTwgM5u7dRXiKdshIKwhEqPZHU7CVkUAB0Bxe+Jn1ZCbW3E67guyt9///PGloGGy /KaKUVvBHA0pLmQgbPV+j0+sMaz6YfVtSkAIwgKoQ/qmlw9Zyi1GsErjLknP3J5v NM+vGH2v40D/3gKpu7lrF5HmDM7df3+x+LqLCUncG2K2Q9HgI3S5wQZd+J0+Wwwr Le1d7ucripsM/UUvXRqYC+gO2Y5m/U2LgE7tqQrXt1KnhENwl3EmwlRoztKOfv7s atk1CF6/Ff2S6/6PpvAWDSUDt1uz/UifRIKSVZqIisSZhpskkwBqR/tMp8jJtVuv q9YQMgn1jLsQtQ+BVLBk4H8QrLtC7jdK7PYy4CLY+ssq1kVVutO88wgYaVMFp3jD fyxPi5WkA5zYFEaG+GHsvG4T6R9UPVk3wXiFuGXO8x/3aS9R09d4RXgtcRHfSsoZ e1XoUk0157Ci+pLYKEF3yvaVdFCYtl6Jr9wYG2EqI6wTAyYdG2cgFI2ZoWJUg1vC bbqzAtOwHnOLSVaY+R7J4zLzJazFVI/jAjpYsZHPGJSl6wIB7Us= =CxTo -----END PGP SIGNATURE----- --dwNcU1VaXPk4x9HU--