Add Rust support to source highlighting
Commit Message
On 7/17/19 6:50 PM, Tom Tromey wrote:
>>>>>> "Pedro" == Pedro Alves <palves@redhat.com> writes:
>
>>> It seems like a bit of a pain to fix at top-level. These flags are put
>>> into the default LDFLAGS for stage1, or when not bootstrapping.
>
> Pedro> Can you expand on why is it a pain? I was imagining that the top-level
> Pedro> script would take in consideration whether a gcc/ subdir exists, in
> Pedro> addition to checking some --{enable,disable}-static-runtime or some such,
> Pedro> where it adds the flags to LDFLAGS.
>
> The main problem is that the flags are passed down from the top-level
> Makefile, so it would need extra top-level Makefile.* hacking.
I'm not sure we're talking about the same thing. See below for
what I had in mind.
>
> Pedro> I assume it is put in LDFLAGS for the whole tree in order to
> Pedro> use -static-libcc consistently for both gcc and the libraries it
> Pedro> depends on (like libiberty). (It'd be interesting to find the
> Pedro> rationale in the original mailing list post/patch that added it to
> Pedro> be sure.)
>
> Pedro> With what you're suggesting it sounds like we'd build libiberty/, libbfd/,
> Pedro> etc. with -static-libgcc and gdb/ without? That sounds like something
> Pedro> we shouldn't be doing either.
>
> Are those even useful for libiberty or bfd? I thought those only
> affected the link.
I'm not sure they only affect the link, but I do think so.
>
> Or do people build a shared libiberty and/or bfd? That seems bad.
>
We have things like this in the top level configure:
# Sometimes we have special requirements for the host libiberty.
extra_host_libiberty_configure_flags=
extra_host_zlib_configure_flags=
case " $configdirs " in
*" lto-plugin "* | *" libcc1 "*)
# When these are to be built as shared libraries, the same applies to
# libiberty.
extra_host_libiberty_configure_flags=--enable-shared
;;
*" bfd "*)
# When bfd is to be built as a shared library, the same applies to
# zlib.
if test "$enable_shared" = "yes"; then
extra_host_zlib_configure_flags=--enable-host-shared
fi
;;
esac
AC_SUBST(extra_host_libiberty_configure_flags)
AC_SUBST(extra_host_zlib_configure_flags)
And:
$ ./src/configure --help | grep host-shared
--enable-host-shared build host code as shared libraries
So it does looks like it people do that.
From a2d01e2138a28be2a32978f38298e6b7dd99e7d4 Mon Sep 17 00:00:00 2001
From: Pedro Alves <palves@redhat.com>
Date: Wed, 17 Jul 2019 16:07:20 +0100
Subject: [PATCH] gcc
---
configure | 2 +-
configure.ac | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
Comments
>>>>> "Pedro" == Pedro Alves <palves@redhat.com> writes:
Pedro> I'm not sure we're talking about the same thing. See below for
Pedro> what I had in mind.
Yeah, ok. I can do this.
I think this means changing gdb's configure to disable source highlight
when we see -static-lib*, because those are simply incompatible.
Tom
@@ -5838,7 +5838,7 @@ else
# In stage 1, default to linking libstdc++ and libgcc statically with GCC
# if supported. But if the user explicitly specified the libraries to use,
# trust that they are doing what they want.
- if test "$stage1_libs" = "" -a "$have_static_libs" = yes; then
+ if test -d ${srcdir}/gcc -a test "$stage1_libs" = "" -a "$have_static_libs" = yes; then
stage1_ldflags="-static-libstdc++ -static-libgcc"
fi
fi
@@ -1614,7 +1614,7 @@ AC_ARG_WITH(stage1-ldflags,
# In stage 1, default to linking libstdc++ and libgcc statically with GCC
# if supported. But if the user explicitly specified the libraries to use,
# trust that they are doing what they want.
- if test "$stage1_libs" = "" -a "$have_static_libs" = yes; then
+ if test -d ${srcdir}/gcc -a test "$stage1_libs" = "" -a "$have_static_libs" = yes; then
stage1_ldflags="-static-libstdc++ -static-libgcc"
fi])
AC_SUBST(stage1_ldflags)