svn commit: r284356 - head/usr.sbin/crunch/crunchgen

Bryan Drewery bdrewery at FreeBSD.org
Tue Jul 28 21:20:08 UTC 2015


On 6/13/15 3:01 PM, Adrian Chadd wrote:
> Author: adrian
> Date: Sat Jun 13 22:01:21 2015
> New Revision: 284356
> URL: https://svnweb.freebsd.org/changeset/base/284356
> 
> Log:
>   Fix up crunchgen binary generation to work with external cross-build
>   tools.
>   
>   * Allow STRIP to be overridden by the environment

This change breaks the the build still. The build uses STRIP as the
parameter for install(1), i.e., -s or blank. Once you rebuild
usr.sbin/crunch/crunchgen with this change and then build rescue/rescue
with 'make STRIP=' the following is encountered:

rescue
sh: rescue: not found
*** [rescue] Error code 127

make[1]: stopped in /usr/obj/root/svn/base/rescue/rescue

I would suggest changing the name of this, perhaps STRIP_CMD as ports
has, or using a different mechanism.

Side note, something funky is going on with including /etc/make.conf.
When I build with buildworld (clean) I get the error, but not a plain
'make' having STRIP= in /etc/make.conf for both. My system is
pre-meta-mode merge at r280911.


>   * Use CC to tie things together, not LD
>   
>   Tested:
>   
>   * i386, mips32
>   
>   Submitted by:	kan
> 
> Modified:
>   head/usr.sbin/crunch/crunchgen/crunchgen.c
> 
> Modified: head/usr.sbin/crunch/crunchgen/crunchgen.c
> ==============================================================================
> --- head/usr.sbin/crunch/crunchgen/crunchgen.c	Sat Jun 13 20:15:44 2015	(r284355)
> +++ head/usr.sbin/crunch/crunchgen/crunchgen.c	Sat Jun 13 22:01:21 2015	(r284356)
> @@ -980,6 +980,7 @@ top_makefile_rules(FILE *outmk)
>  	prog_t *p;
>  
>  	fprintf(outmk, "LD?= ld\n");
> +	fprintf(outmk, "STRIP?= strip\n");
>  	if ( subtract_strlst(&libs, &libs_so) )
>  		fprintf(outmk, "# NOTE: Some LIBS declarations below overridden by LIBS_SO\n");
>  
> @@ -1027,7 +1028,7 @@ top_makefile_rules(FILE *outmk)
>  	fprintf(outmk, "\t$(CC) -static -o %s %s.o $(CRUNCHED_OBJS) $(LIBS)\n",
>  	    execfname, execfname);
>  	fprintf(outmk, ".endif\n");
> -	fprintf(outmk, "\tstrip %s\n", execfname);
> +	fprintf(outmk, "\t$(STRIP) %s\n", execfname);
>  	fprintf(outmk, "realclean: clean subclean\n");
>  	fprintf(outmk, "clean:\n\trm -f %s *.lo *.o *_stub.c\n", execfname);
>  	fprintf(outmk, "subclean: $(SUBCLEAN_TARGETS)\n");
> @@ -1109,7 +1110,7 @@ prog_makefile_rules(FILE *outmk, prog_t 
>  		fprintf(outmk, " $(%s_LIBS)", p->ident);
>  
>  	fprintf(outmk, "\n");
> -	fprintf(outmk, "\t$(LD) -dc -r -o %s.lo %s_stub.o $(%s_OBJPATHS)",
> +	fprintf(outmk, "\t$(CC) -nostdlibs -dc -r -o %s.lo %s_stub.o $(%s_OBJPATHS)",
>  	    p->name, p->name, p->ident);
>  	if (p->libs)
>  		fprintf(outmk, " $(%s_LIBS)", p->ident);
> 


-- 
Regards,
Bryan Drewery


More information about the svn-src-head mailing list