From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 44342 invoked by alias); 8 Apr 2015 08:28:29 -0000 Mailing-List: contact gcc-patches-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-patches-owner@gcc.gnu.org Received: (qmail 44322 invoked by uid 89); 8 Apr 2015 08:28:29 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.2 required=5.0 tests=AWL,BAYES_00,FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS autolearn=ham version=3.3.2 X-HELO: mail-la0-f49.google.com Received: from mail-la0-f49.google.com (HELO mail-la0-f49.google.com) (209.85.215.49) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with (AES128-GCM-SHA256 encrypted) ESMTPS; Wed, 08 Apr 2015 08:28:25 +0000 Received: by layy10 with SMTP id y10so60465703lay.0 for ; Wed, 08 Apr 2015 01:28:22 -0700 (PDT) X-Received: by 10.152.43.74 with SMTP id u10mr21988266lal.90.1428481702282; Wed, 08 Apr 2015 01:28:22 -0700 (PDT) MIME-Version: 1.0 Received: by 10.25.163.129 with HTTP; Wed, 8 Apr 2015 01:28:02 -0700 (PDT) In-Reply-To: <5523CEDE.1060204@gjlay.de> References: <54F4BCA1.7080707@gjlay.de> <20150303132144.GC24277@atmel.com> <54FDC417.1000008@gjlay.de> <5523CEDE.1060204@gjlay.de> From: Denis Chertykov Date: Wed, 08 Apr 2015 08:28:00 -0000 Message-ID: Subject: Re: [patch,avr]: Part2: Fix various problems with specs and specs file generation. To: Georg-Johann Lay Cc: "Sivanupandi, Pitchumani" , GCC Patches , Joerg Wunsch , "Selvaraj, Senthil_Kumar" Content-Type: text/plain; charset=UTF-8 X-SW-Source: 2015-04/txt/msg00294.txt.bz2 2015-04-07 15:34 GMT+03:00 Georg-Johann Lay : > Am 04/06/2015 um 11:54 AM schrieb Sivanupandi, Pitchumani: >> >> Hi Johann, >> >> Did you try running g++ tests? >> It seems xgcc is invoked to get multilibs (from gcc/testsuite/lib/g++.exp) >> which failed to find specs file. > > > > This is because libgloss.exp:get_multilibs (used from g++_init) runs xgcc > ($compiler) without -B, i.e. without any prefix. Without prefix there is no > way to determine where the specs files are located. > > Patching driver_self_specs to read a specs file by means of -specs= is, > well, not very common. I don't know any other target which does that. > > As a work-around you can run the tests against the installed compiler. > > Denis, what do you think? I could add yet another fixme to avr backend like > the following; that way there's no need to change dejagnu: > > > Johann > > Index: config/avr/driver-avr.c > =================================================================== > --- config/avr/driver-avr.c (revision 221602) > +++ config/avr/driver-avr.c (working copy) > @@ -80,6 +80,20 @@ avr_devicespecs_file (int argc, const ch > return X_NODEVLIB; > > case 1: > + if (0 == strcmp ("device-specs", argv[0])) > + { > + /* FIXME: This means "device-specs%s" from > avr.h:DRIVER_SELF_SPECS > + has not been resolved to a path. That case can occur when the > + c++ testsuite is run from the build directory. DejaGNU's > + libgloss.exp:get_multilibs runs $compiler without -B, i.e.runs > + xgcc without specifying a prefix. Without any prefix, there > is > + no means to find out where the specs files might be located. > + get_multilibs runs xgcc --print-multi-lib, hence we don't > + actually need information form a specs file and may skip it > + altogether. */ > + return X_NODEVLIB; > + } > + > mmcu = AVR_MMCU_DEFAULT; > break; > I'm weak in dejagnu internals and c++ testsuite. It looks like an acceptable solution. Denis.