[PATCH 2/2] test/tls/tst-tls8: Fix accessing wrong module

Vineet Gupta Vineet.Gupta1 at synopsys.com
Thu Feb 6 12:19:22 UTC 2014


Prev fix only catered to build error, this fixes the semantical bug in
the code.

Signed-off-by: Vineet Gupta <vgupta at synopsys.com>
---
 test/tls/tst-tls8.c | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/test/tls/tst-tls8.c b/test/tls/tst-tls8.c
index e0dd35bbebfc..140de438ef68 100644
--- a/test/tls/tst-tls8.c
+++ b/test/tls/tst-tls8.c
@@ -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
-- 
1.8.3.2



More information about the uClibc mailing list