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

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to