This is the mail archive of the glibc-bugs@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]

[Bug libc/12113] Segmentation fault in dynamic loader on AVX enabled OS and CPU with AVX


http://sourceware.org/bugzilla/show_bug.cgi?id=12113

--- Comment #9 from H.J. Lu <hjl.tools at gmail dot com> 2010-10-13 13:50:21 UTC ---
(In reply to comment #8)
> The aligning should happen explicitly.  There is no need for the preceding
> __unused field if this doesn't align the following SSE storage.  We need to add
> more __unused data so that we can, perhaps, reuse those fields in future for
> other things.

Offset is good for up to 128byte alignment:

tcb-offsets.h:#define RTLD_SAVESPACE_SSE 128

But tcbhead_t is only aligned at 16byte. No matter
how much padding you add, rtld_savespace_sse can only
be guaranteed to be aligned at alignment of tcbhead_t.

> 
> About the new test: of course it's good to have tests.  I just don't see where
> this test differs from other tests.  We of course already have tests which do
> dynamic loading.  What is this test adding?

This test happens to make tcbhead_t only aligned at
16byte, not 32byte. My patch aligns tcbhead_t at maximum
register size so that rtld_savespace_sse is properly aligned.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]