Date: Wed, 14 Nov 2018 19:41:54 -0800 From: Mark Millard <marklmi@yahoo.com> To: Bryan Drewery <bdrewery@FreeBSD.org> Cc: ports-list freebsd <freebsd-ports@freebsd.org>, freebsd-x11@freebsd.org, Jan Beich <jbeich@FreeBSD.org>, Warner Losh <imp@bsdimp.com>, "Simon J. Gerraty" <sjg@FreeBSD.org> 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 Message-ID: <8C7A2ACE-2786-4D31-B516-22F1EB3372F6@yahoo.com> In-Reply-To: <BFDED411-69A7-4163-A69C-82CA20E70573@yahoo.com> References: <56BE95DD-61E5-43CB-923D-10E968003FE3@yahoo.com> <5FF705ED-B019-4CB1-B516-796C2E7A6FF9@yahoo.com> <F589E76E-072F-4A89-AA4A-F5209FBDFBC0@yahoo.com> <E85CED1A-7AAA-4415-9154-A7C90E7B3D09@yahoo.com> <51a82f62-13df-a485-4d5a-7dbfa3d1107f@FreeBSD.org> <C2658D3B-E706-4556-BFE4-2496C7CD2B7E@yahoo.com> <12EFB5C5-4BC6-4083-B51D-26D1D3150C35@yahoo.com> <9cf37f5d-3aea-390c-e553-42ab3efe1c98@FreeBSD.org> <BFDED411-69A7-4163-A69C-82CA20E70573@yahoo.com>
next in thread | previous in thread | raw e-mail | index | archive | help
[My wording presumed some context not presented.] On 2018-Nov-14, at 18:21, Mark Millard <marklmi at yahoo.com> wrote: > On 2018-Nov-14, at 17:45, Bryan Drewery <bdrewery at FreeBSD.org> wrote: > >> I think the real problem here is that Poudriere is setting MACHINE_ARCH >> in make.conf and sys.mk loads make.conf *after* checking MACHINE_CPUARCH >> (derived from MACHINE_ARCH) to determine CFLAGS; The .if is expanding >> MACHINE_CPUARCH before make.conf is included. >> >> We probably need a make-env.conf thing like src-env.conf to allow >> modifying sys.mk earlier. > > Cool. > > > We still get the result that arm[67], and possibly some mips, > have had a lot of -O2 use based on what has historically been > done by the qemu-user-static based official-build servers. The reference to qemu-user-static was meant to be for with /nxb-bin/. . . (or some form of native tools). It is the native tools that initially have MACHINE_ARCH being amd64 by default for the example contexts. Absent that, qemu-arm-static would likely report armv6 for all arm's until the explicit assignment. (The "armv6" is a single compile-time constant in the qemu-arm-static source at this time.) So this likely would behave as on a native build: -O . > And that leads to questioning the need for -O instead of -O2 > for armv[67] and possibly some mips contexts. > > Or, going the other way: Should -O be forced and have an > exp run for, say armv7 ? An example of what would be found is > what I ran into for x11/pixman when its build used -O (native) > instead of -O2 (cross-build via qemu-user-static) and a link > command failed for -O use. (It was the failure that started my > looking for what was different from my prior cross-build that > had worked.) === Mark Millard marklmi at yahoo.com ( dsl-only.net went away in early 2018-Mar)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?8C7A2ACE-2786-4D31-B516-22F1EB3372F6>