This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Tuesday, February 11, 2014 17:26:38 OndÅej BÃlka wrote: > On Tue, Feb 11, 2014 at 10:35:02AM -0500, Rich Felker wrote: > > On Tue, Feb 11, 2014 at 01:43:46PM +0100, OndÅej BÃlka wrote: > > > In this bug using misaligned condition variable causes a silent failure. > > > > You cannot create a misaligned condvar without invoking undefined > > behavior. > > > > > There are two possibilities how to fix it. First one would be not lie > > > about requirements and add attribute ((aligned)) to header. That could > > > break programs by changing sizes of structures but these were broken in > > > first place. > > > > How is it lying about the requirements? The definition is visible and > > it contains both ints and pointers in the union, so the alignment is > > the maximum alignment needed for them. In practice this will be 4 on > > 32-bit systems and 8 on 64-bit ones. > > > > In any case, the bugreport is invalid. You can never take a pointer to > > members of a #pragma packed struct and pass them to other functions. > > For example, scanf("%d", &packed.x) is invalid because scanf has no > > way of knowing it will get, much less dealing with, an > > invalid/misaligned pointer. This is not specific to pthread > > synchronization objects. > > And by undefined behaviour we could format user harddisk. This is valid > QoI issue as it aborting on undefined behaviour is prefered. but you can make this argument for every single function that takes a pointer argument. surely you can't be proposing that we add assert() to every function entry point to verify the user wasn't stupid ? at some point the answer has to be "wtf go away". -mike
Attachment:
signature.asc
Description: This is a digitally signed message part.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |