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 dynamic-link/18383] New: TLS blocks with very large alignment not handled right


https://sourceware.org/bugzilla/show_bug.cgi?id=18383

            Bug ID: 18383
           Summary: TLS blocks with very large alignment not handled right
           Product: glibc
           Version: 2.21
            Status: NEW
          Severity: normal
          Priority: P2
         Component: dynamic-link
          Assignee: unassigned at sourceware dot org
          Reporter: roland at gnu dot org
  Target Milestone: ---

I'm going to add the test case to the test suite momentarily, so I won't
attach it here.

The test case contains:
        static __thread int tdata1 = 1;
        static __thread int tdata2 __attribute__ ((aligned (0x10))) = 2;
        static __thread int tdata3 __attribute__ ((aligned (0x1000))) = 4;
        static __thread int tbss1;
        static __thread int tbss2 __attribute__ ((aligned (0x10)));
        static __thread int tbss3 __attribute__ ((aligned (0x1000)));

On arm-linux-gnueabihf, tdata3 comes out with bad alignment and not
initialized with the right value and tbss3 comes out with bad alignment.
It's the same in the dynamic and static versions of the case.

On x86_64-linux-gnu, the dynamic version works right but the static version
crashes in startup.

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