From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5006 invoked by alias); 2 Aug 2012 21:47:04 -0000 Received: (qmail 4988 invoked by uid 22791); 2 Aug 2012 21:47:03 -0000 X-SWARE-Spam-Status: No, hits=-2.9 required=5.0 tests=AWL,BAYES_00,KHOP_THREADED,TW_BJ X-Spam-Check-By: sourceware.org Received: from toast.topped-with-meat.com (HELO topped-with-meat.com) (204.197.218.159) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 02 Aug 2012 21:46:50 +0000 Received: by topped-with-meat.com (Postfix, from userid 5281) id 64D7C2C0AA; Thu, 2 Aug 2012 14:46:48 -0700 (PDT) MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit From: Roland McGrath To: , Subject: Re: [PATCH roland/off64_t] clean up wordsize-64 off_t functions In-Reply-To: Joseph S. Myers's message of Thursday, 2 August 2012 20:46:34 +0000 References: <20120802172110.E4A912C0DF@topped-with-meat.com> Message-Id: <20120802214648.64D7C2C0AA@topped-with-meat.com> Date: Thu, 02 Aug 2012 21:47:00 -0000 X-CMAE-Score: 0 X-CMAE-Analysis: v=2.0 cv=e8d9udV/ c=1 sm=1 a=B1uyGAV3Q-0A:10 a=Z6MIti7PxpgA:10 a=kj9zAlcOel0A:10 a=hOe2yjtxAAAA:8 a=14OXPxybAAAA:8 a=Qc4fHddl_ANPUZUouOQA:9 a=CjuIK1q_8ugA:10 a=WkljmVdYkabdwxfqvArNOQ==:117 X-IsSubscribed: yes Mailing-List: contact libc-ports-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Post: List-Help: , Sender: libc-ports-owner@sourceware.org X-SW-Source: 2012-08/txt/msg00023.txt.bz2 I've updated the roland/off64_t branch and I now think it should cover all wordsize-64 configurations, but only x86_64 has actually been tested. So folks please test on: alpha, ia64, mips64, tilegx64, powerpc64, s390x, sparc64 We don't have much in the way of test coverage for this stuff. So I would recommend checking that it doesn't change the code at all rather than just running the test suite. What I've been doing on x86_64-linux-gnu is: * Do a complete build from master for the baseline. * In your build directory do: $ tar cf save.tar `find . -name '*.so'` $ mkdir =save; (cd =save; tar xf save.tar) * Update your build from the branch: $ push $srcdir; git checkout roland/off64_t; popd $ rm io/lockf* libio/{fseeko,ftello,iof?etpos}* $ make -j (or clean build if you prefer). * Compare objdump -rd output on the saved files: $ so=`find =save -type f | sed s,=save/,,` $ for x in $so; do diff -u <(objdump -rd =save/$x) <(objdump -rd $x) > =save/$x.diff; done $ find =save -name \*.diff -ls Every .diff file for no change will have a size around 260 bytes just for the diff showing the =save/foo vs foo file names. If a .diff file is bigger, then look at it to see if there is something significant. There can sometimes be pervasive insignificant changes, where the actual code is the same but only differs in some immediate values that are the line numbers in __assert_fail calls and things like that. This is pretty easy to tell from eyeballing the diff. When I get good testing reports from two or three of the seven architectures above, I'll put the changes in and if any of the others turn out to be broken you can flame me later. Thanks, Roland