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-all
mailing list