diff options
author | obrien <obrien@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-04-23 15:05:33 +0000 |
---|---|---|
committer | obrien <obrien@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-04-23 15:05:33 +0000 |
commit | 6ce8155a476d07d64cf482f2324faefbd5d726ae (patch) | |
tree | 2d692bcfab6ac128788d04f5b5f2c804cc930682 | |
parent | 60b39823eabbb9aae3e91e5c03d888682b6c8563 (diff) |
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.
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
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/freebsd.h | 2 | ||||
-rw-r--r-- | gcc/cp/g++spec.c | 15 |
3 files changed, 21 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f513c73f287..fc34e7bba7f 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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> diff --git a/gcc/config/freebsd.h b/gcc/config/freebsd.h index cd09897c5b2..97b20c5232b 100644 --- a/gcc/config/freebsd.h +++ b/gcc/config/freebsd.h @@ -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. diff --git a/gcc/cp/g++spec.c b/gcc/cp/g++spec.c index fbbe5990d0c..c0e5c73410c 100644 --- a/gcc/cp/g++spec.c +++ b/gcc/cp/g++spec.c @@ -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) |