Re: [PING^5] PR 54805: __gthread_tsd* in vxlib-tls.c

2013-03-26 Thread Maxim Kuvyrkov
On 25/03/2013, at 10:15 PM, Richard Biener wrote:

 On Thu, Mar 21, 2013 at 12:22 AM, Maxim Kuvyrkov ma...@kugelworks.com wrote:
...
 Richard,
 
 As release manager, do you have any objections to backporting this patch to 
 4.8 branch?  It affects only VxWorks targets and it is quite harmless (the 
 patch fixes a compilation warning during building GCC for VxWorks targets).
 
 It's certainly fine now.

Checked in to gcc-4_8-branch.

--
Maxim Kuvyrkov
KugelWorks





Re: [PING^5] PR 54805: __gthread_tsd* in vxlib-tls.c

2013-03-25 Thread Richard Biener
On Thu, Mar 21, 2013 at 12:22 AM, Maxim Kuvyrkov ma...@kugelworks.com wrote:
 On 20/03/2013, at 1:35 AM, rbmj wrote:

 On 19-Mar-13 03:04, Maxim Kuvyrkov wrote:

 Will commit to trunk once the server is up.

 The patch is now committed.


 Regarding 4.8, we should've really tried to work it out earlier.  If you 
 want to pursue backport to 4.8, please attach the log of PPA system 
 rejecting the package

 The error is:

 ==
 Finished at 20130318-0642
 Build needed 00:14:20, 804796k disk space
 Function `__gthread_get_tsd_data' implicitly converted to pointer at 
 /build/buildd/gcc-powerpc-wrs-vxworks-4.8.0+0svn196132/libgcc/config/vxlib-tls.c:164



 Our automated build log filter detected the problem(s) above that will
 likely cause your package to segfault on architectures where the size of
 a pointer is greater than the size of an integer, such as ia64 and amd64.

 This is often due to a missing function prototype definition.

 Since use of implicitly converted pointers is always fatal to the application
 on ia64, they are errors.  Please correct them for your next upload.
 ==

 This problem does not apply on the target (powerpc-wrs-vxworks), where 
 sizeof(int*) == sizeof(int(*)()) == sizeof(int) == 4.  However, the build 
 system's filters are too stupid to realize this.  Because the warning is 
 spurious really the fact that the automated build system rejects the package 
 is a bug on the build system's part.  However, doing it the Right Way is so 
 _easy_...

 Richard,

 As release manager, do you have any objections to backporting this patch to 
 4.8 branch?  It affects only VxWorks targets and it is quite harmless (the 
 patch fixes a compilation warning during building GCC for VxWorks targets).

It's certainly fine now.

Richard.

 Thanks,

 --
 Maxim Kuvyrkov
 KugelWorks



Re: [PING^5] PR 54805: __gthread_tsd* in vxlib-tls.c

2013-03-20 Thread rbmj
It looks like this message didn't go through; if you get this multiple 
times I apologize.  I've been having issues so I don't trust that it 
sent correctly :/


On 19-Mar-13 03:04, Maxim Kuvyrkov wrote:


Will commit to trunk once the server is up.

Regarding 4.8, we should've really tried to work it out earlier.  If you want 
to pursue backport to 4.8, please attach the log of PPA system rejecting the 
package


The error is:

==
Finished at 20130318-0642
Build needed 00:14:20, 804796k disk space
Function `__gthread_get_tsd_data' implicitly converted to pointer at 
/build/buildd/gcc-powerpc-wrs-vxworks-4.8.0+0svn196132/libgcc/config/vxlib-tls.c:164




Our automated build log filter detected the problem(s) above that will
likely cause your package to segfault on architectures where the size of
a pointer is greater than the size of an integer, such as ia64 and amd64.

This is often due to a missing function prototype definition.

Since use of implicitly converted pointers is always fatal to the 
application

on ia64, they are errors.  Please correct them for your next upload.
==

This problem does not apply on the target (powerpc-wrs-vxworks), where 
sizeof(int*) == sizeof(int(*)()) == sizeof(int) == 4.  However, the 
build system's filters are too stupid to realize this.  Because the 
warning is spurious really the fact that the automated build system 
rejects the package is a bug on the build system's part.  However, doing 
it the Right Way is so _easy_...



