From owner-freebsd-bugs Thu Apr 4 5:40:41 2002 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by hub.freebsd.org (Postfix) with ESMTP id C8DC037B432 for ; Thu, 4 Apr 2002 05:40:04 -0800 (PST) Received: (from gnats@localhost) by freefall.freebsd.org (8.11.6/8.11.6) id g34De4640762; Thu, 4 Apr 2002 05:40:04 -0800 (PST) (envelope-from gnats) Received: from infres.enst.fr (infres-192.enst.fr [137.194.192.1]) by hub.freebsd.org (Postfix) with ESMTP id CF5AB37B416 for ; Thu, 4 Apr 2002 05:36:14 -0800 (PST) Received: from shalmaneser.enst.fr (shalmaneser.enst.fr [137.194.162.11]) by infres.enst.fr (Postfix) with ESMTP id 5E60D18EE for ; Thu, 4 Apr 2002 15:36:13 +0200 (MEST) Received: by shalmaneser.enst.fr (Postfix, from userid 11117) id 0362F11287; Thu, 4 Apr 2002 15:36:12 +0200 (CEST) Message-Id: <20020404133612.0362F11287@shalmaneser.enst.fr> Date: Thu, 4 Apr 2002 15:36:12 +0200 (CEST) From: Thomas Quinot Reply-To: Thomas Quinot To: FreeBSD-gnats-submit@FreeBSD.org X-Send-Pr-Version: 3.113 Subject: bin/36747: [patch] Upgrade path from old -CURRENT is broken Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org >Number: 36747 >Category: bin >Synopsis: [patch] Upgrade path from old -CURRENT is broken >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Thu Apr 04 05:40:01 PST 2002 >Closed-Date: >Last-Modified: >Originator: Thomas Quinot >Release: FreeBSD 5.0-CURRENT i386 >Organization: >Environment: System: FreeBSD shalmaneser.enst.fr 5.0-CURRENT FreeBSD 5.0-CURRENT #13: Thu Mar 21 14:41:17 CET 2002 root@shalmaneser.enst.fr:/usr/obj/usr/src/sys/SHALMANESER i386 >Description: Recent changes to lib/libc/stdio/mktemp.c and usr.bin/xlint/* have introduced dependencies on two features that were recently introduced: the __FBSDID macro in cdefs.h, and the [gs]etprogname functions in stdlib.h. Unfortunately, these files are built as part of the cross-tools in buildworld. This breaks the upgrade path for systems installed with old versions of 5.0-CURRENT. 4-STABLE systems more than one year old are also probably impacted. >How-To-Repeat: make buildworld on a freshly cvsupped source tree on a two year old 5.0-CURRENT box. >Fix: Here is a proposed solution: diff -u usr.bin/xlint/lint1/cgram.y.dist usr.bin/xlint/lint1/cgram.y --- usr.bin/xlint/lint1/cgram.y.dist Thu Apr 4 12:47:01 2002 +++ usr.bin/xlint/lint1/cgram.y Thu Apr 4 13:45:45 2002 @@ -37,7 +37,11 @@ #if defined(__RCSID) && !defined(lint) __RCSID("$NetBSD: cgram.y,v 1.23 2002/01/31 19:36:53 tv Exp $"); #endif +#ifdef __FBSDID __FBSDID("$FreeBSD: src/usr.bin/xlint/lint1/cgram.y,v 1.7 2002/03/03 15:12:19 markm Exp $"); +#elif !defined(lint) +static char rcsid[] = "$FreeBSD$"; +#endif #include #include diff -u usr.bin/xlint/lint1/scan.l.dist usr.bin/xlint/lint1/scan.l --- usr.bin/xlint/lint1/scan.l.dist Thu Apr 4 12:47:02 2002 +++ usr.bin/xlint/lint1/scan.l Thu Apr 4 13:48:24 2002 @@ -37,7 +37,11 @@ #if defined(__RCSID) && !defined(lint) __RCSID("$NetBSD: scan.l,v 1.26 2002/01/31 22:30:21 tv Exp $"); #endif +#ifdef __FBSDID __FBSDID("$FreeBSD: src/usr.bin/xlint/lint1/scan.l,v 1.11 2002/03/03 15:12:20 markm Exp $"); +#elif !defined(lint) +static char rcsid[] = "$FreeBSD$"; +#endif #include #include diff -u usr.bin/xlint/lint1/decl.c.dist usr.bin/xlint/lint1/decl.c --- usr.bin/xlint/lint1/decl.c.dist Thu Apr 4 12:47:01 2002 +++ usr.bin/xlint/lint1/decl.c Thu Apr 4 13:54:56 2002 @@ -36,7 +36,11 @@ #if defined(__RCSID) && !defined(lint) __RCSID("$NetBSD: decl.c,v 1.29 2002/01/18 21:01:39 thorpej Exp $"); #endif +#ifdef __FBSDID __FBSDID("$FreeBSD: src/usr.bin/xlint/lint1/decl.c,v 1.10 2002/03/03 15:12:19 markm Exp $"); +#elif !defined(lint) +static char rcsid[] = "$FreeBSD$"; +#endif #include #include diff -u usr.bin/xlint/lint1/err.c.dist usr.bin/xlint/lint1/err.c --- usr.bin/xlint/lint1/err.c.dist Thu Apr 4 12:47:02 2002 +++ usr.bin/xlint/lint1/err.c Thu Apr 4 13:55:04 2002 @@ -35,7 +35,11 @@ #if defined(__RCSID) && !defined(lint) __RCSID("$NetBSD: err.c,v 1.16 2001/12/13 23:56:00 augustss Exp $"); #endif +#ifdef __FBSDID __FBSDID("$FreeBSD: src/usr.bin/xlint/lint1/err.c,v 1.8 2002/03/03 15:12:19 markm Exp $"); +#elif !defined(lint) +static char rcsid[] = "$FreeBSD$"; +#endif #include #include diff -u usr.bin/xlint/lint1/func.c.dist usr.bin/xlint/lint1/func.c --- usr.bin/xlint/lint1/func.c.dist Thu Apr 4 12:47:02 2002 +++ usr.bin/xlint/lint1/func.c Thu Apr 4 13:55:09 2002 @@ -35,7 +35,11 @@ #if defined(__RCSID) && !defined(lint) __RCSID("$NetBSD: func.c,v 1.16 2002/01/03 04:25:15 thorpej Exp $"); #endif +#ifdef __FBSDID __FBSDID("$FreeBSD: src/usr.bin/xlint/lint1/func.c,v 1.9 2002/03/03 15:12:19 markm Exp $"); +#elif !defined(lint) +static char rcsid[] = "$FreeBSD$"; +#endif #include #include diff -u usr.bin/xlint/lint1/mem1.c.dist usr.bin/xlint/lint1/mem1.c --- usr.bin/xlint/lint1/mem1.c.dist Thu Apr 4 12:47:02 2002 +++ usr.bin/xlint/lint1/mem1.c Thu Apr 4 13:55:14 2002 @@ -35,7 +35,11 @@ #if defined(__RCSID) && !defined(lint) __RCSID("$NetBSD: mem1.c,v 1.6 2002/01/29 02:43:39 tv Exp $"); #endif +#ifdef __FBSDID __FBSDID("$FreeBSD: src/usr.bin/xlint/lint1/mem1.c,v 1.8 2002/03/03 15:12:20 markm Exp $"); +#elif !defined(lint) +static char rcsid[] = "$FreeBSD$"; +#endif #include #include diff -u usr.bin/xlint/lint1/tree.c.dist usr.bin/xlint/lint1/tree.c --- usr.bin/xlint/lint1/tree.c.dist Thu Apr 4 12:47:02 2002 +++ usr.bin/xlint/lint1/tree.c Thu Apr 4 13:55:18 2002 @@ -35,7 +35,11 @@ #if defined(__RCSID) && !defined(lint) __RCSID("$NetBSD: tree.c,v 1.24 2002/01/31 22:30:20 tv Exp $"); #endif +#ifdef __FBSDID __FBSDID("$FreeBSD: src/usr.bin/xlint/lint1/tree.c,v 1.12 2002/03/03 15:12:20 markm Exp $"); +#elif !defined(lint) +static char rcsid[] = "$FreeBSD$"; +#endif #include #include diff -u usr.bin/xlint/lint1/main1.c.dist usr.bin/xlint/lint1/main1.c --- usr.bin/xlint/lint1/main1.c.dist Thu Apr 4 12:47:02 2002 +++ usr.bin/xlint/lint1/main1.c Thu Apr 4 14:02:55 2002 @@ -113,7 +113,7 @@ err_set msgset; -static void usage(void); +static void usage(char *); int main(int, char *[]); @@ -123,8 +123,6 @@ int c; char *ptr; - setprogname(argv[0]); - ERR_ZERO(&msgset); while ((c = getopt(argc, argv, "abcdeghmprstuvwyzFX:")) != -1) { switch (c) { @@ -168,7 +166,7 @@ break; case '?': default: - usage(); + usage(argv[0]); break; } } @@ -176,7 +174,7 @@ argv += optind; if (argc != 2) - usage(); + usage(argv[0]); /* open the input file */ if ((yyin = fopen(argv[0], "r")) == NULL) @@ -206,11 +204,11 @@ } static void -usage(void) +usage(char *progname) { (void)fprintf(stderr, "Usage: %s [-abcdeghmprstuvwyzF] [-X [,]... src dest\n", - getprogname()); + progname); exit(1); } diff -u usr.bin/xlint/lint2/mem2.c.dist usr.bin/xlint/lint2/mem2.c --- usr.bin/xlint/lint2/mem2.c.dist Thu Apr 4 12:47:02 2002 +++ usr.bin/xlint/lint2/mem2.c Thu Apr 4 14:34:47 2002 @@ -35,7 +35,11 @@ #if defined(__RCSID) && !defined(lint) __RCSID("$NetBSD: mem2.c,v 1.6 2002/01/21 19:49:52 tv Exp $"); #endif +#ifdef __FBSDID __FBSDID("$FreeBSD: src/usr.bin/xlint/lint2/mem2.c,v 1.7 2002/03/03 15:12:22 markm Exp $"); +#elif !defined(lint) +static char rcsid[] = "$FreeBSD$"; +#endif #include #include diff -u usr.bin/xlint/lint2/read.c.dist usr.bin/xlint/lint2/read.c --- usr.bin/xlint/lint2/read.c.dist Thu Apr 4 12:47:02 2002 +++ usr.bin/xlint/lint2/read.c Thu Apr 4 14:34:57 2002 @@ -36,7 +36,11 @@ #if defined(__RCSID) && !defined(lint) __RCSID("$NetBSD: read.c,v 1.12 2002/01/21 19:49:52 tv Exp $"); #endif +#ifdef __FBSDID __FBSDID("$FreeBSD: src/usr.bin/xlint/lint2/read.c,v 1.8 2002/03/03 15:12:22 markm Exp $"); +#elif !defined(lint) +static char rcsid[] = "$FreeBSD$"; +#endif #include #include diff -u usr.bin/xlint/xlint/xlint.c.dist usr.bin/xlint/xlint/xlint.c --- usr.bin/xlint/xlint/xlint.c.dist Thu Apr 4 12:47:03 2002 +++ usr.bin/xlint/xlint/xlint.c Thu Apr 4 14:38:12 2002 @@ -36,7 +36,11 @@ #if defined(__RCSID) && !defined(lint) __RCSID("$NetBSD: xlint.c,v 1.26 2002/01/22 01:14:03 thorpej Exp $"); #endif +#ifdef __FBSDID __FBSDID("$FreeBSD: src/usr.bin/xlint/xlint/xlint.c,v 1.17 2002/03/11 11:32:55 markm Exp $"); +#elif !defined(lint) +static char rcsid[] = "$FreeBSD$"; +#endif #include #include @@ -132,7 +136,7 @@ static void terminate(int) __attribute__((__noreturn__)); static const char *lbasename(const char *, int); static void appdef(char ***, const char *); -static void usage(void); +static void usage(char *); static void fname(const char *); static void runchild(const char *, char *const *, const char *, int); static void findlibs(char *const *); @@ -279,18 +283,18 @@ } static void -usage(void) +usage(char *progname) { (void)fprintf(stderr, "Usage: %s [-abceghprvwxzHF] [-s|-t] [-i|-nu] [-Dname[=def]]" - " [-Uname] [-X [,]...\n", getprogname()); + " [-Uname] [-X [,]...\n", progname); (void)fprintf(stderr, "\t[-Idirectory] [-Ldirectory] [-llibrary] [-ooutputfile]" " file...\n"); (void)fprintf(stderr, " %s [-abceghprvwzHF] [-s|-t] -Clibrary [-Dname[=def]]\n" - " [-X [,]...\n", getprogname()); + " [-X [,]...\n", progname); (void)fprintf(stderr, "\t[-Idirectory] [-Uname] [-Bpath] file" " ...\n"); terminate(-1); @@ -304,8 +308,6 @@ char flgbuf[3], *tmp, *s; size_t len; - setprogname(argv[0]); - if ((tmp = getenv("TMPDIR")) == NULL || (len = strlen(tmp)) == 0) { tmpdir = xstrdup(_PATH_TMP); } else { @@ -395,7 +397,7 @@ case 'i': if (Cflag) - usage(); + usage(argv[0]); iflag = 1; break; @@ -414,7 +416,7 @@ case 's': if (tflag) - usage(); + usage(argv[0]); freelst(&lcflags); appcstrg(&lcflags, "-trigraphs"); appcstrg(&lcflags, "-Wtrigraphs"); @@ -428,7 +430,7 @@ #if !HAVE_CONFIG_H case 't': if (sflag) - usage(); + usage(argv[0]); freelst(&lcflags); appcstrg(&lcflags, "-traditional"); appstrg(&lcflags, concat2("-D", MACHINE)); @@ -445,7 +447,7 @@ case 'C': if (Cflag || oflag || iflag) - usage(); + usage(argv[0]); Cflag = 1; appstrg(&l2flags, concat2("-C", optarg)); p2out = xmalloc(sizeof ("llib-l.ln") + strlen(optarg)); @@ -455,7 +457,7 @@ case 'd': if (dflag) - usage(); + usage(argv[0]); dflag = 1; appcstrg(&cflags, "-nostdinc"); appcstrg(&cflags, "-idirafter"); @@ -475,7 +477,7 @@ case 'o': if (Cflag || oflag) - usage(); + usage(argv[0]); oflag = 1; outputfn = xstrdup(optarg); break; @@ -498,7 +500,7 @@ break; default: - usage(); + usage(argv[0]); /* NOTREACHED */ } } @@ -529,7 +531,7 @@ break; default: - usage(); + usage(argv[0]); /* NOTREACHED */ } if (arg[2]) @@ -538,7 +540,7 @@ argc--; appcstrg(list, *++argv); } else - usage(); + usage(argv[0]); } else { /* filename */ fname(arg); @@ -549,7 +551,7 @@ } if (first) - usage(); + usage(argv[0]); if (iflag) terminate(0); diff -u lib/libc/stdio/mktemp.c.dist lib/libc/stdio/mktemp.c --- lib/libc/stdio/mktemp.c.dist Thu Apr 4 13:34:45 2002 +++ lib/libc/stdio/mktemp.c Thu Apr 4 13:46:30 2002 @@ -35,7 +35,11 @@ static char sccsid[] = "@(#)mktemp.c 8.1 (Berkeley) 6/4/93"; #endif /* LIBC_SCCS and not lint */ #include +#ifdef __FBSDID __FBSDID("$FreeBSD: src/lib/libc/stdio/mktemp.c,v 1.24 2002/03/22 21:53:04 obrien Exp $"); +#elif !defined(lint) +static char rcsid[] = "$FreeBSD$"; +#endif /* #include "namespace.h" */ #include >Release-Note: >Audit-Trail: >Unformatted: To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message