Date: Wed, 1 Aug 2018 15:08:50 -0700 From: Mark Millard <marklmi@yahoo.com> To: John Baldwin <jhb@FreeBSD.org> Cc: Gerald Pfeifer <gerald@pfeifer.com>, mat@FreeBSD.org, FreeBSD Ports <freebsd-ports@freebsd.org>, Bryan Drewery <bdrewery@FreeBSD.org>, Ed Maste <emaste@freebsd.org> Subject: Re: Removing objdump breaks GCC configure Message-ID: <0F5EA96D-7C2E-403C-A8D0-530D2EA4B682@yahoo.com> In-Reply-To: <cf0f412b-5ee6-6543-88f8-fe05c0cd9885@FreeBSD.org> References: <3A54CD6F-FEE9-4813-97B8-76A3E619D7F4@yahoo.com> <884de41d-011e-a025-bfec-4e61b5546336@FreeBSD.org> <47AE95CB-1BD7-42DA-AA17-3EC0252FAF59@yahoo.com> <aac81a01-d9fa-703b-b1b3-577537bc8956@FreeBSD.org> <381572D9-6338-4DF4-B731-860557B2F666@yahoo.com> <CE2DB859-D47E-40D2-8B92-0FBD0913123B@yahoo.com> <6047CF45-733C-4331-B640-4A501F48B698@yahoo.com> <73D4B099-C694-489C-AD17-89F3139058A6@yahoo.com> <cf0f412b-5ee6-6543-88f8-fe05c0cd9885@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2018-Aug-1, at 1:29 PM, John Baldwin <jhb at FreeBSD.org> wrote: > On 7/29/18 9:02 PM, Mark Millard wrote: >>> It looks like configure uses objdump (without a path-prefix) for >>> export_sym_check : >>>=20 >>> case "${host}" in >>> *-*-darwin*) >>> if test x$build =3D x$host; then >>> export_sym_check=3D"nm${exeext} -g" >>> elif test x$host =3D x$target; then >>> export_sym_check=3D"$gcc_cv_nm -g" >>> else >>> export_sym_check=3D >>> fi >>> ;; >>> *) >>> if test x$build =3D x$host; then >>> export_sym_check=3D"objdump${exeext} -T" >>> elif test x$host =3D x$target; then >>> export_sym_check=3D"$gcc_cv_objdump -T" >>> else >>> export_sym_check=3D >>> fi >>> ;; >>> esac >>>=20 >>> Note that this would not be the objdump from = devel/powerpc64-binutils >>> but one for amd64 (in my example) such as from devel/binutils or >>> devel/amd64-binutils for my context. >>>=20 >>> Note the lack of any alternative to objdump use (for build matching = host). >>=20 >> # svnlite diff /usr/ports/devel/powerpc64-gcc/Makefile >> Index: /usr/ports/devel/powerpc64-gcc/Makefile >> =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 >> --- /usr/ports/devel/powerpc64-gcc/Makefile (revision 475470) >> +++ /usr/ports/devel/powerpc64-gcc/Makefile (working copy) >> @@ -16,7 +16,8 @@ >> LIB_DEPENDS=3D libgmp.so:math/gmp \ >> libmpfr.so:math/mpfr \ >> libmpc.so:math/mpc >> -BUILD_DEPENDS=3D ${BU_PREFIX}-as:devel/${PKGNAMEPREFIX}binutils >> +BUILD_DEPENDS=3D ${BU_PREFIX}-as:devel/${PKGNAMEPREFIX}binutils \ >> + objdump:devel/binutils >> RUN_DEPENDS=3D ${BU_PREFIX}-as:devel/${PKGNAMEPREFIX}binutils >>=20 >> USES=3D gmake iconv libtool tar:xz makeinfo compiler >=20 > Context trimmed a bit, subject changed, and I've added Ed to the cc as = he's > the one who removed objdump. It seems that GCC at least has a hidden > dependency on objdump. Ed, were the lang/gcc* ports updated when = objdump > was removed to list it as dependency for the plugin functionality? If = not, > they might also need a similar fix. devel/<?>-gcc cross compiler builds: Cross builds required the builder's objdump and possibly the target's too (as well as other target binutils). But for the target that is the = same <?> in devel/<?>-binutils and devel/<?>-gcc and likely was already covered. (I may have missed other builder-binutil tool references but know objdump for sure.) When the builder architecture is also the target as part of the port definition (all lang/gcc* ?), devel/binutils is likely already required and then covers all objdump use as far as I can tell. (I'm not sure if the normal package builders are omitting system binutils yet or if they might always have devel/binutils installed.) >> Note: Various other autoconfig .ac files for various ports >> might also make assumptions about some binutils for the >> building archteiture, assumptions that various FreeBSD >> architectures need not automatically provide for: ones for >> which WITHOUT_BINUTILS=3D can be used. >=20 > I believe Ed did an exp-run before disabling objdump by default (or = maybe > that change is still pending?). I'm not sure if that exp-run would = catch > more subtle changes like this. My guess is that only ports with cross-build abilities might have the "some builder binutils tool(s) needed" issue. =3D=3D=3D Mark Millard marklmi at yahoo.com ( dsl-only.net <http://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?0F5EA96D-7C2E-403C-A8D0-530D2EA4B682>