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 <bernd.edlin...@hotmail.de> > wrote: >> >> On 1/8/21 3:23 PM, David Edelsohn wrote: >>> On Thu, Jan 7, 2021 at 5:18 PM Bernd Edlinger <bernd.edlin...@hotmail.de> >>> 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.