Libjava test failure Was: [PATCH] microblaze: microblaze.md: Use 'SI' instead of 'VOID' for operand 1 of 'call_value_intern'

Andrew Haley aph@redhat.com
Mon Oct 6 15:00:00 GMT 2014


On 10/06/2014 04:00 PM, Chen Gang wrote:
> On 10/6/14 22:28, Andrew Haley wrote:
>> On 10/06/2014 03:27 PM, Chen Gang wrote:
>>> 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.
>>
>> That sounds approximately right, but it's changed a lot since I last
>> looked.  It may be that the magic is in glibc rather than the kernel.
>>
> 
> OK, thanks, I shall also notice about glibc when I try to analyze it,
> e.g. need try to build and install upstream glibc instead of the Darwin
> glibc (I am not quite sure whether I can do that, I guess I can).
> 
>  
>>> For me, whether Darwin kernel supports or not, we have to improve
>>> current implementation (may be testsuite configure or Makefile) to
>>> avoid testsuite breaking.
>>
>> The testsuite isn't breaking: it's telling you something useful.
>>
> 
> Sorry it is breaked, at present, I temporarily skipped it and then can
> let "make check" finish, the related temporarily skip diff may like
> below (in real action, I modify the related Makefile, directly):

You're missing what I'm saying.  The testuite is not broken.

You should be running "make -k check".

Andrew.



More information about the Gcc-patches mailing list