From owner-freebsd-ports@freebsd.org Wed Nov 14 22:36:07 2018 Return-Path: Delivered-To: freebsd-ports@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 13BAF110260F for ; Wed, 14 Nov 2018 22:36:07 +0000 (UTC) (envelope-from marklmi@yahoo.com) Received: from sonic310-15.consmr.mail.bf2.yahoo.com (sonic310-15.consmr.mail.bf2.yahoo.com [74.6.135.125]) (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 61BCB711F6 for ; Wed, 14 Nov 2018 22:36:06 +0000 (UTC) (envelope-from marklmi@yahoo.com) X-YMail-OSG: Cuo1.LYVM1kXZQ8KKxkBAukLjIsSctT2E_O1GRTT1t.zQp.Kj1NyUKpoWHfjE6E _fLozcINNjR3su2aSazubqqGzo8m3Seshu0jMJvCAL1y6sZUsLTjcHb2.iPVJoj.YfrtAedVnXzQ IoRDh4pARc2J9pyWVd_q8vmUYML_f0m1oOubYI3UhDVUxlP8G26hlUHtQ8npSqTJiS6qmE5gOykj D1Fdur_3GA.jwU5yRw99ke7wXHyaufGuMCZvxusTzIIl7LlUDHLiIkCRKqiJbWA6wHL.6e3kHjDm _kAtra1y7xUxRis2GbNCyjXRZQO_u9CCNFaKL_EjG04Zc41zGdoICNF_gdH9S0X6oxXKJBZNSdCg YIVv9osV8XBSiBqf2SQ0GmSIDO_.KAD1W3dO02RY5TWW_JSosU4csEsvoNUkmggNTftOkhQLf6I1 Ic_LUkOOl1kd7XQ2wamU5tdQjK6MxELN7XKPqN95HWecNI5ccbuqjpuiuJXUybouneHz_N9w3Wn9 m5mT2ovS7fEwpF8WtChNRnUpIUjbzyZ6A5ImvAT2ST0RbAB3Mbh7uzhjTL_TxFiRS6GyvCG7haHY H25fp0LShm5IKs7pDZbWNkU6EJCXF3zWyPP5hB5ZgF2mDSPSp1vhXk4v9Z2PB7zpSMsBY4T9MDzG 43GqohalAvPAdcfYlG4c07srPtMHkEmdnWBjH09OThdGth1qbMu5VdK7_psjxhe4MJBkNeZ5XKU4 9FAj16hnrOa_XxB6Ev_r7gCke.QfL3Sb9mbPlL6xsrycqZz590x1wPYtP.Ztiy.MOzvORNn3wO_U lMKtFTsrgcfHpbYkvDeXdCJUaE2E2RPlXI4vX_FXjj_Hv5DLu001pME6Byeu29j3CosHAH6X1oVc QsNeHvycqugBJeinTGBEGuAE4ZQWQMBXM05F3YW.exDMPtSWRCeys2MicK5nLjchBzKonV1KEjil b1TLCs_ajKtaazZNBfwqMrZVvoQNpjEFQRPSdOipP6lr0ZG.64_K_I58CMuB2sW7F5f6btvyd8Cg 4mVRx08_NZ3d8qD6_0cpQhWWMXNAs97yaE_9Fyb5MOUGy55cKRgggfxK52A-- Received: from sonic.gate.mail.ne1.yahoo.com by sonic310.consmr.mail.bf2.yahoo.com with HTTP; Wed, 14 Nov 2018 22:36:05 +0000 Received: from c-76-115-7-162.hsd1.or.comcast.net (EHLO [192.168.1.25]) ([76.115.7.162]) by smtp412.mail.bf1.yahoo.com (Oath Hermes SMTP Server) with ESMTPA ID 9068b1fd0eded9e259f7327a68ba31c6; Wed, 14 Nov 2018 22:36:01 +0000 (UTC) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 12.1 \(3445.101.1\)) Subject: Re: ports head -r487783: on armv7 x11/pixman fails to build: /usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX against local symbol in readonly segment; recompile object files with -fPIC From: Mark Millard In-Reply-To: Date: Wed, 14 Nov 2018 14:35:59 -0800 Cc: Jan Beich Content-Transfer-Encoding: quoted-printable Message-Id: References: <56BE95DD-61E5-43CB-923D-10E968003FE3@yahoo.com> <5FF705ED-B019-4CB1-B516-796C2E7A6FF9@yahoo.com> To: ports-list freebsd , freebsd-x11@freebsd.org, Bryan Drewery X-Mailer: Apple Mail (2.3445.101.1) X-Rspamd-Queue-Id: 61BCB711F6 X-Spamd-Result: default: False [-1.47 / 200.00]; ARC_NA(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; R_DKIM_ALLOW(-0.20)[yahoo.com]; NEURAL_HAM_MEDIUM(-0.95)[-0.948,0]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_THREE(0.00)[4]; R_SPF_ALLOW(-0.20)[+ptr:yahoo.com]; MV_CASE(0.50)[]; MIME_GOOD(-0.10)[text/plain]; FREEMAIL_FROM(0.00)[yahoo.com]; NEURAL_HAM_LONG(-0.88)[-0.882,0]; TO_DN_SOME(0.00)[]; RCVD_COUNT_THREE(0.00)[3]; TO_MATCH_ENVRCPT_SOME(0.00)[]; DKIM_TRACE(0.00)[yahoo.com:+]; MX_GOOD(-0.01)[cached: mta6.am0.yahoodns.net]; RCVD_IN_DNSWL_NONE(0.00)[125.135.6.74.list.dnswl.org : 127.0.5.0]; NEURAL_HAM_SHORT(-0.24)[-0.243,0]; DMARC_POLICY_ALLOW(-0.50)[yahoo.com,reject]; IP_SCORE(1.11)[ip: (1.95), ipnet: 74.6.128.0/21(2.06), asn: 26101(1.65), country: US(-0.10)]; FROM_EQ_ENVFROM(0.00)[]; RCVD_TLS_LAST(0.00)[]; FREEMAIL_ENVFROM(0.00)[yahoo.com]; ASN(0.00)[asn:26101, ipnet:74.6.128.0/21, country:US]; MID_RHS_MATCH_FROM(0.00)[] X-Rspamd-Server: mx1.freebsd.org X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 14 Nov 2018 22:36:07 -0000 [Looking at package fallout logs: the official armv6 and armv7 builds are using -O2 because of MACHINE_ARCH being defined because of qemu-user-static use. (mips too?) The logic in share/mk/sys.mk is not causing -O . An implication is that -O2 for armv6 and armv7 is probably far more tested than people generally expect. The share/mk/sys.mk change goes back to -r319861 2017-Jun-12 . Previously the logic would have caused -O use for armv6 or armv7 in MACHINE_ARCH .] On 2018-Nov-14, at 13:51, Mark Millard wrote: > [Tracking down -O2 vs. -O lead to share/mk/sys.mk instead of > to my materials. It in turn leads back to poudriere-devel with > qemu-user-static in use defining MACHINE_ARCH but without it > instead not doing so. share/mk/sys.mk behaves differently > for with vs. without the definition, leading to -O2 vs -O > differences in the two build contexts. Details later below.] >=20 > On 2018-Nov-14, at 13:05, Mark Millard wrote: >=20 >> [Added: The original cross-build via poudriere-devel and = qemu-user-static >> did not get this problem. I give details later. Sumamry: Looks like = -O2 >> was used for the cross build and -O was used for armv7 native. The >> difference is likely(?) from my materials but not supporting both = ways of >> building is likely a problem with the port(?).] >>=20 >> On 2018-Nov-14, at 10:10, Mark Millard wrote: >>=20 >>> I'll first note: >>>=20 >>> # /usr/bin/ld -v >>> LLD 6.0.1 (FreeBSD 335540-1300000) (compatible with GNU linkers) >>>=20 >>> and that I use: >>>=20 >>> CFLAGS.clang+=3D -mcpu=3Dcortex-a7 >>> CXXFLAGS.clang+=3D -mcpu=3Dcortex-a7 >>> CPPFLAGS.clang+=3D -mcpu=3Dcortex-a7 >>>=20 >>> in the src.conf like = ~/src.configs/src.conf.armv7-clang-bootstrap.armv7-host >>> file that I used. >>>=20 >>> The error reports were: >>>=20 >>> --- libpixman-1.la --- >>> /bin/sh ../libtool --tag=3DCC --mode=3Dlink cc -O -pipe = -mcpu=3Dcortex-a7 -g -fno-strict-aliasing -Wall = -Wdeclaration-after-statement -Wno-unused-local-typedefs = -fno-strict-aliasing -fvisibility=3Dhid >>> den -version-info 34:0:34 -no-undefined -pthread -o = libpixman-1.la -rpath /usr/local/lib pixman.lo pixman-access.lo = pixman-access-accessors.lo pixman-bits-image.lo pixman-combine32.lo = pixm >>> an-combine-float.lo pixman-conical-gradient.lo pixman-filter.lo = pixman-x86.lo pixman-mips.lo pixman-arm.lo pixman-ppc.lo pixman-edge.lo = pixman-edge-accessors.lo pixman-fast-path.lo pixman-glyph.lo=20 >>> pixman-general.lo pixman-gradient-walker.lo pixman-image.lo = pixman-implementation.lo pixman-linear-gradient.lo pixman-matrix.lo = pixman-noop.lo pixman-radial-gradient.lo pixman-region16.lo pixman-r >>> egion32.lo pixman-solid-fill.lo pixman-timer.lo pixman-trap.lo = pixman-utils.lo -lm -lm libpixman-arm-simd.la = libpixman-arm-neon.la -lm >>> libtool: link: cc -shared -fPIC -DPIC .libs/pixman.o = .libs/pixman-access.o .libs/pixman-access-accessors.o = .libs/pixman-bits-image.o .libs/pixman-combine32.o = .libs/pixman-combine-float.o .libs/pixma >>> n-conical-gradient.o .libs/pixman-filter.o .libs/pixman-x86.o = .libs/pixman-mips.o .libs/pixman-arm.o .libs/pixman-ppc.o = .libs/pixman-edge.o .libs/pixman-edge-accessors.o = .libs/pixman-fast-path.o .libs >>> /pixman-glyph.o .libs/pixman-general.o = .libs/pixman-gradient-walker.o .libs/pixman-image.o = .libs/pixman-implementation.o .libs/pixman-linear-gradient.o = .libs/pixman-matrix.o .libs/pixman-noop.o .libs/ >>> pixman-radial-gradient.o .libs/pixman-region16.o = .libs/pixman-region32.o .libs/pixman-solid-fill.o .libs/pixman-timer.o = .libs/pixman-trap.o .libs/pixman-utils.o -Wl,--whole-archive = ./.libs/libpixman- >>> arm-simd.a ./.libs/libpixman-arm-neon.a -Wl,--no-whole-archive -lm = -O -mcpu=3Dcortex-a7 -g -pthread -pthread -Wl,-soname = -Wl,libpixman-1.so.0 -o .libs/libpixman-1.so.0.34.0 >>> /usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX = against local symbol in readonly segment; recompile object files with = -fPIC >>>>>> defined in = ./.libs/libpixman-arm-simd.a(pixman-arm-simd-asm-scaled.o) >>>>>> referenced by pixman-arm-simd-asm-scaled.o:(.text+0x1B8) in = archive ./.libs/libpixman-arm-simd.a >>>=20 >>> /usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX = against local symbol in readonly segment; recompile object files with = -fPIC >>>>>> defined in = ./.libs/libpixman-arm-simd.a(pixman-arm-simd-asm-scaled.o) >>>>>> referenced by pixman-arm-simd-asm-scaled.o:(.text+0x374) in = archive ./.libs/libpixman-arm-simd.a >>>=20 >>> /usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX = against local symbol in readonly segment; recompile object files with = -fPIC >>>>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o) >>>>>> referenced by pixman-arm-neon-asm.o:(.text+0x17AC) in archive = ./.libs/libpixman-arm-neon.a >>>=20 >>> /usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX = against local symbol in readonly segment; recompile object files with = -fPIC >>>>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o) >>>>>> referenced by pixman-arm-neon-asm.o:(.text+0x1814) in archive = ./.libs/libpixman-arm-neon.a >>>=20 >>> /usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX = against local symbol in readonly segment; recompile object files with = -fPIC >>>>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o) >>>>>> referenced by pixman-arm-neon-asm.o:(.text+0x1A38) in archive = ./.libs/libpixman-arm-neon.a >>>=20 >>> /usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX = against local symbol in readonly segment; recompile object files with = -fPIC >>>>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o) >>>>>> referenced by pixman-arm-neon-asm.o:(.text+0x1AFC) in archive = ./.libs/libpixman-arm-neon.a >>>=20 >>> /usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX = against local symbol in readonly segment; recompile object files with = -fPIC >>>>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o) >>>>>> referenced by pixman-arm-neon-asm.o:(.text+0x21C8) in archive = ./.libs/libpixman-arm-neon.a >>>=20 >>> /usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX = against local symbol in readonly segment; recompile object files with = -fPIC >>>>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o) >>>>>> referenced by pixman-arm-neon-asm.o:(.text+0x2294) in archive = ./.libs/libpixman-arm-neon.a >>>=20 >>> /usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX = against local symbol in readonly segment; recompile object files with = -fPIC >>>>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o) >>>>>> referenced by pixman-arm-neon-asm.o:(.text+0x84E0) in archive = ./.libs/libpixman-arm-neon.a >>>=20 >>> /usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX = against local symbol in readonly segment; recompile object files with = -fPIC >>>>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o) >>>>>> referenced by pixman-arm-neon-asm.o:(.text+0x85C4) in archive = ./.libs/libpixman-arm-neon.a >>>=20 >>> /usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX = against local symbol in readonly segment; recompile object files with = -fPIC >>>>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o) >>>>>> referenced by pixman-arm-neon-asm.o:(.text+0x9720) in archive = ./.libs/libpixman-arm-neon.a >>>=20 >>> /usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX = against local symbol in readonly segment; recompile object files with = -fPIC >>>>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o) >>>>>> referenced by pixman-arm-neon-asm.o:(.text+0x9834) in archive = ./.libs/libpixman-arm-neon.a >>>=20 >>> /usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX = against local symbol in readonly segment; recompile object files with = -fPIC >>>>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o) >>>>>> referenced by pixman-arm-neon-asm.o:(.text+0xA7B0) in archive = ./.libs/libpixman-arm-neon.a >>>=20 >>> /usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX = against local symbol in readonly segment; recompile object files with = -fPIC >>>>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o) >>>>>> referenced by pixman-arm-neon-asm.o:(.text+0xA8CC) in archive = ./.libs/libpixman-arm-neon.a >>>=20 >>> /usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX = against local symbol in readonly segment; recompile object files with = -fPIC >>>>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o) >>>>>> referenced by pixman-arm-neon-asm.o:(.text+0x105A0) in archive = ./.libs/libpixman-arm-neon.a >>> /usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX = against local symbol in readonly segment; recompile object files with = -fPIC >>>>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o) >>>>>> referenced by pixman-arm-neon-asm.o:(.text+0x10DB8) in archive = ./.libs/libpixman-arm-neon.a >>>=20 >>> /usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX = against local symbol in readonly segment; recompile object files with = -fPIC >>>>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o) >>>>>> referenced by pixman-arm-neon-asm.o:(.text+0x11274) in archive = ./.libs/libpixman-arm-neon.a >>> /usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX = against local symbol in readonly segment; recompile object files with = -fPIC >>>>>> defined in ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm.o) >>>>>> referenced by pixman-arm-neon-asm.o:(.text+0x11808) in archive = ./.libs/libpixman-arm-neon.a >>> /usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX = against local symbol in readonly segment; recompile object files with = -fPIC >>>>>> defined in = ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm-bilinear.o) >>>>>> referenced by pixman-arm-neon-asm-bilinear.o:(.text+0x4F0) in = archive ./.libs/libpixman-arm-neon.a >>>=20 >>> /usr/bin/ld: error: can't create dynamic relocation R_ARM_V4BX = against local symbol in readonly segment; recompile object files with = -fPIC >>>>>> defined in = ./.libs/libpixman-arm-neon.a(pixman-arm-neon-asm-bilinear.o) >>>>>> referenced by pixman-arm-neon-asm-bilinear.o:(.text+0xABC) in = archive ./.libs/libpixman-arm-neon.a >>>=20 >>> /usr/bin/ld: error: too many errors emitted, stopping now (use = -error-limit=3D0 to see all errors) >>> cc: error: linker command failed with exit code 1 (use -v to see = invocation) >>> *** [libpixman-1.la] Error code 1 >>>=20 >>> make[3]: stopped in = /wrkdirs/usr/ports/x11/pixman/work/pixman-0.34.0/pixman >>> 1 error >>>=20 >>> make[3]: stopped in = /wrkdirs/usr/ports/x11/pixman/work/pixman-0.34.0/pixman >>> *** [all-recursive] Error code 1 >>>=20 >>>=20 >>> FreeBSD context details: >>>=20 >>> # uname -apKU >>> FreeBSD OPiP2E 13.0-CURRENT FreeBSD 13.0-CURRENT #5 r340287M: Sat = Nov 10 22:40:25 PST 2018 = markmi@FBSDFSSD:/usr/obj/armv7_clang/arm.armv7/usr/src/arm.armv7/sys/GENER= IC-NODBG arm armv7 1300003 1300003 >>=20 >>=20 >> I went back and looked at the amd64 -> armv7 cross-build >> ( that used teh poudriere-built /nxb-bin/usr/bin/ ) and it >> did not complain: >>=20 >> --- libpixman-1.la --- >> /bin/sh ../libtool --tag=3DCC --mode=3Dlink /nxb-bin/usr/bin/cc = -O2 -pipe -mcpu=3Dcortex-a7 -g -fno-strict-aliasing -Wall = -Wdeclaration-after-statement -Wno-unused-local-typedefs = -fno-strict-aliasing -fvisibility=3Dhidden -version-info 34:0:34 = -no-undefined -Wl,--no-threads -pthread -Wl,--no-threads -o = libpixman-1.la -rpath /usr/local/lib pixman.lo pixman-access.lo = pixman-access-accessors.lo pixman-bits-image.lo pixman-combine32.lo = pixman-combine-float.lo pixman-conical-gradient.lo pixman-filter.lo = pixman-x86.lo pixman-mips.lo pixman-arm.lo pixman-ppc.lo pixman-edge.lo = pixman-edge-accessors.lo pixman-fast-path.lo pixman-glyph.lo = pixman-general.lo pixman-gradient-walker.lo pixman-image.lo = pixman-implementation.lo pixman-linear-gradient.lo pixman-matrix.lo = pixman-noop.lo pixman-radial-gradient.lo pixman-region16.lo = pixman-region32.lo pixman-solid-fill.lo pixman-timer.lo pixman-trap.lo = pixman-utils.lo -lm -lm libpixman-arm-simd.la = libpixman-arm-neon.la -lm >> libtool: link: /nxb-bin/usr/bin/cc -shared -fPIC -DPIC = .libs/pixman.o .libs/pixman-access.o .libs/pixman-access-accessors.o = .libs/pixman-bits-image.o .libs/pixman-combine32.o = .libs/pixman-combine-float.o .libs/pixman-conical-gradient.o = .libs/pixman-filter.o .libs/pixman-x86.o .libs/pixman-mips.o = .libs/pixman-arm.o .libs/pixman-ppc.o .libs/pixman-edge.o = .libs/pixman-edge-accessors.o .libs/pixman-fast-path.o = .libs/pixman-glyph.o .libs/pixman-general.o = .libs/pixman-gradient-walker.o .libs/pixman-image.o = .libs/pixman-implementation.o .libs/pixman-linear-gradient.o = .libs/pixman-matrix.o .libs/pixman-noop.o .libs/pixman-radial-gradient.o = .libs/pixman-region16.o .libs/pixman-region32.o = .libs/pixman-solid-fill.o .libs/pixman-timer.o .libs/pixman-trap.o = .libs/pixman-utils.o -Wl,--whole-archive ./.libs/libpixman-arm-simd.a = ./.libs/libpixman-arm-neon.a -Wl,--no-whole-archive -lm -O2 = -mcpu=3Dcortex-a7 -g -Wl,--no-threads -pthread -Wl,--no-threads = -pthread -Wl,-soname -Wl,libpixman-1.so.0 -o .libs/libpixman-1.so.0.34.0 >> libtool: link: (cd ".libs" && rm -f "libpixman-1.so.0" && ln -s = "libpixman-1.so.0.34.0" "libpixman-1.so.0") >> libtool: link: (cd ".libs" && rm -f "libpixman-1.so" && ln -s = "libpixman-1.so.0.34.0" "libpixman-1.so") >> libtool: link: (cd .libs/libpixman-1.lax/libpixman-arm-simd.a && ar x = "/wrkdirs/usr/ports/x11/pixman/work/pixman-0.34.0/pixman/./.libs/libpixman= -arm-simd.a") >> libtool: link: (cd .libs/libpixman-1.lax/libpixman-arm-neon.a && ar x = "/wrkdirs/usr/ports/x11/pixman/work/pixman-0.34.0/pixman/./.libs/libpixman= -arm-neon.a") >> libtool: link: ar cru .libs/libpixman-1.a pixman.o pixman-access.o = pixman-access-accessors.o pixman-bits-image.o pixman-combine32.o = pixman-combine-float.o pixman-conical-gradient.o pixman-filter.o = pixman-x86.o pixman-mips.o pixman-arm.o pixman-ppc.o pixman-edge.o = pixman-edge-accessors.o pixman-fast-path.o pixman-glyph.o = pixman-general.o pixman-gradient-walker.o pixman-image.o = pixman-implementation.o pixman-linear-gradient.o pixman-matrix.o = pixman-noop.o pixman-radial-gradient.o pixman-region16.o = pixman-region32.o pixman-solid-fill.o pixman-timer.o pixman-trap.o = pixman-utils.o = .libs/libpixman-1.lax/libpixman-arm-simd.a/pixman-arm-simd-asm-scaled.o = .libs/libpixman-1.lax/libpixman-arm-simd.a/pixman-arm-simd-asm.o = .libs/libpixman-1.lax/libpixman-arm-simd.a/pixman-arm-simd.o = .libs/libpixman-1.lax/libpixman-arm-neon.a/pixman-arm-neon-asm-bilinear.o = .libs/libpixman-1.lax/libpixman-arm-neon.a/pixman-arm-neon-asm.o = .libs/libpixman-1.lax/libpixman-arm-neon.a/pixman-arm-neon.o=20 >> libtool: link: ranlib .libs/libpixman-1.a >> libtool: link: rm -fr .libs/libpixman-1.lax >> libtool: link: ( cd ".libs" && rm -f "libpixman-1.la" && ln -s = "../libpixman-1.la" "libpixman-1.la" ) >> = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> = =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= >> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D >> . . . >>=20 >>=20 >> So I diff'd the logs and found the following (selective extraction): >> (- for amd64 -> armv7; + for armv7) >>=20 >> -Poudriere version: 3.2.99.20180601 >> +Poudriere version: 3.2.99.20181024 >>=20 >> This is was expected but may mean that I need to wait >> until the armv7 has 3.2.99.20181024 and I try via >> it. >>=20 >> -SHELL=3D/bin/csh >> -UNAME_p=3Darmv7 >> -UNAME_m=3Darm >> -ABI_FILE=3D/usr/lib/crt1.o >> +SHELL=3D/bin/sh >>=20 >> The SHELL's I expected but the other 3 lines I did not. >> But the 3 lines may only occur under qemu-user-static >> style use. >>=20 >> -QEMU_EMULATING=3D1 >>=20 >> Expected. >>=20 >> In CONFIGURE_ENV: >>=20 >> amd64 -> armv7: CCASFLAGS having -O2 >> armv7: CCASFLAGS having -O >>=20 >> In MAKE_ENV: >>=20 >> amd64 -> armv7: CFLAGS having -O2 >> armv7: CFLAGS having -O >>=20 >>=20 >> (The -O2 vs. -O context differences may well be important >> to the behavior.) >>=20 >> (I'll not list /nxb-bin/. . . path use vs. not.) >>=20 >> Later: >>=20 >> -MACHINE=3Darm >> -MACHINE_ARCH=3Darmv7 >> -ARCH=3D${MACHINE_ARCH} >>=20 >> -.if ${LDFLAGS:M-fuse-ld=3D*lld*} || ${/usr/bin/ld:L:tA} =3D=3D = /usr/bin/ld.lld >> -LDFLAGS+=3D -Wl,--no-threads >> -.endif >>=20 >> (That last was part of an experiment with avoiding a >> user-arm-static hangup.) >>=20 >> -_SMP_CPUS=3D28 >> +_SMP_CPUS=3D4 >>=20 >> I'll stop with that. It looks to me like -O2 vs. -O >> would be the likely distinction. While my materials >> probably caused that difference(?), the port likely >> should support both ways of building(?). >=20 >=20 > /usr/src/share/mk/sys.mk has: >=20 > .if !defined(%POSIX) > #=20 > # MACHINE_CPUARCH defines a collection of MACHINE_ARCH. Machines with > # the same MACHINE_ARCH can run each other's binaries, so it = necessarily > # has word size and endian swizzled in. However, the source files for > # these machines often are shared amongst all combinations of size > # and/or endian. This is called MACHINE_CPU in NetBSD, but that's = used > # for something different in FreeBSD. > # > = __TO_CPUARCH=3DC/mips(n32|64)?(el)?(hf)?/mips/:C/arm(v[67])?(eb)?/arm/:C/p= owerpc(64|spe)/powerpc/:C/riscv64(sf)?/riscv/ > MACHINE_CPUARCH=3D${MACHINE_ARCH:${__TO_CPUARCH}} > .endif > . . . > .if ${MACHINE_CPUARCH} =3D=3D "arm" || ${MACHINE_CPUARCH} =3D=3D = "mips" > CFLAGS ?=3D -O -pipe > .else > CFLAGS ?=3D -O2 -pipe > .endif > . . . >=20 > So with qemu-user-static involved MACHINE_ARCH was defined as armv7 > and MACHINE_CPUARCH was too. (See the earlier "-MACHINE_ARCH=3Darmv7" > line of the log differences.) >=20 > But without qemu-user-static involved MACHINE_ARCH was not defined > and MACHINE_CPUARCH was defined as just arm . (No "+" line to > match.) >=20 > Overall result: the two contexts differ for -O2 vs. -O use in CFLAGS. I looked at some logs associated with: = https://lists.freebsd.org/pipermail/freebsd-pkg-fallout/Week-of-Mon-201811= 12/thread.html and the builds for armv6 and armv7 show MACHINE_ARCH defined and -O2 use. The logic in share/mk/sys.mk is not causing -O for official builds --unlike what happens on a self/native-hosted build of the arm* ports. (mips* possibly has the same issue.) So -O2 has been used far more than folks probably expect and -O2 is far more tested than expected. The share/mk/sys.mk change goes back to -r319861 2017-Jun-12 . Previously the logic would have caused -O use for armv6 and armv7 in MACHINE_ARCH. =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)