[PATCH 1/2] test/tls/tst-tls[6-8]: Fix build errors

Filippo Arcidiacono filippo.arcidiacono at st.com
Thu Feb 6 13:25:08 UTC 2014


On 2/6/2014 1:23 PM, Baruch Siach wrote:
> Hi Vineet,
>
> On Thu, Feb 06, 2014 at 05:49:21PM +0530, Vineet Gupta wrote:
>> --------------->8-------------------
>> tst-tls7.c: In function 'do_test':
>> tst-tls7.c:39:57: error: 'struct link_map' has no member named 'l_tls_modid'
>>    modid = ((struct link_map *)((struct dyn_elf *)h)->dyn)->l_tls_modid;
>>                                                           ^
>> tst-tls7.c:40:63: error: 'struct link_map' has no member named 'l_tls_modid'
>>         else if (((struct link_map *)((struct dyn_elf *)h)->dyn)->l_tls_modid
>>                                                                 ^
>> tst-tls7.c:45:52: error: 'struct link_map' has no member named 'l_tls_modid'
>>       ((struct link_map *)((struct dyn_elf *)h)->dyn)->l_tls_modid,
>>                                                      ^
>> make[2]: *** [tst-tls7] Error 1
>> --------------->8-------------------
> I used a different approach to fix the same issue some while ago:
> http://article.gmane.org/gmane.comp.lib.uclibc.general/23449 . Does this work
> for you?
I wonder it should be fixed time ago by commit 
d9c7e6a19ea2c96080f3bf7de069acf87c9a8a5d,
adding include path directive in Makefile.in.
>
> baruch
Filippo
>
>> Signed-off-by: Vineet Gupta <vgupta at synopsys.com>
>> ---
>>   test/tls/tst-tls6.c |  7 +++----
>>   test/tls/tst-tls7.c |  7 +++----
>>   test/tls/tst-tls8.c | 21 ++++++++++-----------
>>   3 files changed, 16 insertions(+), 19 deletions(-)
>>
>> diff --git a/test/tls/tst-tls6.c b/test/tls/tst-tls6.c
>> index e692aca6b7c3..0ebc50737b3e 100644
>> --- a/test/tls/tst-tls6.c
>> +++ b/test/tls/tst-tls6.c
>> @@ -38,13 +38,12 @@ do_test (void)
>>   	 time.  The value of the first round is used.  */
>>   #ifdef __UCLIBC__
>>         if (modid == -1)
>> -	modid = ((struct link_map *)((struct dyn_elf *)h)->dyn)->l_tls_modid;
>> -      else if (((struct link_map *)((struct dyn_elf *)h)->dyn)->l_tls_modid
>> -        != (size_t) modid)
>> +	modid = ((struct dyn_elf *) h)->dyn->l_tls_modid;
>> +      else if (((struct dyn_elf *)h)->dyn->l_tls_modid != (size_t) modid)
>>   	{
>>   	  printf ("round %d: modid now %zu, initially %d\n",
>>   		  i,
>> -		  ((struct link_map *)((struct dyn_elf *)h)->dyn)->l_tls_modid,
>> +		  ((struct dyn_elf *)h)->dyn->l_tls_modid,
>>   		  modid);
>>   	  result = 1;
>>   	}
>> diff --git a/test/tls/tst-tls7.c b/test/tls/tst-tls7.c
>> index 41da2708d34b..2dde9afa4935 100644
>> --- a/test/tls/tst-tls7.c
>> +++ b/test/tls/tst-tls7.c
>> @@ -36,13 +36,12 @@ do_test (void)
>>   	 time.  The value of the first round is used.  */
>>   #ifdef __UCLIBC__
>>         if (modid == -1)
>> -	modid = ((struct link_map *)((struct dyn_elf *)h)->dyn)->l_tls_modid;
>> -      else if (((struct link_map *)((struct dyn_elf *)h)->dyn)->l_tls_modid
>> -        != (size_t) modid)
>> +	modid = ((struct dyn_elf *) h)->dyn->l_tls_modid;
>> +      else if (((struct dyn_elf *)h)->dyn->l_tls_modid != (size_t) modid)
>>   	{
>>   	  printf ("round %d: modid now %zu, initially %d\n",
>>   		  i,
>> -		  ((struct link_map *)((struct dyn_elf *)h)->dyn)->l_tls_modid,
>> +		  ((struct dyn_elf *)h)->dyn->l_tls_modid,
>>   		  modid);
>>   	  result = 1;
>>   	}
>> diff --git a/test/tls/tst-tls8.c b/test/tls/tst-tls8.c
>> index 2541609f1842..e0dd35bbebfc 100644
>> --- a/test/tls/tst-tls8.c
>> +++ b/test/tls/tst-tls8.c
>> @@ -41,13 +41,12 @@ do_test (void)
>>   	 time.  The value of the first round is used.  */
>>   #ifdef __UCLIBC__
>>         if (modid1 == (size_t) -1)
>> -	modid1 = ((struct link_map *)((struct dyn_elf *)h1)->dyn)->l_tls_modid;
>> -      else if (((struct link_map *)((struct dyn_elf *)h1)->dyn)->l_tls_modid
>> -        != (size_t) modid1)
>> +	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 link_map *)((struct dyn_elf *)h1)->dyn)->l_tls_modid,
>> +		  ((struct dyn_elf *)h1)->dyn->l_tls_modid,
>>   		  modid1);
>>   	  result = 1;
>>   	}
>> @@ -85,13 +84,13 @@ do_test (void)
>>   	 time.  The value of the first round is used.  */
>>   #ifdef __UCLIBC__
>>         if (modid2 == (size_t) -1)
>> -	modid2 = ((struct link_map *)((struct dyn_elf *)h1)->dyn)->l_tls_modid;
>> -      else if (((struct link_map *)((struct dyn_elf *)h1)->dyn)->l_tls_modid
>> +	modid2 = ((struct dyn_elf *)h1)->dyn->l_tls_modid;
>> +      else if (((struct dyn_elf *)h1)->dyn->l_tls_modid
>>           != (size_t) modid2)
>>   	{
>>   	  printf ("round %d: modid now %zd, initially %zd\n",
>>   		  i,
>> -		  ((struct link_map *)((struct dyn_elf *)h1)->dyn)->l_tls_modid,
>> +		  ((struct dyn_elf *)h1)->dyn->l_tls_modid,
>>   		  modid2);
>>   	  result = 1;
>>   	}
>> @@ -139,12 +138,12 @@ 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 link_map *)((struct dyn_elf *)h1)->dyn)->l_tls_modid
>> +      if (((struct dyn_elf *)h1)->dyn->l_tls_modid
>>           != modid1)
>>   	{
>>   	  printf ("round %d: modid now %zd, initially %zd\n",
>>   		  i,
>> -		  ((struct link_map *)((struct dyn_elf *)h1)->dyn)->l_tls_modid,
>> +		  ((struct dyn_elf *)h1)->dyn->l_tls_modid,
>>   		  modid1);
>>   	  result = 1;
>>   	}
>> @@ -179,12 +178,12 @@ 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 link_map *)((struct dyn_elf *)h1)->dyn)->l_tls_modid
>> +      if (((struct dyn_elf *)h1)->dyn->l_tls_modid
>>           != modid2)
>>   	{
>>   	  printf ("round %d: modid now %zd, initially %zd\n",
>>   		  i,
>> -		  ((struct link_map *)((struct dyn_elf *)h1)->dyn)->l_tls_modid,
>> +		  ((struct dyn_elf *)h1)->dyn->l_tls_modid,
>>   		  modid2);
>>   	  result = 1;
>>   	}
>> -- 
>> 1.8.3.2



More information about the uClibc mailing list