RE: [Patch ARM v2] Fix PR target/56846

2014-09-10 Thread Tony Wang
 -Original Message-
 From: Jonathan Wakely [mailto:jwak...@redhat.com]
 Sent: Tuesday, September 09, 2014 6:40 PM
 To: Tony Wang
 Cc: Ramana Radhakrishnan; gcc-patches; libstd...@gcc.gnu.org
 Subject: Re: [Patch ARM v2] Fix PR target/56846
 
 On 09/09/14 17:47 +0800, Tony Wang wrote:
 Hi there,
 
 This is a updated patch to fix pr56846. Bootstrapped on 
 x86_64-unknown-linux-gnu and no regression for
 regression test on Linux and a cross regression test on arm-none-eabi.
 
 OK for the trunk?
 
 gcc/libstdc++-v3/ChangeLog:
 2014-09-09   Tony Wang tony.w...@arm.com
 
  PR target/56846
  * libsupc++/eh_personality.cc(PERSONALITY_FUNCTION):
^
 There should be a space after the file name (look at existing
 changelog entries)
 
 OK with that change.

Committed with your comment on trunk, and also tested on 4.9 branch with no 
regression. So is it ok to back
port to 4.9 branch?

BR,
Tony






Re: [Patch ARM v2] Fix PR target/56846

2014-09-10 Thread Jonathan Wakely

On 10/09/14 15:41 +0800, Tony Wang wrote:

-Original Message-
From: Jonathan Wakely [mailto:jwak...@redhat.com]
Sent: Tuesday, September 09, 2014 6:40 PM
To: Tony Wang
Cc: Ramana Radhakrishnan; gcc-patches; libstd...@gcc.gnu.org
Subject: Re: [Patch ARM v2] Fix PR target/56846

On 09/09/14 17:47 +0800, Tony Wang wrote:
Hi there,

This is a updated patch to fix pr56846. Bootstrapped on 
x86_64-unknown-linux-gnu and no regression for
regression test on Linux and a cross regression test on arm-none-eabi.

OK for the trunk?

gcc/libstdc++-v3/ChangeLog:
2014-09-09   Tony Wang tony.w...@arm.com

 PR target/56846
 * libsupc++/eh_personality.cc(PERSONALITY_FUNCTION):
   ^
There should be a space after the file name (look at existing
changelog entries)

OK with that change.


Committed with your comment on trunk, and also tested on 4.9 branch with no 
regression. So is it ok to back
port to 4.9 branch?


I'd at least like to see it working OK on trunk for a while without
regressions, and I don't know the EABI code well enough to be
confident it's safe to backport.

So in this case I'd request approval from one of the Release Managers
and/or ARM maintainers.



Re: [Patch ARM v2] Fix PR target/56846

2014-09-10 Thread Ramana Radhakrishnan



On 10/09/14 15:38, Jonathan Wakely wrote:

On 10/09/14 15:41 +0800, Tony Wang wrote:

-Original Message-
From: Jonathan Wakely [mailto:jwak...@redhat.com]
Sent: Tuesday, September 09, 2014 6:40 PM
To: Tony Wang
Cc: Ramana Radhakrishnan; gcc-patches; libstd...@gcc.gnu.org
Subject: Re: [Patch ARM v2] Fix PR target/56846

On 09/09/14 17:47 +0800, Tony Wang wrote:

Hi there,

This is a updated patch to fix pr56846. Bootstrapped on 
x86_64-unknown-linux-gnu and no regression for
regression test on Linux and a cross regression test on arm-none-eabi.

OK for the trunk?

gcc/libstdc++-v3/ChangeLog:
2014-09-09   Tony Wang tony.w...@arm.com

 PR target/56846
 * libsupc++/eh_personality.cc(PERSONALITY_FUNCTION):

^
There should be a space after the file name (look at existing
changelog entries)

OK with that change.


Committed with your comment on trunk, and also tested on 4.9 branch with no 
regression. So is it ok to back
port to 4.9 branch?


I'd at least like to see it working OK on trunk for a while without
regressions, and I don't know the EABI code well enough to be
confident it's safe to backport.


I am reasonably sure it's ok from my reading of the explanation and the 
code considered, and I'd also to some extent take Andrew's word for it 
since he's been involved in this space.


I'd like it to bake on trunk for a few days before we ask for this to be 
backported. It would give all autotesters that run for ARM a chance to 
catch up and make sure we aren't missing anything.


From my p.o.v. this is an RM decision.

regards
Ramana




[Patch ARM v2] Fix PR target/56846

2014-09-09 Thread Tony Wang
Hi there,

This is a updated patch to fix pr56846. Bootstrapped on 
x86_64-unknown-linux-gnu and no regression for
regression test on Linux and a cross regression test on arm-none-eabi.

OK for the trunk?

gcc/libstdc++-v3/ChangeLog:
2014-09-09   Tony Wang tony.w...@arm.com

 PR target/56846
 * libsupc++/eh_personality.cc(PERSONALITY_FUNCTION):
 Return with CONTINUE_UNWINDING when the state pattern 
 contains: _US_VIRTUAL_UNWIND_FRAME |  _US_FORCE_UNWIND

diff --git a/libstdc++-v3/libsupc++/eh_personality.cc 
b/libstdc++-v3/libsupc++/eh_personality.cc
index f315a83..836abee 100644
--- a/libstdc++-v3/libsupc++/eh_personality.cc
+++ b/libstdc++-v3/libsupc++/eh_personality.cc
@@ -378,6 +378,12 @@ PERSONALITY_FUNCTION (int version,
   switch (state  _US_ACTION_MASK)
 {
 case _US_VIRTUAL_UNWIND_FRAME:
+  // If the unwind state pattern is 
+  // _US_VIRTUAL_UNWIND_FRAME | _US_FORCE_UNWIND 
+  // then we don't need to search for any handler as it is not a real 
+  // exception. Just unwind the stack.
+  if (state  _US_FORCE_UNWIND)
+CONTINUE_UNWINDING;
   actions = _UA_SEARCH_PHASE;
   break;





Re: [Patch ARM v2] Fix PR target/56846

2014-09-09 Thread Jonathan Wakely

On 09/09/14 17:47 +0800, Tony Wang wrote:

Hi there,

This is a updated patch to fix pr56846. Bootstrapped on 
x86_64-unknown-linux-gnu and no regression for
regression test on Linux and a cross regression test on arm-none-eabi.

OK for the trunk?

gcc/libstdc++-v3/ChangeLog:
2014-09-09   Tony Wang tony.w...@arm.com

PR target/56846
* libsupc++/eh_personality.cc(PERSONALITY_FUNCTION):

  ^
There should be a space after the file name (look at existing
changelog entries)

OK with that change.