Patchwork PR 54805: __gthread_tsd* in vxlib-tls.c

login
register
mail settings
Submitter rbmj
Date Nov. 5, 2012, 5:57 p.m.
Message ID <5097FE1B.6060409@verizon.net>
Download mbox | patch
Permalink /patch/197257/
State New
Headers show

Comments

rbmj - Nov. 5, 2012, 5:57 p.m.
Hello all,

Since nobody has commented on bug 54805, and I'm pretty sure this is 
valid (and obvious), I'm just submitting it to the list.

This removes warnings about implicit declarations and fixes one of the 
function calls in vxlib-tls.c for vxworks targets.

I got the old prototypes from 
http://gcc.gnu.org/ml/gcc-patches/2005-08/msg01314.html

See bug for further details.

Someone please comment or commit :)

--
Robert Mason
rbmj - Nov. 14, 2012, 3:22 a.m.
On 11/5/2012 12:57 PM, rbmj wrote:
> This removes warnings about implicit declarations and fixes one of the
> function calls in vxlib-tls.c for vxworks targets.
>
> I got the old prototypes from
> http://gcc.gnu.org/ml/gcc-patches/2005-08/msg01314.html
>
> See bug for further details.
>
> Someone please comment or commit :)
>

Ping: http://gcc.gnu.org/ml/gcc-patches/2012-11/msg00406.html

Robert Mason
rbmj - Nov. 26, 2012, 6:27 p.m.
On 11/13/2012 10:22 PM, rbmj wrote:
> On 11/5/2012 12:57 PM, rbmj wrote:
>> This removes warnings about implicit declarations and fixes one of the
>> function calls in vxlib-tls.c for vxworks targets.
>>
>> I got the old prototypes from
>> http://gcc.gnu.org/ml/gcc-patches/2005-08/msg01314.html
>>
>> See bug for further details.
>>
>> Someone please comment or commit :)
>>
>
> Ping: http://gcc.gnu.org/ml/gcc-patches/2012-11/msg00406.html
>
> Robert Mason
>
>

Ping^2
rbmj - Dec. 6, 2012, 3:14 p.m.
On 26-Nov-12 13:27, rbmj wrote:
> On 11/13/2012 10:22 PM, rbmj wrote:
>> On 11/5/2012 12:57 PM, rbmj wrote:
>>> This removes warnings about implicit declarations and fixes one of the
>>> function calls in vxlib-tls.c for vxworks targets.
>>>
>>> I got the old prototypes from
>>> http://gcc.gnu.org/ml/gcc-patches/2005-08/msg01314.html
>>>
>>> See bug for further details.
>>>
>>> Someone please comment or commit :)
>>>
>>
>> Ping: http://gcc.gnu.org/ml/gcc-patches/2012-11/msg00406.html
>>
>> Robert Mason
>>
>>
>
> Ping^2
>
Ping^3?
rbmj - Jan. 6, 2013, 4:18 a.m.
On 06-Dec-12 10:14, rbmj wrote:
> On 26-Nov-12 13:27, rbmj wrote:
>> On 11/13/2012 10:22 PM, rbmj wrote:
>>> On 11/5/2012 12:57 PM, rbmj wrote:
>>>> This removes warnings about implicit declarations and fixes one of the
>>>> function calls in vxlib-tls.c for vxworks targets.
>>>>
>>>> I got the old prototypes from
>>>> http://gcc.gnu.org/ml/gcc-patches/2005-08/msg01314.html
>>>>
>>>> See bug for further details.
>>>>
>>>> Someone please comment or commit :)
>>>>
>>>
>>> Ping: http://gcc.gnu.org/ml/gcc-patches/2012-11/msg00406.html
>>>
>>> Robert Mason
>>>
>>>
>>
>> Ping^2
>>
> Ping^3?
>

