* [PATCH] Remove CANADIAN, that break compilation for foreign target
@ 2017-09-20 10:38 Petr Ovtchenkov
2017-09-20 10:45 ` Petr Ovtchenkov
0 siblings, 1 reply; 7+ messages in thread
From: Petr Ovtchenkov @ 2017-09-20 10:38 UTC (permalink / raw)
To: libstdc++; +Cc: gcc-patches
Some old ad-hoc (adding -I/usr/include to compiler
flags) break compilation of libstdc++ for foreign
target architecture (due to compiler see includes
of native).
---
libstdc++-v3/acinclude.m4 | 5 -----
libstdc++-v3/configure | 22 ----------------------
libstdc++-v3/configure.ac | 14 --------------
3 files changed, 41 deletions(-)
diff --git a/libstdc++-v3/acinclude.m4 b/libstdc++-v3/acinclude.m4
index e48cf96..60c93bf 100644
--- a/libstdc++-v3/acinclude.m4
+++ b/libstdc++-v3/acinclude.m4
@@ -734,11 +734,6 @@ AC_DEFUN([GLIBCXX_EXPORT_INCLUDES], [
-I$glibcxx_builddir/include \
-I$glibcxx_srcdir/libsupc++"
- # For Canadian crosses, pick this up too.
- if test $CANADIAN = yes; then
- GLIBCXX_INCLUDES="$GLIBCXX_INCLUDES -I\${includedir}"
- fi
-
# Stuff in the actual top level. Currently only used by libsupc++ to
# get unwind* headers from the libgcc dir.
#TOPLEVEL_INCLUDES='-I$(toplevel_srcdir)/libgcc -I$(toplevel_srcdir)/include'
diff --git a/libstdc++-v3/configure b/libstdc++-v3/configure
index 9bf152a..7839518 100755
--- a/libstdc++-v3/configure
+++ b/libstdc++-v3/configure
@@ -21762,11 +21762,6 @@ done
# Only do link tests if native. Else, hardcode.
if $GLIBCXX_IS_NATIVE; then
- # We can do more elaborate tests that assume a working linker.
- CANADIAN=no
-
-
-
# Check whether --with-gnu-ld was given.
if test "${with_gnu_ld+set}" = set; then :
withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
@@ -28807,17 +28802,6 @@ else
# When all of that is done, all of this hokey, excessive AC_DEFINE junk for
# crosses can be removed.
- # If Canadian cross, then don't pick up tools from the build directory.
- # Used only in GLIBCXX_EXPORT_INCLUDES.
- if test -n "$with_cross_host" &&
- test x"$build_alias" != x"$with_cross_host" &&
- test x"$build" != x"$target";
- then
- CANADIAN=yes
- else
- CANADIAN=no
- fi
-
# Construct crosses by hand, eliminating bits that need ld...
# GLIBCXX_CHECK_MATH_SUPPORT
@@ -81041,7 +81025,6 @@ CPU_OPT_BITS_RANDOM=config/${cpu_opt_bits_random}
# Determine cross-compile flags and AM_CONDITIONALs.
#AC_SUBST(GLIBCXX_IS_NATIVE)
-#AM_CONDITIONAL(CANADIAN, test $CANADIAN = yes)
if test $is_hosted = yes; then
GLIBCXX_HOSTED_TRUE=
GLIBCXX_HOSTED_FALSE='#'
@@ -81423,11 +81406,6 @@ $as_echo "$gxx_include_dir" >&6; }
-I$glibcxx_builddir/include \
-I$glibcxx_srcdir/libsupc++"
- # For Canadian crosses, pick this up too.
- if test $CANADIAN = yes; then
- GLIBCXX_INCLUDES="$GLIBCXX_INCLUDES -I\${includedir}"
- fi
-
# Stuff in the actual top level. Currently only used by libsupc++ to
# get unwind* headers from the libgcc dir.
#TOPLEVEL_INCLUDES='-I$(toplevel_srcdir)/libgcc -I$(toplevel_srcdir)/include'
diff --git a/libstdc++-v3/configure.ac b/libstdc++-v3/configure.ac
index 9e19e99..3a8e26d 100644
--- a/libstdc++-v3/configure.ac
+++ b/libstdc++-v3/configure.ac
@@ -243,8 +243,6 @@ wchar.h wctype.h])
if $GLIBCXX_IS_NATIVE; then
# We can do more elaborate tests that assume a working linker.
- CANADIAN=no
-
GLIBCXX_CHECK_LINKER_FEATURES
GLIBCXX_CHECK_MATH_SUPPORT
GLIBCXX_CHECK_STDLIB_SUPPORT
@@ -276,17 +274,6 @@ else
# When all of that is done, all of this hokey, excessive AC_DEFINE junk for
# crosses can be removed.
- # If Canadian cross, then don't pick up tools from the build directory.
- # Used only in GLIBCXX_EXPORT_INCLUDES.
- if test -n "$with_cross_host" &&
- test x"$build_alias" != x"$with_cross_host" &&
- test x"$build" != x"$target";
- then
- CANADIAN=yes
- else
- CANADIAN=no
- fi
-
# Construct crosses by hand, eliminating bits that need ld...
# GLIBCXX_CHECK_MATH_SUPPORT
@@ -480,7 +467,6 @@ AC_SUBST(CPU_OPT_BITS_RANDOM)
# Determine cross-compile flags and AM_CONDITIONALs.
#AC_SUBST(GLIBCXX_IS_NATIVE)
-#AM_CONDITIONAL(CANADIAN, test $CANADIAN = yes)
GLIBCXX_EVALUATE_CONDITIONALS
AC_CACHE_SAVE
--
2.10.1
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH] Remove CANADIAN, that break compilation for foreign target
2017-09-20 10:38 [PATCH] Remove CANADIAN, that break compilation for foreign target Petr Ovtchenkov
@ 2017-09-20 10:45 ` Petr Ovtchenkov
2017-11-16 18:05 ` [PING] " Petr Ovtchenkov
0 siblings, 1 reply; 7+ messages in thread
From: Petr Ovtchenkov @ 2017-09-20 10:45 UTC (permalink / raw)
To: libstdc++; +Cc: gcc-patches
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71212
On Fri, 20 May 2016 16:10:50 +0300
Petr Ovtchenkov <ptr@void-ptr.info> wrote:
> Some old ad-hoc (adding -I/usr/include to compiler
> flags) break compilation of libstdc++ for foreign
> target architecture (due to compiler see includes
> of native).
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PING] [PATCH] Remove CANADIAN, that break compilation for foreign target
2017-09-20 10:45 ` Petr Ovtchenkov
@ 2017-11-16 18:05 ` Petr Ovtchenkov
2017-12-19 8:37 ` [PING^2] " Petr Ovtchenkov
0 siblings, 1 reply; 7+ messages in thread
From: Petr Ovtchenkov @ 2017-11-16 18:05 UTC (permalink / raw)
To: Petr Ovtchenkov; +Cc: libstdc++, gcc-patches, Jonathan Wakely
On Wed, 20 Sep 2017 13:44:59 +0300
Petr Ovtchenkov <ptr@void-ptr.info> wrote:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71212
>
> On Fri, 20 May 2016 16:10:50 +0300
> Petr Ovtchenkov <ptr@void-ptr.info> wrote:
>
> > Some old ad-hoc (adding -I/usr/include to compiler
> > flags) break compilation of libstdc++ for foreign
> > target architecture (due to compiler see includes
> > of native).
Reference for terms:
https://gcc.gnu.org/onlinedocs/gccint/Configure-Terms.html
Present of "CANADIAN=yes" lead to inclusion of
headers from build (-I/usr/include). "CANADIAN=yes" used _only_
to set "-I/usr/include".
Inclusion of build headers in cross-compilation
process is not a mistake only in case of native (i.e. it is mistake
for cross, for canadian, for crossed native and for crossback),
but sometimes give "success".
Note, that build/host/target may be different not only due to
different architectures, but due to different sysroots
(libc, kernel, binutils, etc.).
CANADIAN is set to "yes" by code
- # If Canadian cross, then don't pick up tools from the build directory.
- # Used only in GLIBCXX_EXPORT_INCLUDES.
- if test -n "$with_cross_host" &&
- test x"$build_alias" != x"$with_cross_host" &&
- test x"$build" != x"$target";
- then
- CANADIAN=yes
- else
- CANADIAN=no
- fi
and it add "-I/usr/include" to compiler flags for building libstdc++.
This is wrong.
Reference to patch:
https://gcc.gnu.org/ml/gcc-patches/2017-09/msg01332.html
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PING^2] [PATCH] Remove CANADIAN, that break compilation for foreign target
2017-11-16 18:05 ` [PING] " Petr Ovtchenkov
@ 2017-12-19 8:37 ` Petr Ovtchenkov
2018-01-30 7:59 ` [PING^3] " Petr Ovtchenkov
0 siblings, 1 reply; 7+ messages in thread
From: Petr Ovtchenkov @ 2017-12-19 8:37 UTC (permalink / raw)
Cc: libstdc++, gcc-patches, Jonathan Wakely
On Thu, 16 Nov 2017 20:55:37 +0300
Petr Ovtchenkov <ptr@void-ptr.info> wrote:
> On Wed, 20 Sep 2017 13:44:59 +0300
> Petr Ovtchenkov <ptr@void-ptr.info> wrote:
>
> > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71212
> >
> > On Fri, 20 May 2016 16:10:50 +0300
> > Petr Ovtchenkov <ptr@void-ptr.info> wrote:
> >
> > > Some old ad-hoc (adding -I/usr/include to compiler
> > > flags) break compilation of libstdc++ for foreign
> > > target architecture (due to compiler see includes
> > > of native).
>
> Reference for terms:
>
> https://gcc.gnu.org/onlinedocs/gccint/Configure-Terms.html
>
> Present of "CANADIAN=yes" lead to inclusion of
> headers from build (-I/usr/include). "CANADIAN=yes" used _only_
> to set "-I/usr/include".
>
> Inclusion of build headers in cross-compilation
> process is not a mistake only in case of native (i.e. it is mistake
> for cross, for canadian, for crossed native and for crossback),
> but sometimes give "success".
>
> Note, that build/host/target may be different not only due to
> different architectures, but due to different sysroots
> (libc, kernel, binutils, etc.).
>
> CANADIAN is set to "yes" by code
>
> - # If Canadian cross, then don't pick up tools from the build directory.
> - # Used only in GLIBCXX_EXPORT_INCLUDES.
> - if test -n "$with_cross_host" &&
> - test x"$build_alias" != x"$with_cross_host" &&
> - test x"$build" != x"$target";
> - then
> - CANADIAN=yes
> - else
> - CANADIAN=no
> - fi
>
> and it add "-I/usr/include" to compiler flags for building libstdc++.
> This is wrong.
>
> Reference to patch:
> https://gcc.gnu.org/ml/gcc-patches/2017-09/msg01332.html
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PING^3] [PATCH] Remove CANADIAN, that break compilation for foreign target
2017-12-19 8:37 ` [PING^2] " Petr Ovtchenkov
@ 2018-01-30 7:59 ` Petr Ovtchenkov
2018-01-30 14:03 ` Jonathan Wakely
0 siblings, 1 reply; 7+ messages in thread
From: Petr Ovtchenkov @ 2018-01-30 7:59 UTC (permalink / raw)
To: Petr Ovtchenkov; +Cc: libstdc++, gcc-patches
On Tue, 19 Dec 2017 11:37:43 +0300
Petr Ovtchenkov <ptr@void-ptr.info> wrote:
ping^3
> On Thu, 16 Nov 2017 20:55:37 +0300
> Petr Ovtchenkov <ptr@void-ptr.info> wrote:
>
> > On Wed, 20 Sep 2017 13:44:59 +0300
> > Petr Ovtchenkov <ptr@void-ptr.info> wrote:
> >
> > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71212
> > >
> > > On Fri, 20 May 2016 16:10:50 +0300
> > > Petr Ovtchenkov <ptr@void-ptr.info> wrote:
> > >
> > > > Some old ad-hoc (adding -I/usr/include to compiler
> > > > flags) break compilation of libstdc++ for foreign
> > > > target architecture (due to compiler see includes
> > > > of native).
> >
> > Reference for terms:
> >
> > https://gcc.gnu.org/onlinedocs/gccint/Configure-Terms.html
> >
> > Present of "CANADIAN=yes" lead to inclusion of
> > headers from build (-I/usr/include). "CANADIAN=yes" used _only_
> > to set "-I/usr/include".
> >
> > Inclusion of build headers in cross-compilation
> > process is not a mistake only in case of native (i.e. it is mistake
> > for cross, for canadian, for crossed native and for crossback),
> > but sometimes give "success".
> >
> > Note, that build/host/target may be different not only due to
> > different architectures, but due to different sysroots
> > (libc, kernel, binutils, etc.).
> >
> > CANADIAN is set to "yes" by code
> >
> > - # If Canadian cross, then don't pick up tools from the build directory.
> > - # Used only in GLIBCXX_EXPORT_INCLUDES.
> > - if test -n "$with_cross_host" &&
> > - test x"$build_alias" != x"$with_cross_host" &&
> > - test x"$build" != x"$target";
> > - then
> > - CANADIAN=yes
> > - else
> > - CANADIAN=no
> > - fi
> >
> > and it add "-I/usr/include" to compiler flags for building libstdc++.
> > This is wrong.
> >
> > Reference to patch:
> > https://gcc.gnu.org/ml/gcc-patches/2017-09/msg01332.html
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PING^3] [PATCH] Remove CANADIAN, that break compilation for foreign target
2018-01-30 7:59 ` [PING^3] " Petr Ovtchenkov
@ 2018-01-30 14:03 ` Jonathan Wakely
2018-01-30 20:06 ` Petr Ovtchenkov
0 siblings, 1 reply; 7+ messages in thread
From: Jonathan Wakely @ 2018-01-30 14:03 UTC (permalink / raw)
To: Petr Ovtchenkov; +Cc: libstdc++, gcc-patches
On 30/01/18 10:19 +0300, Petr Ovtchenkov wrote:
>On Tue, 19 Dec 2017 11:37:43 +0300
>Petr Ovtchenkov <ptr@void-ptr.info> wrote:
>
>ping^3
I don't fully understand the consequences (or need) for this patch.
I asked some other people to look at it, and didn't get confirmation
it's OK. So I'm reluctant to make the change. Especially this late in
the GCC 8 cycle.
>> On Thu, 16 Nov 2017 20:55:37 +0300
>> Petr Ovtchenkov <ptr@void-ptr.info> wrote:
>>
>> > On Wed, 20 Sep 2017 13:44:59 +0300
>> > Petr Ovtchenkov <ptr@void-ptr.info> wrote:
>> >
>> > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71212
>> > >
>> > > On Fri, 20 May 2016 16:10:50 +0300
>> > > Petr Ovtchenkov <ptr@void-ptr.info> wrote:
>> > >
>> > > > Some old ad-hoc (adding -I/usr/include to compiler
>> > > > flags) break compilation of libstdc++ for foreign
>> > > > target architecture (due to compiler see includes
>> > > > of native).
>> >
>> > Reference for terms:
>> >
>> > https://gcc.gnu.org/onlinedocs/gccint/Configure-Terms.html
>> >
>> > Present of "CANADIAN=yes" lead to inclusion of
>> > headers from build (-I/usr/include). "CANADIAN=yes" used _only_
>> > to set "-I/usr/include".
>> >
>> > Inclusion of build headers in cross-compilation
>> > process is not a mistake only in case of native (i.e. it is mistake
>> > for cross, for canadian, for crossed native and for crossback),
>> > but sometimes give "success".
>> >
>> > Note, that build/host/target may be different not only due to
>> > different architectures, but due to different sysroots
>> > (libc, kernel, binutils, etc.).
>> >
>> > CANADIAN is set to "yes" by code
>> >
>> > - # If Canadian cross, then don't pick up tools from the build directory.
>> > - # Used only in GLIBCXX_EXPORT_INCLUDES.
>> > - if test -n "$with_cross_host" &&
>> > - test x"$build_alias" != x"$with_cross_host" &&
>> > - test x"$build" != x"$target";
>> > - then
>> > - CANADIAN=yes
>> > - else
>> > - CANADIAN=no
>> > - fi
>> >
>> > and it add "-I/usr/include" to compiler flags for building libstdc++.
>> > This is wrong.
>> >
>> > Reference to patch:
>> > https://gcc.gnu.org/ml/gcc-patches/2017-09/msg01332.html
^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PING^3] [PATCH] Remove CANADIAN, that break compilation for foreign target
2018-01-30 14:03 ` Jonathan Wakely
@ 2018-01-30 20:06 ` Petr Ovtchenkov
0 siblings, 0 replies; 7+ messages in thread
From: Petr Ovtchenkov @ 2018-01-30 20:06 UTC (permalink / raw)
To: Jonathan Wakely; +Cc: libstdc++, gcc-patches
On Tue, 30 Jan 2018 12:54:21 +0000
Jonathan Wakely <jwakely@redhat.com> wrote:
> On 30/01/18 10:19 +0300, Petr Ovtchenkov wrote:
> >On Tue, 19 Dec 2017 11:37:43 +0300
> >Petr Ovtchenkov <ptr@void-ptr.info> wrote:
> >
> >ping^3
>
>
> I don't fully understand the consequences (or need) for this patch.
>
> I asked some other people to look at it, and didn't get confirmation
> it's OK. So I'm reluctant to make the change. Especially this late in
> the GCC 8 cycle.
Hmm, almost two years for this words. Do you really think that
-I/usr/include may be correct in build of cross of some kind
(CANADIAN is just variant of cross)? Of cause, I don't consider
case with rolling target headers in /usr/include.
>
>
> >> On Thu, 16 Nov 2017 20:55:37 +0300
> >> Petr Ovtchenkov <ptr@void-ptr.info> wrote:
> >>
> >> > On Wed, 20 Sep 2017 13:44:59 +0300
> >> > Petr Ovtchenkov <ptr@void-ptr.info> wrote:
> >> >
> >> > > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71212
> >> > >
> >> > > On Fri, 20 May 2016 16:10:50 +0300
> >> > > Petr Ovtchenkov <ptr@void-ptr.info> wrote:
> >> > >
> >> > > > Some old ad-hoc (adding -I/usr/include to compiler
> >> > > > flags) break compilation of libstdc++ for foreign
> >> > > > target architecture (due to compiler see includes
> >> > > > of native).
> >> >
> >> > Reference for terms:
> >> >
> >> > https://gcc.gnu.org/onlinedocs/gccint/Configure-Terms.html
> >> >
> >> > Present of "CANADIAN=yes" lead to inclusion of
> >> > headers from build (-I/usr/include). "CANADIAN=yes" used _only_
> >> > to set "-I/usr/include".
> >> >
> >> > Inclusion of build headers in cross-compilation
> >> > process is not a mistake only in case of native (i.e. it is mistake
> >> > for cross, for canadian, for crossed native and for crossback),
> >> > but sometimes give "success".
> >> >
> >> > Note, that build/host/target may be different not only due to
> >> > different architectures, but due to different sysroots
> >> > (libc, kernel, binutils, etc.).
> >> >
> >> > CANADIAN is set to "yes" by code
> >> >
> >> > - # If Canadian cross, then don't pick up tools from the build directory.
> >> > - # Used only in GLIBCXX_EXPORT_INCLUDES.
> >> > - if test -n "$with_cross_host" &&
> >> > - test x"$build_alias" != x"$with_cross_host" &&
> >> > - test x"$build" != x"$target";
> >> > - then
> >> > - CANADIAN=yes
> >> > - else
> >> > - CANADIAN=no
> >> > - fi
> >> >
> >> > and it add "-I/usr/include" to compiler flags for building libstdc++.
> >> > This is wrong.
> >> >
> >> > Reference to patch:
> >> > https://gcc.gnu.org/ml/gcc-patches/2017-09/msg01332.html
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2018-01-30 18:36 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-20 10:38 [PATCH] Remove CANADIAN, that break compilation for foreign target Petr Ovtchenkov
2017-09-20 10:45 ` Petr Ovtchenkov
2017-11-16 18:05 ` [PING] " Petr Ovtchenkov
2017-12-19 8:37 ` [PING^2] " Petr Ovtchenkov
2018-01-30 7:59 ` [PING^3] " Petr Ovtchenkov
2018-01-30 14:03 ` Jonathan Wakely
2018-01-30 20:06 ` Petr Ovtchenkov
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).