From owner-freebsd-ppc@freebsd.org Sun Jun 2 23:16:03 2019 Return-Path: Delivered-To: freebsd-ppc@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 2F8BA15C3041 for ; Sun, 2 Jun 2019 23:16:03 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic307-10.consmr.mail.ne1.yahoo.com (sonic307-10.consmr.mail.ne1.yahoo.com [66.163.190.33]) (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 2C69E84A82 for ; Sun, 2 Jun 2019 23:15:59 +0000 (UTC) (envelope-from marklmi@yahoo.com) X-YMail-OSG: geXBEjoVM1l4l4M38nBEFnIdTVwE2Nn8On8cvTLNp4idU2coif8.V39IQJRz4t7 MhtVc807ZyfMgANIP8NT2zszPEdF4BOWpF6eI7.iKJTr7QRe2lkXS4me6KxXgwCRs5MtaB..xYDV xt.cniZV_DkoC2BSCBCh4xywYJKigvDSGJd2USMZ2_Li0ecb1a8HBOqODHuWHb0Pg78NFVbJUY.Z fnvWkzqrnR8PbuENG4gkzgqHtlbyRenxDyZ6NZ2j4MWtIMz3r86eZvdbfO_d7LhPumcJngCoWyiP cwtyzBzxFdluJCg32iSAxtPG9Oc38V1zNDmdBeEmy6txFKDj95l_i9z1xcVKe_tgkn19wTR99bSF rB1H28Bdi.xrEITWywSgkzTYyrODig5YKsQjo57fEE3L6kbR_MlPtvuXGZ_JdWQL1qB1PnNfO039 pJXcMMGvCpm98QQ628zV8_786_KTSMQCm9P1XdegmvPizjFyiXeC.EZYta9H0eZYjKJ7.ZuOdlfJ RC0jvhggc_bEgJpQfOnZwlEr_RWWae64CRRWgsNPw5eRlFOt4jx3muxh7Ucp5We8jDTrbh7SgJhG hgPXxnYgB_RtIHOFacFNkUthY5NpYPe2o7.mQ3HuwepYHnNK.e05auLOH48Fvs.BCwvDAOqYzva7 hEQ45NMwe59NEFNBVEDUa8um.WMx62zB9OM3TUHoCD6jclTG13SIQBTHoT5vGZhYQHRZPMCvpy2n fpjo9SYMsMGR7LWdqgi_5aIpeojCHsDHQjE9MpI8JkotHU7Wl60FPg5yx6VLmIYBg94qKFaNHBoQ .1rRKDh7HBancQAxkTZY5AzZFiP0xSqLtXjg2aie68SSt5phP22VmNEuaIMdwQvhYdOHz9xrIxYg x8zLxMGfJa8JTLvt79v.inJg7n30BAXGkuxr1qIjO5HoUr77dXayAcTXEVzNxqC9oP8f5E79wC6o 1LFI2ZqLSROAtVRj7EOrf8uaHDKbT24Yl4_hVYgMI82IYjZkuUdXLQSDyqmebBbBdz1FeGmoimh9 pGH7UcubppPf4tnaFTDmWrm.pRCv8hFCvtN.iqNPKptafcRGRWbOBgjwJNj.Zh9GSPjIEuJsIjoy Di0oSUZjMQstweWV70WGIXaPVd6Slkc1IFsLik3urQlZMvv46ntE1lvcduOq9F3XB4.OZI_o3ANC 4Y.asD32z__4B5VxSp6aE_XPb0ycmn9a6zQ.EpTlCrKGJzFTsqc2qjykk6OcoUHePSg-- Received: from sonic.gate.mail.ne1.yahoo.com by sonic307.consmr.mail.ne1.yahoo.com with HTTP; Sun, 2 Jun 2019 23:15:53 +0000 Received: from c-67-170-167-181.hsd1.or.comcast.net (EHLO [192.168.1.115]) ([67.170.167.181]) by smtp420.mail.ne1.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID 0f81cf71b9ab7f4b252a6446a25923b0; Sun, 02 Jun 2019 23:05:45 +0000 (UTC) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\)) Subject: Re: 32-bit powerpc and powerpc64 kernel relocation types when built via system-clang-8 and devel/powerpc64-binutils: a few R_PPC*_ADDR32 mixed in with the R_PPC*_RELATIVE From: Mark Millard In-Reply-To: <51FF912A-46FD-49D7-A981-9370FFD0CE75@yahoo.com> Date: Sun, 2 Jun 2019 16:05:42 -0700 Content-Transfer-Encoding: quoted-printable Message-Id: References: <51FF912A-46FD-49D7-A981-9370FFD0CE75@yahoo.com> To: FreeBSD PowerPC ML X-Mailer: Apple Mail (2.3445.104.11) X-Rspamd-Queue-Id: 2C69E84A82 X-Spamd-Bar: ++ X-Spamd-Result: default: False [2.78 / 15.00]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MV_CASE(0.50)[]; FREEMAIL_FROM(0.00)[yahoo.com]; RCVD_COUNT_THREE(0.00)[3]; TO_DN_ALL(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; MX_GOOD(-0.01)[cached: mta6.am0.yahoodns.net]; RCPT_COUNT_TWO(0.00)[2]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; ASN(0.00)[asn:36646, ipnet:66.163.184.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)[]; R_DKIM_ALLOW(-0.20)[yahoo.com:s=s2048]; FROM_HAS_DN(0.00)[]; NEURAL_SPAM_SHORT(0.99)[0.988,0]; MIME_GOOD(-0.10)[text/plain]; IP_SCORE(1.34)[ip: (4.32), ipnet: 66.163.184.0/21(1.37), asn: 36646(1.09), country: US(-0.06)]; NEURAL_SPAM_MEDIUM(0.53)[0.532,0]; TO_MATCH_ENVRCPT_SOME(0.00)[]; NEURAL_SPAM_LONG(0.43)[0.427,0]; RCVD_IN_DNSWL_NONE(0.00)[33.190.163.66.list.dnswl.org : 127.0.5.0] X-BeenThere: freebsd-ppc@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Porting FreeBSD to the PowerPC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 02 Jun 2019 23:16:03 -0000 On 2019-Jun-2, at 13:25, Mark Millard wrote: > I'm not sure if getting a few R_PPC_ADDR32/R_PPC64_ADDR64 > in the kernel is expected or not. >=20 > This was a amd64 -> powerpc cross build from/for: >=20 > # uname -apKU > FreeBSD FBSDFSSD 13.0-CURRENT FreeBSD 13.0-CURRENT #20 r347549M: Fri = May 31 17:00:45 PDT 2019 = markmi@FBSDFSSD:/usr/obj/amd64_clang/amd64.amd64/usr/src/amd64.amd64/sys/G= ENERIC-NODBG amd64 amd64 1300025 1300025 >=20 > system clang was used for the build but devel/powerpc64-binutils was = used. >=20 > # readelf -asW = /usr/obj/DESTDIRs/clang-powerpc-installkernel_altbinutils/boot/kernel/kern= el | grep -v R_PPC_RELATIVE | less > . . . > Relocation section with addend (.rela.dyn): > r_offset r_info r_type st_value st_name + r_addend > 00da1744 00275101 R_PPC_ADDR32 00000000 uart_quicc_class + 0 >=20 > Relocation section with addend (.rela.text): > r_offset r_info r_type st_value st_name + r_addend >=20 > Relocation section with addend (.rela.data): > r_offset r_info r_type st_value st_name + r_addend >=20 > Relocation section with addend (.rela.got): > r_offset r_info r_type st_value st_name + r_addend >=20 > Relocation section with addend (.rela.got2): > r_offset r_info r_type st_value st_name + r_addend > 00e646d0 00117401 R_PPC_ADDR32 00000000 mfs_root_end + 0 > 00e646d4 002d7c01 R_PPC_ADDR32 00000000 mfs_root + 0 > 00e67c94 002b3a01 R_PPC_ADDR32 00000000 = __stop_set_uart_fdt_class_set + 0 > 00e67c98 00210301 R_PPC_ADDR32 00000000 = __start_set_uart_fdt_class_set + 0 >=20 > . . . >=20 >=20 > # readelf -asW = /usr/obj/DESTDIRs/clang-powerpc64-installkernel_altbinutils/boot/kernel/ke= rnel | grep -v R_PPC64_RELATIVE | less > . . . > Relocation section with addend (.rela.dyn): > r_offset r_info r_type st_value = st_name + r_addend > 000000000130c360 00002d2800000026 R_PPC64_ADDR64 = 0000000000000000 uart_quicc_class + 0 > 0000000001362008 0000143600000026 R_PPC64_ADDR64 = 0000000000000000 mfs_root_end + 0 > 0000000001362010 0000343300000026 R_PPC64_ADDR64 = 0000000000000000 mfs_root + 0 > 0000000001362018 000031a000000026 R_PPC64_ADDR64 = 0000000000000000 __stop_set_uart_fdt_class_set + 0 > 0000000001362020 000025fd00000026 R_PPC64_ADDR64 = 0000000000000000 __start_set_uart_fdt_class_set + 0 >=20 > Relocation section with addend (.rela.text): > r_offset r_info r_type st_value = st_name + r_addend >=20 > Relocation section with addend (.rela.data): > r_offset r_info r_type st_value = st_name + r_addend >=20 > . . . >=20 > So it is always: >=20 > uart_quicc_class > mfs_root_end > mfs_root > __stop_set_uart_fdt_class_set > __start_set_uart_fdt_class_set >=20 > but the .rela.got2 vs. .rela.dyn status varies for all > but uart_quicc_class in my context. >=20 Turns out that the gcc 4.2.1 related toolchain for 32-bit powerpc produces: # readelf -asW = /usr/obj/DESTDIRs/gcc421-powerpc-installkernel/boot/kernel/kernel | grep = -v R_PPC_RELATIVE | less . . . Relocation section with addend (.rela.dyn): r_offset r_info r_type st_value st_name + r_addend Relocation section with addend (.rela.text): r_offset r_info r_type st_value st_name + r_addend Relocation section with addend (.rela.data): r_offset r_info r_type st_value st_name + r_addend Relocation section with addend (.rela.got): r_offset r_info r_type st_value st_name + r_addend Relocation section with addend (.rela.got2): r_offset r_info r_type st_value st_name + r_addend 00eaf92c 00117401 R_PPC_ADDR32 00000000 mfs_root_end + 0 00eaf930 002d7c01 R_PPC_ADDR32 00000000 mfs_root + 0 00eb28ec 00210401 R_PPC_ADDR32 00000000 = __start_set_uart_fdt_class_set + 0 00eb28f0 002b3b01 R_PPC_ADDR32 00000000 = __stop_set_uart_fdt_class_set + 0 00eb2940 00275101 R_PPC_ADDR32 00000000 uart_quicc_class + 0 Relocation section with addend (.rela.sdata): r_offset r_info r_type st_value st_name + r_addend . . . So uart_quicc_class varies .rela.dyn vs. .rela.got2 compared to system-clang with devel/powerpc64-binutils being used to target 32-bit powerpc. But there are still a count of 5 instances of R_PPC_ADDR32. =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)