Re: [PATCH v2] testsuite: Fix test failures from outputs.exp [PR98225]

2021-01-11 Thread Rainer Orth
Hi Bernd,

> On 1/8/21 8:27 PM, David Edelsohn wrote:
>> Hi, Bernd
>> 
>> Thanks for investigating this and creating a revised version of the
>> patch.  With the second patch, the gcc.misc-test/outputs.exp results
>> are clean on AIX.
>> 
>
> Many thanks for confirming that the patch works.
>
> Is it OK to push?

I've now tested the v2 patch on Solaris without and with GNU ld.  Based
on Alexandre's and David's feedback, it is ok.

Thanks.

Rainer

-- 
-
Rainer Orth, Center for Biotechnology, Bielefeld University


Re: [PATCH v2] testsuite: Fix test failures from outputs.exp [PR98225]

2021-01-11 Thread Bernd Edlinger
On 1/8/21 8:27 PM, David Edelsohn wrote:
> Hi, Bernd
> 
> Thanks for investigating this and creating a revised version of the
> patch.  With the second patch, the gcc.misc-test/outputs.exp results
> are clean on AIX.
> 

Many thanks for confirming that the patch works.

Is it OK to push?

Thanks
Bernd.

> Thanks, David
> 
> On Fri, Jan 8, 2021 at 1:59 PM Bernd Edlinger  
> wrote:
>>
>> On 1/8/21 3:23 PM, David Edelsohn wrote:
>>> On Thu, Jan 7, 2021 at 5:18 PM Bernd Edlinger  
>>> wrote:

 Hi,

 On 1/7/21 5:12 PM, Rainer Orth wrote:
>   The unsetenv needs to be wrapped in
>
> if [info exists env(MAKEFLAGS)] {
>

 Done.

> @@ -163,6 +167,9 @@ proc outest { test sources opts dirs out
>   if { $ogl != {} } {
>   pass "$test: $d$o"
>   file delete $ogl
> + } elseif { [string match "*.ld1_args" $o] } {
> + # This file may be missing if !HAVE_GNU_LD
> + pass "$test: $d$o"
>
>   Always PASSing the test even if it isn't run is wrong.  Either wrap
>   the whole group of tests with response files in
>
> if [check_effective_target_gld] {
>
>   or make the test for the *.ld1_args file conditional on that
>   (e.g. along the lines of $ltop used elsewhere).  I'd welcome input
>   from Alexandre which is preferred.
>

 Ah, yes that is a good idea.  Thanks.


 I think the .cdtor.* handling, is probably a bad example that I followed 
 here.
 I don't know why that is there in the first place, as there
 are no C++ test cases, these files should not be created at all.
 If they are ever created we would have a couple of other files created
 as well IMHO.
 If there are still missing files in some cases,
 I'd prefer to track these per test case, instead of globally.

 Therefore I propose to remove that exception for now.

 Is it OK for trunk?
>>>
>>> As Alex said, please don't just remove features and functionality if
>>> you don't know why they were added.  The history is online in the
>>> mailing list and the repo history.
>>>
>>> AIX uses constructors to register EH frames and libgcc has an EH
>>> frame.  ctors and dtors can be found in non-C++ code.
>>>
>>
>> Okydoky.
>>
>> I think I understand now better what the issue is here.
>> Although the name cdtor suggests that it has something to do with
>> C++ it is also needed to collect EH frame info, in certain targets.
>> Those are mainly AIX but also hppa*-*-hpux*.
>> I believe those exceptions are only necessary for targets that
>> define EH_FRAME_THROUGH_COLLECT2.
>>
>> I have tested this new version of my patch but only on not-affected
>> x86_64-pc-linux-gnu.
>>
>> @David, @Rainer: I would very much appreciate if you could give this patch
>> a test on your systems.
>>
>>
>> Thanks
>> Berns.


Re: [PATCH v2] testsuite: Fix test failures from outputs.exp [PR98225]

2021-01-08 Thread David Edelsohn via Gcc-patches
Hi, Bernd

Thanks for investigating this and creating a revised version of the
patch.  With the second patch, the gcc.misc-test/outputs.exp results
are clean on AIX.

Thanks, David

On Fri, Jan 8, 2021 at 1:59 PM Bernd Edlinger  wrote:
>
> On 1/8/21 3:23 PM, David Edelsohn wrote:
> > On Thu, Jan 7, 2021 at 5:18 PM Bernd Edlinger  
> > wrote:
> >>
> >> Hi,
> >>
> >> On 1/7/21 5:12 PM, Rainer Orth wrote:
> >>>   The unsetenv needs to be wrapped in
> >>>
> >>> if [info exists env(MAKEFLAGS)] {
> >>>
> >>
> >> Done.
> >>
> >>> @@ -163,6 +167,9 @@ proc outest { test sources opts dirs out
> >>>   if { $ogl != {} } {
> >>>   pass "$test: $d$o"
> >>>   file delete $ogl
> >>> + } elseif { [string match "*.ld1_args" $o] } {
> >>> + # This file may be missing if !HAVE_GNU_LD
> >>> + pass "$test: $d$o"
> >>>
> >>>   Always PASSing the test even if it isn't run is wrong.  Either wrap
> >>>   the whole group of tests with response files in
> >>>
> >>> if [check_effective_target_gld] {
> >>>
> >>>   or make the test for the *.ld1_args file conditional on that
> >>>   (e.g. along the lines of $ltop used elsewhere).  I'd welcome input
> >>>   from Alexandre which is preferred.
> >>>
> >>
> >> Ah, yes that is a good idea.  Thanks.
> >>
> >>
> >> I think the .cdtor.* handling, is probably a bad example that I followed 
> >> here.
> >> I don't know why that is there in the first place, as there
> >> are no C++ test cases, these files should not be created at all.
> >> If they are ever created we would have a couple of other files created
> >> as well IMHO.
> >> If there are still missing files in some cases,
> >> I'd prefer to track these per test case, instead of globally.
> >>
> >> Therefore I propose to remove that exception for now.
> >>
> >> Is it OK for trunk?
> >
> > As Alex said, please don't just remove features and functionality if
> > you don't know why they were added.  The history is online in the
> > mailing list and the repo history.
> >
> > AIX uses constructors to register EH frames and libgcc has an EH
> > frame.  ctors and dtors can be found in non-C++ code.
> >
>
> Okydoky.
>
> I think I understand now better what the issue is here.
> Although the name cdtor suggests that it has something to do with
> C++ it is also needed to collect EH frame info, in certain targets.
> Those are mainly AIX but also hppa*-*-hpux*.
> I believe those exceptions are only necessary for targets that
> define EH_FRAME_THROUGH_COLLECT2.
>
> I have tested this new version of my patch but only on not-affected
> x86_64-pc-linux-gnu.
>
> @David, @Rainer: I would very much appreciate if you could give this patch
> a test on your systems.
>
>
> Thanks
> Berns.