This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Libjava test failure Was: [PATCH] microblaze: microblaze.md: Use 'SI' instead of 'VOID' for operand 1 of 'call_value_intern'
- From: Chen Gang <gang dot chen dot 5i5j at gmail dot com>
- To: Andrew Haley <aph at redhat dot com>, Mike Stump <mikestump at comcast dot net>
- Cc: Michael Eager <eager at eagerm dot com>, Jeff Law <law at redhat dot com>, davem at redhat dot com, gcc-patches List <gcc-patches at gcc dot gnu dot org>, java-patches at gcc dot gnu dot org
- Date: Mon, 06 Oct 2014 22:27:17 +0800
- Subject: Re: Libjava test failure Was: [PATCH] microblaze: microblaze.md: Use 'SI' instead of 'VOID' for operand 1 of 'call_value_intern'
- Authentication-results: sourceware.org; auth=none
- References: <bekwguasixaphab5pghrhbxp dot 1411603920412 at email dot android dot com> <5430B7E8 dot 1060001 at gmail dot com> <5430BBBE dot 8050905 at gmail dot com> <543215AE dot 7080206 at gmail dot com> <543254DB dot 9020600 at redhat dot com> <54329EEC dot 8040609 at gmail dot com> <54329F17 dot 7050107 at redhat dot com>
On 10/6/14 21:54, Andrew Haley wrote:
> On 10/06/2014 02:53 PM, Chen Gang wrote:
>> On 10/6/14 16:37, Andrew Haley wrote:
>>> On 06/10/14 05:08, Chen Gang wrote:
>>>> After try normal configure, get almost the same result, I guess, our
>>>> testsuite under Darwin x86_64 is OK.
>>>>
>>>> If no any additional reply within a week, I shall continue to try to
>>>> analyze the libjava Throw_2 issue.
>>>
>>> Throw_2 is a test specially contrived to detect segfaults that are
>>> not being correctly detected and turned into NullPointerException()s.
>>> A failure indicates that the segfault signal handler is broken.
>>
>> OK, thank, at present, it passes compiling (can generate 'Throw_2.exe'),
>> and after run it without any parameters, "1" is printed, but "2" is not
>> printed.
>>
>> Under Fedora 20 x86_64, the same gcc code, it is OK ("2" can be printed),
>> but under Darwin x86_64, it is "Abort trap: 6" instead of. The related
>> code: "try{Double.parseDouble(str());}catch", and "str(){return null;}".
>>
>> And I shall continue to try to analyze it (within this month), and
>> welcome any additional ideas, suggestions, and completion for it,
>
> Not every platform supports unwinding through signal handlers. In x86
> Linux there is some very clever code which interacts with the kernel to
> allow this.
>
Excuse me, I am not quite familiar with Java, I guess what you said is:
- The related feature need OS kernel support, if OS kernel does not
support, it may report "Abort trap: 6" or others.
- And OS kernel has feature to support "1" printed does not mean it
also has feature to support "2" printed.
- And I need try to make sure that my current Darwin kernel whether
supports it or not.
If what I guess is incorrect, please let me know, thanks.
For me, whether Darwin kernel supports or not, we have to improve
current implementation (may be testsuite configure or Makefile) to
avoid testsuite breaking.
Thanks.
--
Chen Gang
Open, share, and attitude like air, water, and life which God blessed