From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.129.67.13 with SMTP id q13mr10537742ywa.121.1504454470527; Sun, 03 Sep 2017 09:01:10 -0700 (PDT) X-Received: by 10.36.111.206 with SMTP id x197mr124393itb.3.1504454470484; Sun, 03 Sep 2017 09:01:10 -0700 (PDT) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!news.eternal-september.org!feeder.eternal-september.org!news.linkpendium.com!news.linkpendium.com!news.snarked.org!border2.nntp.dca1.giganews.com!nntp.giganews.com!u11no1514766qtu.1!news-out.google.com!c139ni1247itb.0!nntp.google.com!127no694516itw.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Sun, 3 Sep 2017 09:01:10 -0700 (PDT) In-Reply-To: <6d6e96b3-b881-43d7-a5cc-5c131ac97c03@googlegroups.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=24.6.20.197; posting-account=Qh2kiQoAAADpCLlhT_KTYoGO8dU3n4I6 NNTP-Posting-Host: 24.6.20.197 References: <6d6e96b3-b881-43d7-a5cc-5c131ac97c03@googlegroups.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <712651ae-2403-4d61-ab8e-f696c9352dc9@googlegroups.com> Subject: Re: link errors with GNAT GPL 2016 and gprof From: Anh Vo Injection-Date: Sun, 03 Sep 2017 16:01:10 +0000 Content-Type: text/plain; charset="UTF-8" Xref: news.eternal-september.org comp.lang.ada:47917 Date: 2017-09-03T09:01:10-07:00 List-Id: On Saturday, September 2, 2017 at 3:02:48 PM UTC-7, Stephen Leake wrote: > I'm trying to Do The Right Thing and profile my code before I start messing with it to make it faster. But GNAT is _not_ cooperating! > > According to the gnat user guide, to use gprof, we compile as: > > gnatmake -f -pg -P > > That fails with GNAT GPL 2016: > > gprbuild: illegal option "-pg" on the command line > > So I added "-pg" in the Builder package in the project file: > > package Builder is > case Profile is > when "Full" => > for Default_Switches ("Ada") use ("-f", "-pg"); > > when "On" => > for Default_Switches ("Ada") use ("-pg"); > > when "Off" => > null; > end case; > > end Builder; > > That gives -pg options on each 'gcc' command, but fails at link time: > > gcc run_ada_lite_parser.o -o run_ada_lite_parser.exe > run_ada_lite_parser.o: In function `ada_run_ada_lite_parser': > C:/Projects/org.wisitoken.stephe-1/wisi/test/run_ada_lite_parser.adb:12: undefined reference to `mcount' > > I noticed there is no '-pg' on the 'gcc' link command line, so I added it to the Linker package: > > package Linker is > case Profile is > when "Full" | "On" => > for Default_Switches ("Ada") use ("-pg"); > > when "Off" => > null; > end case; > > end Linker; > > That did not help. Also tried adding it to the Binder package; no help there either. > > How do I tell gprbuild to specify "-pg" for linking? > > The gnat user guide has always been unhelpful about mapping command line options to project file packages. > > -- Stephe In order to pass switches to the linker thru gnatmake, use -largs opts according to gnatmake --help shown. Could you try this? Anh Vo