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--