(fwiw, I don't quite understand which launchpad you are referring to).


I am referring to https://launchpad.net/ubuntu/+ppas

Thanks for your help.

Robert Mason




Re: [PING^5] PR 54805: __gthread_tsd* in vxlib-tls.c

2013-03-20 Thread Maxim Kuvyrkov
On 20/03/2013, at 1:35 AM, rbmj wrote:

 On 19-Mar-13 03:04, Maxim Kuvyrkov wrote:
 
 Will commit to trunk once the server is up.

The patch is now committed.

 
 Regarding 4.8, we should've really tried to work it out earlier.  If you 
 want to pursue backport to 4.8, please attach the log of PPA system 
 rejecting the package
 
 The error is:
 
 ==
 Finished at 20130318-0642
 Build needed 00:14:20, 804796k disk space
 Function `__gthread_get_tsd_data' implicitly converted to pointer at 
 /build/buildd/gcc-powerpc-wrs-vxworks-4.8.0+0svn196132/libgcc/config/vxlib-tls.c:164
 
 
 
 Our automated build log filter detected the problem(s) above that will
 likely cause your package to segfault on architectures where the size of
 a pointer is greater than the size of an integer, such as ia64 and amd64.
 
 This is often due to a missing function prototype definition.
 
 Since use of implicitly converted pointers is always fatal to the application
 on ia64, they are errors.  Please correct them for your next upload.
 ==
 
 This problem does not apply on the target (powerpc-wrs-vxworks), where 
 sizeof(int*) == sizeof(int(*)()) == sizeof(int) == 4.  However, the build 
 system's filters are too stupid to realize this.  Because the warning is 
 spurious really the fact that the automated build system rejects the package 
 is a bug on the build system's part.  However, doing it the Right Way is so 
 _easy_...

Richard,

As release manager, do you have any objections to backporting this patch to 4.8 
branch?  It affects only VxWorks targets and it is quite harmless (the patch 
fixes a compilation warning during building GCC for VxWorks targets).

Thanks,

--
Maxim Kuvyrkov
KugelWorks



gthread.patch
Description: Binary data


Re: [PING^5] PR 54805: __gthread_tsd* in vxlib-tls.c

2013-03-19 Thread Maxim Kuvyrkov
On 19/03/2013, at 3:38 PM, rbmj wrote:

 On 16-Feb-13 23:21, Maxim Kuvyrkov wrote:
 On 14/02/2013, at 10:18 AM, rbmj wrote:
 Here's the updated, (trivial) patch.
 
 Thanks.  I'll apply this once 4.8 branches and trunk is back into 
 development mode.
 
 
 Since GCC 4.9 has branched now are you still willing to commit (maybe after 
 the outage is over; I don't know the state of the svn server)?
 
 One of my friends has also commented that the warning that this fixes causes 
 the launchpad PPA system to reject the package (based on the build log), so 
 is it possible for this to apply in 4.8.1 also?  I don't know how that 
 process works, I assume I'd have to wait until after 4.8.0 officially 
 releases.  I understand that it's way too late for 4.8.0 (_trivial_ as the 
 fix is) :(
 
 Suggested ChangeLog:
 
 [libgcc]
 DATE Robert Mason r...@verizon.net
   * config/vxlib-tls.c: Add prototypes for __gthread_tsd*()

Yes, this is on my list.  I tried to commit your patch earlier today, but GCC 
server is currently being upgraded and is down.

Will commit to trunk once the server is up.

Regarding 4.8, we should've really tried to work it out earlier.  If you want 
to pursue backport to 4.8, please attach the log of PPA system rejecting the 
package (fwiw, I don't quite understand which launchpad you are referring to).

Thanks,

--
Maxim Kuvyrkov
KugelWorks




Re: [PING^5] PR 54805: __gthread_tsd* in vxlib-tls.c

2013-03-18 Thread rbmj

On 16-Feb-13 23:21, Maxim Kuvyrkov wrote:

On 14/02/2013, at 10:18 AM, rbmj wrote:

Here's the updated, (trivial) patch.


Thanks.  I'll apply this once 4.8 branches and trunk is back into development 
mode.



Since GCC 4.9 has branched now are you still willing to commit (maybe 
after the outage is over; I don't know the state of the svn server)?


One of my friends has also commented that the warning that this fixes 
causes the launchpad PPA system to reject the package (based on the 
build log), so is it possible for this to apply in 4.8.1 also?  I don't 
know how that process works, I assume I'd have to wait until after 4.8.0 
officially releases.  I understand that it's way too late for 4.8.0 
(_trivial_ as the fix is) :(


Suggested ChangeLog:

[libgcc]
DATE Robert Mason r...@verizon.net
* config/vxlib-tls.c: Add prototypes for __gthread_tsd*()

Robert Mason


Re: [PING^5] PR 54805: __gthread_tsd* in vxlib-tls.c

2013-02-16 Thread Maxim Kuvyrkov
On 14/02/2013, at 10:18 AM, rbmj wrote:

 On 18-Jan-13 20:35, Maxim Kuvyrkov wrote:
 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.
 
 
 Seems like I kept this email in drafts and never sent it out...
 
 Sorry about that.
 
 Here's the updated, (trivial) patch.

Thanks.  I'll apply this once 4.8 branches and trunk is back into development 
mode.

--
Maxim Kuvyrkov




Re: [PING^5] PR 54805: __gthread_tsd* in vxlib-tls.c

2013-02-13 Thread rbmj

On 18-Jan-13 20:35, Maxim Kuvyrkov wrote:

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.



Seems like I kept this email in drafts and never sent it out...

Sorry about that.

Here's the updated, (trivial) patch.

--
Robert Mason

diff a/libgcc/config/vxlib-tls.c b/libgcc/config/vxlib-tls.c
--- 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.
 
@@ -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 


Re: [PING^5] PR 54805: __gthread_tsd* in vxlib-tls.c

2013-01-18 Thread rbmj

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



Re: [PING^5] PR 54805: __gthread_tsd* in vxlib-tls.c

2013-01-18 Thread Maxim Kuvyrkov
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



Re: [PING^5] PR 54805: __gthread_tsd* in vxlib-tls.c

2013-01-17 Thread rbmj

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?


Re: [PING^5] PR 54805: __gthread_tsd* in vxlib-tls.c

2013-01-17 Thread Mike Stump
On Jan 17, 2013, at 5:05 PM, rbmj r...@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.


Re: [PING^5] PR 54805: __gthread_tsd* in vxlib-tls.c

2013-01-17 Thread Maxim Kuvyrkov
On 18/01/2013, at 2:18 PM, Mike Stump wrote:

 On Jan 17, 2013, at 5:05 PM, rbmj r...@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