diff options
author | Yann Sionneau <yann@sionneau.net> | 2020-04-05 13:35:40 +0200 |
---|---|---|
committer | Waldemar Brodkorb <wbx@openadk.org> | 2020-04-05 14:44:09 +0200 |
commit | 1c58c0086a8d9eff2eed2a945b726e2c50ddbe70 (patch) | |
tree | 53c85b454b7e9a6532007c75e48eb128c9d6e837 /test/tls/tst-tls8.c | |
parent | 8ab96759ea68faed9a758d165f4b973641d5de3e (diff) |
tls: make tls tests great again
* TLS tests were "empty" because nothing was setting the following variables:
* USE_TLS
* HAVE___THREAD
* HAVE_TLS_MODEL_ATTRIBUTE
All toolchains supported by uClibc-ng today do support both NPTL threads and TLS.
All ports also define HAVE_TLS_MODEL_ATTRIBUTE except alpha.
* 3 tests (tst-tls6 / tst-tls7 / tst-tls8) were peeking into internal/private
data structures from libc, which is not possible anymore since libc and
tests are now split into 2 git repositories.
This commit fixes those 2 issues so that TLS tests can be run again.
Signed-off-by: Yann Sionneau <yann@sionneau.net>
Diffstat (limited to 'test/tls/tst-tls8.c')
-rw-r--r-- | test/tls/tst-tls8.c | 95 |
1 files changed, 0 insertions, 95 deletions
diff --git a/test/tls/tst-tls8.c b/test/tls/tst-tls8.c index 4635304..a723cab 100644 --- a/test/tls/tst-tls8.c +++ b/test/tls/tst-tls8.c @@ -29,31 +29,6 @@ do_test (void) exit (1); } - /* Dirty test code here: we peek into a private data structure. - We make sure that the module gets assigned the same ID every - time. The value of the first round is used. */ -#ifdef __UCLIBC__ - if (modid1 == (size_t) -1) - modid1 = ((struct dyn_elf *) h1)->dyn->l_tls_modid; - else if (((struct dyn_elf *)h1)->dyn->l_tls_modid != (size_t) modid1) - { - printf ("round %d: modid now %zd, initially %zd\n", - i, - ((struct dyn_elf *)h1)->dyn->l_tls_modid, - modid1); - result = 1; - } -#else - if (modid1 == (size_t) -1) - modid1 = ((struct link_map *) h1)->l_tls_modid; - else if (((struct link_map *) h1)->l_tls_modid != modid1) - { - printf ("round %d: modid now %zd, initially %zd\n", - i, ((struct link_map *) h1)->l_tls_modid, modid1); - result = 1; - } -#endif - fp1 = dlsym (h1, "in_dso2"); if (fp1 == NULL) { @@ -72,32 +47,6 @@ do_test (void) exit (1); } - /* Dirty test code here: we peek into a private data structure. - We make sure that the module gets assigned the same ID every - time. The value of the first round is used. */ -#ifdef __UCLIBC__ - if (modid2 == (size_t) -1) - modid2 = ((struct dyn_elf *)h2)->dyn->l_tls_modid; - else if (((struct dyn_elf *)h2)->dyn->l_tls_modid - != (size_t) modid2) - { - printf ("round %d: modid now %zd, initially %zd\n", - i, - ((struct dyn_elf *)h2)->dyn->l_tls_modid, - modid2); - result = 1; - } -#else - if (modid2 == (size_t) -1) - modid2 = ((struct link_map *) h2)->l_tls_modid; - else if (((struct link_map *) h2)->l_tls_modid != modid2) - { - printf ("round %d: modid now %zd, initially %zd\n", - i, ((struct link_map *) h2)->l_tls_modid, modid2); - result = 1; - } -#endif - bazp = dlsym (h2, "baz"); if (bazp == NULL) { @@ -127,28 +76,6 @@ do_test (void) exit (1); } - /* Dirty test code here: we peek into a private data structure. - We make sure that the module gets assigned the same ID every - time. The value of the first round is used. */ -#ifdef __UCLIBC__ - if (((struct dyn_elf *)h1)->dyn->l_tls_modid - != modid1) - { - printf ("round %d: modid now %zd, initially %zd\n", - i, - ((struct dyn_elf *)h1)->dyn->l_tls_modid, - modid1); - result = 1; - } -#else - if (((struct link_map *) h1)->l_tls_modid != modid1) - { - printf ("round %d: modid now %zd, initially %zd\n", - i, ((struct link_map *) h1)->l_tls_modid, modid1); - result = 1; - } -#endif - fp1 = dlsym (h1, "in_dso2"); if (fp1 == NULL) { @@ -167,28 +94,6 @@ do_test (void) exit (1); } - /* Dirty test code here: we peek into a private data structure. - We make sure that the module gets assigned the same ID every - time. The value of the first round is used. */ -#ifdef __UCLIBC__ - if (((struct dyn_elf *)h2)->dyn->l_tls_modid - != modid2) - { - printf ("round %d: modid now %zd, initially %zd\n", - i, - ((struct dyn_elf *)h2)->dyn->l_tls_modid, - modid2); - result = 1; - } -#else - if (((struct link_map *) h2)->l_tls_modid != modid2) - { - printf ("round %d: modid now %zd, initially %zd\n", - i, ((struct link_map *) h2)->l_tls_modid, modid2); - result = 1; - } -#endif - bazp = dlsym (h2, "baz"); if (bazp == NULL) { |