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-head/attachments/20180103/bd6cb0e9/attachment.sig>


More information about the svn-src-head mailing list