From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: <libc-alpha-return-58612-listarch-libc-alpha=sources.redhat.com@sourceware.org> Received: (qmail 66200 invoked by alias); 28 Apr 2015 08:22:14 -0000 Mailing-List: contact libc-alpha-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: <libc-alpha.sourceware.org> List-Subscribe: <mailto:libc-alpha-subscribe@sourceware.org> List-Archive: <http://sourceware.org/ml/libc-alpha/> List-Post: <mailto:libc-alpha@sourceware.org> List-Help: <mailto:libc-alpha-help@sourceware.org>, <http://sourceware.org/ml/#faqs> Sender: libc-alpha-owner@sourceware.org Received: (qmail 65373 invoked by uid 89); 28 Apr 2015 08:22:14 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.8 required=5.0 tests=AWL,BAYES_00,KAM_LAZY_DOMAIN_SECURITY,SPF_HELO_PASS,T_RP_MATCHES_RCVD autolearn=no version=3.3.2 X-HELO: mx1.redhat.com Message-ID: <1430209326.1938.141.camel@bordewijk.wildebeest.org> Subject: Re: [PATCH] elf.h SHF_EXCLUDE signed int 31 bit shift triggers undefined behaviour. From: Mark Wielaard <mjw@redhat.com> To: Florian Weimer <fweimer@redhat.com> Cc: Szabolcs Nagy <szabolcs.nagy@arm.com>, "libc-alpha@sourceware.org" <libc-alpha@sourceware.org>, Josh Stone <jistone@redhat.com> Date: Tue, 28 Apr 2015 08:22:00 -0000 In-Reply-To: <55376772.9000207@redhat.com> References: <1427193579-26102-1-git-send-email-mjw@redhat.com> <55117118.1080706@arm.com> <20150324211541.GA2318@blokker.redhat.com> <1429608058.1938.53.camel@bordewijk.wildebeest.org> <5537587D.5020707@redhat.com> <55376772.9000207@redhat.com> Content-Type: multipart/mixed; boundary="=-O8UbxhswospM+uiBaOw7" Mime-Version: 1.0 X-SW-Source: 2015-04/txt/msg00358.txt.bz2 --=-O8UbxhswospM+uiBaOw7 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Content-length: 945 On Wed, 2015-04-22 at 11:18 +0200, Florian Weimer wrote: > On 04/22/2015 10:14 AM, Florian Weimer wrote: > > On 04/21/2015 11:20 AM, Mark Wielaard wrote: > >> -#define SHF_EXCLUDE (1 << 31) /* Section is excluded unless > >> +#define SHF_EXCLUDE (1U << 31) /* Section is excluded unless > >=20 > > I think the safer change is to use -0x80000000 as the value of the > > constant, without making it unsigned. Otherwise my previous objections > > apply. >=20 > I thought some more about this, and have changed my opinion completely. > Making the constant unsigned is less risky than making it negative > because of potential sign extension issues. It's the lesser of two evils. >=20 > The proposed patch is okay with me. Thanks. I didn't see other objections. So if it is good to go in could someone please push it for me? (I don't have glibc git push access.) ChangeLog * elf/elf.h (SHF_EXCLUDE): Use unsigned 1 for shift. --=-O8UbxhswospM+uiBaOw7 Content-Disposition: inline; filename="shf_exclude.patch" Content-Transfer-Encoding: base64 Content-Type: text/x-patch; name="shf_exclude.patch"; charset="UTF-8" Content-length: 1473 RnJvbSA4Njc3MWU4OTYzNjUzYzMwNmU1M2MwN2UxNjQwOTE0MDgxYWZiMzBh IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQ0KRnJvbTogTWFyayBXaWVsYWFy ZCA8bWp3QHJlZGhhdC5jb20+DQpEYXRlOiBUdWUsIDI0IE1hciAyMDE1IDEx OjMyOjM2ICswMTAwDQpTdWJqZWN0OiBbUEFUQ0hdIGVsZi5oIFNIRl9FWENM VURFIHNpZ25lZCBpbnQgMzEgYml0IHNoaWZ0IHRyaWdnZXJzIHVuZGVmaW5l ZA0KIGJlaGF2aW91ci4NCg0KQW55IHVzZSBvZiBTSEZfRVhDTFVERSBpbiBj b2RlIHRoYXQgdHJpZXMgdG8gY2hlY2sgaXQgYWdhaW5zdCBzaF9mbGFncw0K d2lsbCB0cmlnZ2VyIHVuZGVmaW5lZCBiZWhhdmlvdXIgYmVjYXVzZSBpdCBp cyBkZWZpbmVkIGFzIGEgMzEgYml0IHNoaWZ0DQphZ2FpbnN0IGFuIHNpZ25l ZCBpbnRlZ2VyLiBGaXggYnkgZXhwbGljaXRseSB1c2luZyBhbiB1bnNpZ25l ZCBpbnQuDQotLS0NCiBDaGFuZ2VMb2cgfCA0ICsrKysNCiBlbGYvZWxmLmgg fCAyICstDQogMiBmaWxlcyBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDEg ZGVsZXRpb24oLSkNCg0KZGlmZiAtLWdpdCBhL2VsZi9lbGYuaCBiL2VsZi9l bGYuaA0KaW5kZXggNzE0OTJhMi4uMzliYWZjMiAxMDA2NDQNCi0tLSBhL2Vs Zi9lbGYuaA0KKysrIGIvZWxmL2VsZi5oDQpAQCAtMzcxLDcgKzM3MSw3IEBA IHR5cGVkZWYgc3RydWN0DQogI2RlZmluZSBTSEZfTUFTS1BST0MJICAgICAw eGYwMDAwMDAwCS8qIFByb2Nlc3Nvci1zcGVjaWZpYyAqLw0KICNkZWZpbmUg U0hGX09SREVSRUQJICAgICAoMSA8PCAzMCkJLyogU3BlY2lhbCBvcmRlcmlu ZyByZXF1aXJlbWVudA0KIAkJCQkJICAgKFNvbGFyaXMpLiAgKi8NCi0jZGVm aW5lIFNIRl9FWENMVURFCSAgICAgKDEgPDwgMzEpCS8qIFNlY3Rpb24gaXMg ZXhjbHVkZWQgdW5sZXNzDQorI2RlZmluZSBTSEZfRVhDTFVERQkgICAgICgx VSA8PCAzMSkJLyogU2VjdGlvbiBpcyBleGNsdWRlZCB1bmxlc3MNCiAJCQkJ CSAgIHJlZmVyZW5jZWQgb3IgYWxsb2NhdGVkIChTb2xhcmlzKS4qLw0KIA0K IC8qIFNlY3Rpb24gZ3JvdXAgaGFuZGxpbmcuICAqLw0KLS0gDQoxLjguMy4x DQoNCg== --=-O8UbxhswospM+uiBaOw7--