OSDN Git Service

2002-04-23 David O'Brien <obrien@FreeBSD.org>
authorobrien <obrien@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 23 Apr 2002 15:05:33 +0000 (15:05 +0000)
committerobrien <obrien@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 23 Apr 2002 15:05:33 +0000 (15:05 +0000)
* g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
* config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
these libraries.

Approved by:  Richard Henderson <rth@redhat.com>
              Message-ID: <20020422223253.A32678@redhat.com>

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@52667 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/config/freebsd.h
gcc/cp/g++spec.c

index f513c73..fc34e7b 100644 (file)
@@ -1,5 +1,11 @@
 2002-04-23  David O'Brien  <obrien@FreeBSD.org>
 
+       * g++spec.c: Use profiled libstdc++ and libm with -p/-pg.
+       * config/freebsd.h (MATH_LIBRARY_PROFILE): Use the _p verions of
+       these libraries.
+
+2002-04-23  David O'Brien  <obrien@FreeBSD.org>
+
        * config/freebsd.h(OBJECT_FORMAT_ELF): Define.
 
 Tue Apr 23 14:24:25 CEST 2002  Jan Hubicka  <jh@suse.cz>
index cd09897..97b20c5 100644 (file)
@@ -79,6 +79,8 @@ Boston, MA 02111-1307, USA.  */
 #undef  WCHAR_UNSIGNED
 #define WCHAR_UNSIGNED 0
 
+#define MATH_LIBRARY_PROFILE    "-lm_p"
+
 /* Code generation parameters.  */
 
 /* Use periods rather than dollar signs in special g++ assembler names.
index fbbe599..c0e5c73 100644 (file)
@@ -32,10 +32,16 @@ Boston, MA 02111-1307, USA.  */
 #ifndef MATH_LIBRARY
 #define MATH_LIBRARY "-lm"
 #endif
+#ifndef MATH_LIBRARY_PROFILE
+#define MATH_LIBRARY_PROFILE "-lm"
+#endif
 
 #ifndef LIBSTDCXX
 #define LIBSTDCXX "-lstdc++"
 #endif
+#ifndef LIBSTDCXX_PROFILE
+#define LIBSTDCXX_PROFILE "-lstdc++"
+#endif
 
 void
 lang_specific_driver (in_argc, in_argv, in_added_libraries)
@@ -45,6 +51,9 @@ lang_specific_driver (in_argc, in_argv, in_added_libraries)
 {
   int i, j;
 
+  /* If non-zero, the user gave us the `-p' or `-pg' flag.  */ 
+  int saw_profile_flag = 0;
+
   /* If non-zero, the user gave us the `-v' flag.  */ 
   int saw_verbose_flag = 0;
 
@@ -137,6 +146,8 @@ lang_specific_driver (in_argc, in_argv, in_added_libraries)
            }
          else if (strcmp (argv[i], "-lc") == 0)
            args[i] |= WITHLIBC;
+         else if (strcmp (argv[i], "-pg") == 0 || strcmp (argv[i], "-p") == 0)
+           saw_profile_flag++;
          else if (strcmp (argv[i], "-v") == 0)
            {
              saw_verbose_flag = 1;
@@ -259,14 +270,14 @@ lang_specific_driver (in_argc, in_argv, in_added_libraries)
   /* Add `-lstdc++' if we haven't already done so.  */
   if (library)
     {
-      arglist[j++] = LIBSTDCXX;
+      arglist[j++] = saw_profile_flag ? LIBSTDCXX_PROFILE : LIBSTDCXX;
       added_libraries++;
     }
   if (saw_math)
     arglist[j++] = saw_math;
   else if (library && need_math)
     {
-      arglist[j++] = MATH_LIBRARY;
+      arglist[j++] = saw_profile_flag ? MATH_LIBRARY_PROFILE : MATH_LIBRARY;
       added_libraries++;
     }
   if (saw_libc)