comp.lang.ada
 help / color / mirror / Atom feed
* link errors with GNAT GPL 2016 and gprof
@ 2017-09-02 22:02 Stephen Leake
  2017-09-03 16:01 ` Anh Vo
  2017-09-04  5:52 ` Jacob Sparre Andersen
  0 siblings, 2 replies; 7+ messages in thread
From: Stephen Leake @ 2017-09-02 22:02 UTC (permalink / 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

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-09-04 21:01 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-02 22:02 link errors with GNAT GPL 2016 and gprof Stephen Leake
2017-09-03 16:01 ` 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

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