comp.lang.ada
 help / color / mirror / Atom feed
From: Stephen Leake <stephen_leake@stephe-leake.org>
Subject: link errors with GNAT GPL 2016 and gprof
Date: Sat, 2 Sep 2017 15:02:46 -0700 (PDT)
Date: 2017-09-02T15:02:46-07:00	[thread overview]
Message-ID: <6d6e96b3-b881-43d7-a5cc-5c131ac97c03@googlegroups.com> (raw)

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 <project.gpr>

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

             reply	other threads:[~2017-09-02 22:02 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-02 22:02 Stephen Leake [this message]
2017-09-03 16:01 ` link errors with GNAT GPL 2016 and gprof Anh Vo
2017-09-03 18:23   ` Stephen Leake
2017-09-03 19:26     ` gautier_niouzes
2017-09-04  0:07       ` Stephen Leake
2017-09-04 21:01         ` gautier_niouzes
2017-09-04  5:52 ` Jacob Sparre Andersen
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox