svn commit: r327523 - in head/stand/mips/beri: boot2 loader
Bryan Drewery
bdrewery at FreeBSD.org
Wed Jan 3 18:43:58 UTC 2018
On 1/3/2018 9:35 AM, John Baldwin wrote:
> Author: jhb
> Date: Wed Jan 3 17:35:38 2018
> New Revision: 327523
> URL: https://svnweb.freebsd.org/changeset/base/327523
>
> Log:
> Don't clobber system LDFLAGS for beri boot loaders.
>
> Prior to r325114, bsd.init.mk was included after assignments to CFLAGS and
> LDFLAGS in these Makefiles. After r325114, bare assignments (= rather than
> +=) lost system-assigned default values that are needed when compiling with
> an external toolchain. CFLAGS in both Makefiles already uses +=. This
> commit changes LDFLAGS to use +=. While here, depend on the LDFLAGS update
> in the parent Makefile.inc to set -nostdlib.
>
Hmm, I'm not sure it is even right for these files to be including
bsd.init.mk.
It says at the top:
# The include file <bsd.init.mk> includes <bsd.opts.mk>,
# ../Makefile.inc and <bsd.own.mk>; this is used at the
# top of all <bsd.*.mk> files that actually "build something".
There's a bunch of other files doing this as well.
The biggest problem here is that including bsd.init.mk is like including
bsd.prog.mk first and then putting the rest of the Makefile after it. It
changes a lot of assumptions in share/mk files. And this particular file
still includes bsd.prog.mk, so things really could go wrong. I speak of
things like dependency handling and beforebuild handling.
I think it's more likely these files just need src.opts.mk.
> Sponsored by: DARPA / AFRL
>
> Modified:
> head/stand/mips/beri/boot2/Makefile
> head/stand/mips/beri/loader/Makefile
>
> Modified: head/stand/mips/beri/boot2/Makefile
> ==============================================================================
> --- head/stand/mips/beri/boot2/Makefile Wed Jan 3 17:28:01 2018 (r327522)
> +++ head/stand/mips/beri/boot2/Makefile Wed Jan 3 17:35:38 2018 (r327523)
> @@ -53,8 +53,7 @@ CFLAGS+= -I${LDRSRC} \
> -fno-pic -mno-abicalls \
> -g
>
> -LDFLAGS= -nostdlib \
> - -static \
> +LDFLAGS+= -static \
> -Wl,-N \
> -G0 \
> -L${.CURDIR}
>
> Modified: head/stand/mips/beri/loader/Makefile
> ==============================================================================
> --- head/stand/mips/beri/loader/Makefile Wed Jan 3 17:28:01 2018 (r327522)
> +++ head/stand/mips/beri/loader/Makefile Wed Jan 3 17:35:38 2018 (r327523)
> @@ -85,8 +85,7 @@ CFLAGS+= -G0 \
> -mno-abicalls \
> -g
>
> -LDFLAGS= -nostdlib \
> - -static \
> +LDFLAGS+= -static \
> -T ${.CURDIR}/loader.ldscript \
> -L${.CURDIR} \
> -e __start
>
--
Regards,
Bryan Drewery
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/svn-src-all/attachments/20180103/bd6cb0e9/attachment.sig>
More information about the svn-src-all
mailing list