@@ -84,23 +84,23 @@ do_test (void)
time. The value of the first round is used. */
#ifdef __UCLIBC__
if (modid2 == (size_t) -1)
- modid2 = ((struct dyn_elf *)h1)->dyn->l_tls_modid;
- else if (((struct dyn_elf *)h1)->dyn->l_tls_modid
+ 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 *)h1)->dyn->l_tls_modid,
+ ((struct dyn_elf *)h2)->dyn->l_tls_modid,
modid2);
result = 1;
}
#else
if (modid2 == (size_t) -1)
- modid2 = ((struct link_map *) h1)->l_tls_modid;
- else if (((struct link_map *) h1)->l_tls_modid != modid2)
+ 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 *) h1)->l_tls_modid, modid2);
+ i, ((struct link_map *) h2)->l_tls_modid, modid2);
result = 1;
}
#endif
@@ -178,20 +178,20 @@ do_test (void)
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
+ if (((struct dyn_elf *)h2)->dyn->l_tls_modid
!= modid2)
{
printf ("round %d: modid now %zd, initially %zd\n",
i,
- ((struct dyn_elf *)h1)->dyn->l_tls_modid,
+ ((struct dyn_elf *)h2)->dyn->l_tls_modid,
modid2);
result = 1;
}
#else
- if (((struct link_map *) h1)->l_tls_modid != modid2)
+ if (((struct link_map *) h2)->l_tls_modid != modid2)
{
printf ("round %d: modid now %zd, initially %zd\n",
- i, ((struct link_map *) h1)->l_tls_modid, modid2);
+ i, ((struct link_map *) h2)->l_tls_modid, modid2);
result = 1;
}
#endif
Prev fix only catered to build error, this fixes the semantical bug in the code. Signed-off-by: Vineet Gupta <vgupta@synopsys.com> --- test/tls/tst-tls8.c | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-)