Ping^4?
rbmj - Jan. 18, 2013, 1:05 a.m.
On 05-Jan-13 23:18, rbmj wrote:
> On 06-Dec-12 10:14, rbmj wrote:
>> On 26-Nov-12 13:27, rbmj wrote:
>>> On 11/13/2012 10:22 PM, rbmj wrote:
>>>> On 11/5/2012 12:57 PM, rbmj wrote:
>>>>> This removes warnings about implicit declarations and fixes one of the
>>>>> function calls in vxlib-tls.c for vxworks targets.
>>>>>
>>>>> I got the old prototypes from
>>>>> http://gcc.gnu.org/ml/gcc-patches/2005-08/msg01314.html
>>>>>
>>>>> See bug for further details.
>>>>>
>>>>> Someone please comment or commit :)
>>>>>
>>>>
>>>> Ping: http://gcc.gnu.org/ml/gcc-patches/2012-11/msg00406.html
>>>>
>>>> Robert Mason
>>>>
>>>>
>>>
>>> Ping^2
>>>
>> Ping^3?
>>
>
> Ping^4?
>
Dare I ping^5?
Mike Stump - Jan. 18, 2013, 1:18 a.m.
On Jan 17, 2013, at 5:05 PM, rbmj <rbmj@verizon.net> wrote:
> On 05-Jan-13 23:18, rbmj wrote:
>> On 06-Dec-12 10:14, rbmj wrote:
>>> On 26-Nov-12 13:27, rbmj wrote:
>>>> On 11/13/2012 10:22 PM, rbmj wrote:
>>>>> On 11/5/2012 12:57 PM, rbmj wrote:
>>>>>> This removes warnings about implicit declarations and fixes one of the
>>>>>> function calls in vxlib-tls.c for vxworks targets.
>>>>>> 
>>>>>> I got the old prototypes from
>>>>>> http://gcc.gnu.org/ml/gcc-patches/2005-08/msg01314.html
>>>>>> 
>>>>>> See bug for further details.
>>>>>> 
>>>>>> Someone please comment or commit :)
>>>>>> 
>>>>> 
>>>>> Ping: http://gcc.gnu.org/ml/gcc-patches/2012-11/msg00406.html
>>>>> 
>>>>> Robert Mason
>>>>> 
>>>>> 
>>>> 
>>>> Ping^2
>>>> 
>>> Ping^3?
>>> 
>> 
>> Ping^4?
>> 
> Dare I ping^5?

You are now entered into the most ignored and most trivial gcc patch contest.  You presently are behind the leader, but, if you can get another 10 pings in before approval, you can win!  Good luck.
Maxim Kuvyrkov - Jan. 18, 2013, 2:15 a.m.
On 18/01/2013, at 2:18 PM, Mike Stump wrote:

> On Jan 17, 2013, at 5:05 PM, rbmj <rbmj@verizon.net> wrote:
>> On 05-Jan-13 23:18, rbmj wrote:
>>> On 06-Dec-12 10:14, rbmj wrote:
>>>> On 26-Nov-12 13:27, rbmj wrote:
>>>>> On 11/13/2012 10:22 PM, rbmj wrote:
>>>>>> On 11/5/2012 12:57 PM, rbmj wrote:
>>>>>>> This removes warnings about implicit declarations and fixes one of the
>>>>>>> function calls in vxlib-tls.c for vxworks targets.
>>>>>>> 
>>>>>>> I got the old prototypes from
>>>>>>> http://gcc.gnu.org/ml/gcc-patches/2005-08/msg01314.html
>>>>>>> 
>>>>>>> See bug for further details.
>>>>>>> 
>>>>>>> Someone please comment or commit :)
>>>>>>> 
>>>>>> 
>>>>>> Ping: http://gcc.gnu.org/ml/gcc-patches/2012-11/msg00406.html
>>>>>> 
>>>>>> Robert Mason
>>>>>> 
>>>>>> 
>>>>> 
>>>>> Ping^2
>>>>> 
>>>> Ping^3?
>>>> 
>>> 
>>> Ping^4?
>>> 
>> Dare I ping^5?
> 
> You are now entered into the most ignored and most trivial gcc patch contest.  You presently are behind the leader, but, if you can get another 10 pings in before approval, you can win!  Good luck.

