Date: Tue, 24 Mar 2009 00:34:55 +0000 (UTC) From: "David E. O'Brien" <obrien@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-7@freebsd.org Subject: svn commit: r190349 - in stable/7/usr.sbin/crunch: crunchgen crunchide Message-ID: <200903240034.n2O0Ytwe026295@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: obrien Date: Tue Mar 24 00:34:55 2009 New Revision: 190349 URL: http://svn.freebsd.org/changeset/base/190349 Log: MFC: r173412: Cleanup of userland __P use. r187943: Run with -B and just .POSIX. r173067: Include <stdlib.h> for the right prototype for exit(3). r173065: Set the program name if the crunched program is selected through argv[1] to mimic crt0 behaviour. Modified: stable/7/usr.sbin/crunch/crunchgen/crunched_main.c stable/7/usr.sbin/crunch/crunchgen/crunchgen.c stable/7/usr.sbin/crunch/crunchide/crunchide.c Modified: stable/7/usr.sbin/crunch/crunchgen/crunched_main.c ============================================================================== --- stable/7/usr.sbin/crunch/crunchgen/crunched_main.c Tue Mar 24 00:30:06 2009 (r190348) +++ stable/7/usr.sbin/crunch/crunchgen/crunched_main.c Tue Mar 24 00:34:55 2009 (r190349) @@ -34,6 +34,7 @@ * the crunched binary without creating all the links. */ #include <stdio.h> +#include <stdlib.h> #include <string.h> struct stub { @@ -41,6 +42,7 @@ struct stub { int (*f)(); }; +extern char *__progname; extern struct stub entry_points[]; int main(int argc, char **argv, char **envp) @@ -83,12 +85,16 @@ int crunched_here(char *path) int crunched_main(int argc, char **argv, char **envp) { + char *slash; struct stub *ep; int columns, len; if(argc <= 1) crunched_usage(); + slash = strrchr(argv[1], '/'); + __progname = slash? slash+1 : argv[1]; + return main(--argc, ++argv, envp); } Modified: stable/7/usr.sbin/crunch/crunchgen/crunchgen.c ============================================================================== --- stable/7/usr.sbin/crunch/crunchgen/crunchgen.c Tue Mar 24 00:30:06 2009 (r190348) +++ stable/7/usr.sbin/crunch/crunchgen/crunchgen.c Tue Mar 24 00:34:55 2009 (r190349) @@ -709,12 +709,13 @@ void fillin_program_objs(prog_t *p, char if (outhdrname[0] != '\0') fprintf(f, ".include \"%s\"\n", outhdrname); fprintf(f, ".include \"%s\"\n", path); + fprintf(f, ".POSIX:\n"); if (buildopts) { fprintf(f, "BUILDOPTS+="); output_strlst(f, buildopts); } - fprintf(f, ".if defined(PROG) && !defined(%s)\n", objvar); - fprintf(f, "%s=${PROG}.o\n", objvar); + fprintf(f, ".if defined(PROG)\n"); + fprintf(f, "%s?=${PROG}.o\n", objvar); fprintf(f, ".endif\n"); fprintf(f, "loop:\n\t@echo 'OBJS= '${%s}\n", objvar); @@ -727,7 +728,7 @@ void fillin_program_objs(prog_t *p, char fclose(f); - snprintf(line, MAXLINELEN, "cd %s && make -f %s crunchgen_objs", + snprintf(line, MAXLINELEN, "cd %s && make -f %s -B crunchgen_objs", p->srcdir, tempfname); if ((f = popen(line, "r")) == NULL) { warn("submake pipe"); Modified: stable/7/usr.sbin/crunch/crunchide/crunchide.c ============================================================================== --- stable/7/usr.sbin/crunch/crunchide/crunchide.c Tue Mar 24 00:30:06 2009 (r190348) +++ stable/7/usr.sbin/crunch/crunchide/crunchide.c Tue Mar 24 00:34:55 2009 (r190349) @@ -87,7 +87,7 @@ int hide_syms(const char *filename); int verbose; -int main __P((int, char *[])); +int main(int, char *[]); int main(argc, argv) int argc;
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200903240034.n2O0Ytwe026295>