From owner-freebsd-stable@FreeBSD.ORG Thu Jul 4 16:02:13 2013 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by hub.freebsd.org (Postfix) with ESMTP id 5AEBD653; Thu, 4 Jul 2013 16:02:13 +0000 (UTC) (envelope-from jdavidlists@gmail.com) Received: from mail-ie0-x22b.google.com (mail-ie0-x22b.google.com [IPv6:2607:f8b0:4001:c03::22b]) by mx1.freebsd.org (Postfix) with ESMTP id 257CA1E92; Thu, 4 Jul 2013 16:02:13 +0000 (UTC) Received: by mail-ie0-f171.google.com with SMTP id qd12so3425169ieb.2 for ; Thu, 04 Jul 2013 09:02:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=xEpH+nYtExEq0jXKcBSH6POh7mLAiwCJqbltMaIBppg=; b=hIPc8Ii1FzhhVbGJl4fzi8W8ZAWJpO8zuNW3R7DCxxtepW/+q9EbKe3IXb13UekaKA gFRh3snn340uCVDeRZ86ovYvEa5C5FlaL1Toiv8+lD0K5dF6wkzSkxpfmDRs9XKX1H+k gW9fyYDBWlys+29EFvb3lYsAmub5hCOt40cQjW25pPQCWPXe4PmrrJPS3LBHXz5NRF5F Bhv2XUIx5w7AQwk1/vPtPwGFS2gXgs9fuVudek4Z2Xzrm7msRXtv//tqdyhDSdb+s0v6 xXHbfPWRp+jilwByE2JJDyP7IPB6jyqlpQZyZU9OBcjAEY9/xGlVtR+gu6r6yZhjEeSb +fsQ== MIME-Version: 1.0 X-Received: by 10.42.199.5 with SMTP id eq5mr2654829icb.1.1372953732749; Thu, 04 Jul 2013 09:02:12 -0700 (PDT) Sender: jdavidlists@gmail.com Received: by 10.42.114.73 with HTTP; Thu, 4 Jul 2013 09:02:12 -0700 (PDT) In-Reply-To: <2D61560D-E3D9-4558-8715-8215DBBF21D9@FreeBSD.org> References: <2D61560D-E3D9-4558-8715-8215DBBF21D9@FreeBSD.org> Date: Thu, 4 Jul 2013 12:02:12 -0400 X-Google-Sender-Auth: dTbwYcLC0YbhM01pu_F2DmANfNI Message-ID: Subject: Re: Phantom nulls in usbdevs.h during 9-STABLE kernel build From: J David To: Dimitry Andric Content-Type: text/plain; charset=ISO-8859-1 X-Content-Filtered-By: Mailman/MimeDel 2.1.14 Cc: freebsd-stable@freebsd.org X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Jul 2013 16:02:13 -0000 On Thu, Jul 4, 2013 at 9:08 AM, Dimitry Andric wrote: > So the actual file does *not* have any NUL characters in it? What > happens if you run e.g. sha1(1) over it a million times? > Based on this suggestion, I wrote a script to sha256 usbdevs.h every 0.25 seconds and did another buildworld. (Note: I did a third buildworld last night, between the two I sent yesterday and this one. It was fine.) It died with this: In file included from /usr/src/sys/modules/usb/quirk/../../../dev/usb/quirk/usb_quirk.c:51: ./usbdevs.h:2487:64: error: null character ignored [-Werror,-Wnull-character] #define USB_PRODUCT_LOGITECH_UN53B 0xc032 /* iFeel MouseMan */ ^ /usr/src/sys/modules/usb/quirk/../../../dev/usb/quirk/usb_quirk.c:95:2: error: expected ')' USB_QUIRK(LOGITECH, UN53B, 0x0000, 0xffff, UQ_NO_STRINGS), ^ /usr/src/sys/modules/usb/quirk/../../../dev/usb/quirk/usb_quirk.c:79:32: note: expanded from macro 'USB_QUIRK' USB_QUIRK_VP(USB_VENDOR_##v, USB_PRODUCT_##v##_##p, l, h, __VA_ARGS__) ^ :29:1: note: expanded from macro 'USB_PRODUCT_' USB_PRODUCT_LOGITECH_UN53B ^ ./usbdevs.h:2487:65: note: expanded from macro 'USB_PRODUCT_LOGITECH_UN53B' .../* iFeel MouseMan */#define USB_PRODUCT_LOGITECH_WMPAD... ^ /usr/src/sys/modules/usb/quirk/../../../dev/usb/quirk/usb_quirk.c:76:25: note: expanded from macro 'USB_QUIRK_VP' { .vid = (v), .pid = (p), .lo_rev = (l), .hi_rev = (h), \ ^ /usr/src/sys/modules/usb/quirk/../../../dev/usb/quirk/usb_quirk.c:95:2: note: to match this '(' USB_QUIRK(LOGITECH, UN53B, 0x0000, 0xffff, UQ_NO_STRINGS), ^ /usr/src/sys/modules/usb/quirk/../../../dev/usb/quirk/usb_quirk.c:79:3: note: expanded from macro 'USB_QUIRK' USB_QUIRK_VP(USB_VENDOR_##v, USB_PRODUCT_##v##_##p, l, h, __VA_ARGS__) ^ /usr/src/sys/modules/usb/quirk/../../../dev/usb/quirk/usb_quirk.c:76:24: note: expanded from macro 'USB_QUIRK_VP' { .vid = (v), .pid = (p), .lo_rev = (l), .hi_rev = (h), \ ^ 2 errors generated. *** [usb_quirk.o] Error code 1 My script says usbdevs.h was generated early on in the build process (with the same SHA256 value as the one that previously worked) and did not report any subsequent changes during the build and failure. If there are NUL characters, there might be a bug in the awk script that > generates usbdevs.h. If there are no NUL characters, and you get a > random failure each time, there might be a bug in clang. As before, I don't see any nulls in the actual file: 00000070 6f 75 73 65 20 2a 2f 0a 23 64 65 66 69 6e 65 09 |ouse */.#define.| 00000080 55 53 42 5f 50 52 4f 44 55 43 54 5f 4c 4f 47 49 |USB_PRODUCT_LOGI| 00000090 54 45 43 48 5f 55 4e 35 33 42 09 30 78 63 30 33 |TECH_UN53B.0xc03| 000000a0 32 09 09 2f 2a 20 69 46 65 65 6c 20 4d 6f 75 73 |2../* iFeel Mous| 000000b0 65 4d 61 6e 20 2a 2f 0a 23 64 65 66 69 6e 65 09 |eMan */.#define.| 000000c0 55 53 42 5f 50 52 4f 44 55 43 54 5f 4c 4f 47 49 |USB_PRODUCT_LOGI| 000000d0 54 45 43 48 5f 57 4d 50 41 44 09 30 78 63 32 30 |TECH_WMPAD.0xc20| > But did you > mean you also saw it with gcc? > Yes, I am pretty sure we have seen this with gcc as well because one of the first machines that started doing this doesn't have the CLANG options in make.conf. I will try to reproduce that to be absolutely sure, but that may take several hours. Thanks!