Thanks for hanging out for so long.  A couple of tips to increase your luck with getting a patch reviewed.  First, address your submission to specific people, use your best-guess to choose a maintainer who can review this patch.  Otherwise diffusion of responsibility will kill your patch (everyone will think that someone else will review it).

Second -- present the full problem statement in the patch submission, don't just reference a PR  .  To make a click we (reviewers and maintainers) need to move our hand from keyboard to mouse, and that's so hard when we are just scanning the mailing list.

Lastly, your patch is OK with the following nitpicks.  I will check in your [updated] patch once GCC 4.8 branches and trunk opens for development.  [Strictly, I'm not a maintainer, but this is a trivial cleanup.]

> diff --git a/libgcc/config/vxlib-tls.c b/libgcc/config/vxlib-tls.c
> index c469676..a2f5e34 100644
> --- a/libgcc/config/vxlib-tls.c
> +++ b/libgcc/config/vxlib-tls.c
> @@ -102,6 +102,14 @@ extern void __gthread_set_tls_data (void
>  extern void __gthread_enter_tls_dtor_context (void);
>  extern void __gthread_leave_tls_dtor_context (void);
> 
> +#ifndef __
> RTP
> __
> +
> +extern void *__gthread_get_tsd_data(WIND_TCB *tcb);
> +extern void __gthread_set_tsd_data(WIND_TCB *tcb, void *data);
> +extern void __gthread_enter_tsd_dtor_context(WIND_TCB *tcb);
> +extern void __gthread_leave_tsd_dtor_context(WIND_TCB *tcb);

Follow GNU coding standard: add <space> before '('.  Better yet, just copy declarations from contrib/gthr_supp_vxw_5x.c

> +
> +#endif /* __
> RTP
> __ */
> 
>  /* This is a global structure which records all of the active keys.
> 
> @@ -150,7 +158,7 @@ static __gthread_once_t tls_init_guard =
>     need to read tls_keys.dtor[key] atomically.  */
> 
>  static void
> -tls_delete_hook (void *tcb ATTRIBUTE_UNUSED)
> +tls_delete_hook (void *tcb)

Don't remove ATTRIBUTE_UNUSED.  TCB was and will remain unused #ifdef __RTP__.

>  {
>    struct tls_data *data;
>    __gthread_key_t key;
> @@ -185,7 +193,7 @@ tls_delete_hook (void *tcb ATTRIBUTE_UNU
>  #ifdef __
> RTP
> __
>        __gthread_leave_tls_dtor_context ();
>  #else
> -      __gthread_leave_tsd_dtor_context ();
> +      __gthread_leave_tsd_dtor_context (tcb);
>  #endif

OK.

Thanks,

--
Maxim Kuvyrkov
rbmj - Jan. 18, 2013, 8:18 p.m.
On 17-Jan-13 20:18, Mike Stump wrote:
>
> You are now entered into the most ignored and most trivial gcc patch
> contest.  You presently are behind the leader, but, if you can get
> another 10 pings in before approval, you can win!  Good luck.
>

Thanks.  I know it's trivial, but 1. it's not hard to ping, and 2. for 
some reason small bugs just nag me :)

On 17-Jan-13 21:15, Maxim Kuvyrkov wrote:
>
> Thanks for hanging out for so long.  A couple of tips to increase your
 > luck with getting a patch reviewed.  First, address your submission to
 > specific people, use your best-guess to choose a maintainer who can
 > review this patch.  Otherwise diffusion of responsibility will kill
 > your patch (everyone will think that someone else will review it).
>

Thanks, I'll keep that in mind.

 >
> Second -- present the full problem statement in the patch submission,
 > don't just reference a PR  .  To make a click we (reviewers and
 > maintainers) need to move our hand from keyboard to mouse, and that's
 > so hard when we are just scanning the mailing list.
>

OK.  It just seemed redundant to put the same information in both the 
bug tracker and the mailing list.  Again, I'll remember to provide more 
info.

> Lastly, your patch is OK with the following nitpicks.  I will check in
 > your [updated] patch once GCC 4.8 branches and trunk opens for
 > development.  [Strictly, I'm not a maintainer, but this is a trivial
 > cleanup.]
>
> <snip />
>
>> +
>> +#endif /* __
>> RTP
>> __ */
>>
>>   /* This is a global structure which records all of the active keys.
>>
>> @@ -150,7 +158,7 @@ static __gthread_once_t tls_init_guard =
>>      need to read tls_keys.dtor[key] atomically.  */
>>
>>   static void
>> -tls_delete_hook (void *tcb ATTRIBUTE_UNUSED)
>> +tls_delete_hook (void *tcb)
>
> Don't remove ATTRIBUTE_UNUSED.  TCB was and will remain unused #ifdef __RTP__.
>

And #ifndef __RTP__ ?

Thanks for looking!  I'll make the necessary changes.

--
Robert
Maxim Kuvyrkov - Jan. 19, 2013, 1:35 a.m.
On 19/01/2013, at 9:18 AM, rbmj wrote:

>>>  -150,7 +158,7 @@ static __gthread_once_t tls_init_guard =
>>>     need to read tls_keys.dtor[key] atomically.  */
>>> 
>>>  static void
>>> -tls_delete_hook (void *tcb ATTRIBUTE_UNUSED)
>>> +tls_delete_hook (void *tcb)
>> 
>> Don't remove ATTRIBUTE_UNUSED.  TCB was and will remain unused #ifdef __RTP__.
>> 
> 
> And #ifndef __RTP__ ?

No, simply leave that line as is.  ATTRIBUTE_UNUSED tells the compiler that a variable can be unused, but not necessarily is unused.  It's fine to have this attribute set on variables that are used under certain preprocessor configurations.

Thanks,

--
Maxim Kuvyrkov

Patch

From d008e235167796417cf6a8f68f7206dc4351b5c3 Mon Sep 17 00:00:00 2001
From: rbmj <rbmj@verizon.net>
Date: Wed, 26 Sep 2012 20:12:52 -0400
Subject: [PATCH] [libgcc] 	* config/vxlib-tls.c: Put declarations for
 kernel space TSD

---
 libgcc/config/vxlib-tls.c |   11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/libgcc/config/vxlib-tls.c b/libgcc/config/vxlib-tls.c
index c469676..a2f5e34 100644
--- a/libgcc/config/vxlib-tls.c
+++ b/libgcc/config/vxlib-tls.c
@@ -102,6 +102,14 @@  extern void __gthread_set_tls_data (void
 extern void __gthread_enter_tls_dtor_context (void);
 extern void __gthread_leave_tls_dtor_context (void);
 
+#ifndef __RTP__
+
+extern void *__gthread_get_tsd_data(WIND_TCB *tcb);
+extern void __gthread_set_tsd_data(WIND_TCB *tcb, void *data);
+extern void __gthread_enter_tsd_dtor_context(WIND_TCB *tcb);
+extern void __gthread_leave_tsd_dtor_context(WIND_TCB *tcb);
+
+#endif /* __RTP__ */
 
 /* This is a global structure which records all of the active keys.
 
@@ -150,7 +158,7 @@  static __gthread_once_t tls_init_guard =
    need to read tls_keys.dtor[key] atomically.  */
 
 static void
-tls_delete_hook (void *tcb ATTRIBUTE_UNUSED)
+tls_delete_hook (void *tcb)
 {
   struct tls_data *data;
   __gthread_key_t key;
@@ -185,7 +193,7 @@  tls_delete_hook (void *tcb ATTRIBUTE_UNU
 #ifdef __RTP__
       __gthread_leave_tls_dtor_context ();
 #else
-      __gthread_leave_tsd_dtor_context ();
+      __gthread_leave_tsd_dtor_context (tcb);
 #endif
 
 #ifdef __RTP__

-- 1.7.10.4