diff mbox

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

Message ID 1391689162-1702-2-git-send-email-vgupta@synopsys.com
State Accepted, archived
Headers show

Commit Message

Vineet Gupta Feb. 6, 2014, 12:19 p.m. UTC
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(-)

Comments

Bernhard Reutner-Fischer Feb. 15, 2014, 10:06 a.m. UTC | #1
On Thu, Feb 06, 2014 at 05:49:22PM +0530, Vineet Gupta wrote:
> Prev fix only catered to build error, this fixes the semantical bug in
> the code.

Applied.
Please fix this in glibc too, these tests are imported from glibc.
diff mbox

Patch

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