Permalink
Cannot retrieve contributors at this time
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
glibc/elf/tst-tlsalign-vars.c
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
28 lines (25 sloc)
1010 Bytes
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* This is for tst-tlsalign-extern.c, which see. It's essential for the | |
purpose of the test that these definitions be in a separate translation | |
unit from the code using the variables. */ | |
__thread int tdata1 = 1; | |
__thread int tdata2 __attribute__ ((aligned (0x10))) = 2; | |
__thread int tdata3 __attribute__ ((aligned (0x1000))) = 4; | |
__thread int tbss1; | |
__thread int tbss2 __attribute__ ((aligned (0x10))); | |
__thread int tbss3 __attribute__ ((aligned (0x1000))); | |
/* This function is never called. But its presence in this translation | |
unit makes GCC emit the variables above in the order defined (perhaps | |
because it's the order in which they're used here?) rather than | |
reordering them into descending order of alignment requirement--and so | |
keeps it more similar to the tst-tlsalign-static.c case--just in case | |
that affects the bug (though there is no evidence that it does). */ | |
void | |
unused (void) | |
{ | |
tdata1 = -1; | |
tdata2 = -2; | |
tdata3 = -3; | |
tbss1 = -4; | |
tbss2 = -5; | |
tbss3 = -6; | |
} |