summaryrefslogtreecommitdiff
path: root/test/tls/tst-tls8.c
diff options
context:
space:
mode:
authorYann Sionneau <yann@sionneau.net>2020-04-05 13:35:40 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2020-04-05 14:44:09 +0200
commit1c58c0086a8d9eff2eed2a945b726e2c50ddbe70 (patch)
tree53c85b454b7e9a6532007c75e48eb128c9d6e837 /test/tls/tst-tls8.c
parent8ab96759ea68faed9a758d165f4b973641d5de3e (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.c95
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)
{