re PR ada/58239 (pretty-print.c:789: undefined reference to `operator delete(void*)')
authorEric Botcazou <ebotcazou@adacore.com>
Sun, 1 Sep 2013 16:51:41 +0000 (16:51 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Sun, 1 Sep 2013 16:51:41 +0000 (16:51 +0000)
PR ada/58239
gnattools/
* Makefile.in (CXX_LFLAGS): New.
(TOOLS_FLAGS_TO_PASS_NATIVE): Pass CXX and CXX_LFLAGS.
(TOOLS_FLAGS_TO_PASS_RE): Likewise.
(TOOLS_FLAGS_TO_PASS_CROSS): Pass CXX.
gcc/ada/
* gcc-interface/Makefile.in (GCC_LINK_FLAGS): Add -static-libstdc++.
(GCC_LINK): Use CXX instead of CC.
* gcc-interface/Make-lang.in (CXX_LFLAGS): New.
(ADA_TOOLS_FLAGS_TO_PASS): Pass CXX, and CXX_LFLAGS for native.

Co-Authored-By: Iain Sandoe <iain@codesourcery.com>
From-SVN: r202150

gcc/ada/ChangeLog
gcc/ada/gcc-interface/Make-lang.in
gcc/ada/gcc-interface/Makefile.in
gnattools/ChangeLog
gnattools/Makefile.in

index 840dadf1937665f1a664a4b4585eec67e076fe52..61fd991bef2d8bdb0cc6fba08b753d041d55ec4f 100644 (file)
@@ -1,3 +1,12 @@
+2013-09-01  Eric Botcazou  <ebotcazou@adacore.com>
+           Iain Sandoe  <iain@codesourcery.com>
+
+       PR ada/58239
+       * gcc-interface/Makefile.in (GCC_LINK_FLAGS): Add -static-libstdc++.
+       (GCC_LINK): Use CXX instead of CC.
+       * gcc-interface/Make-lang.in (CXX_LFLAGS): New.
+       (ADA_TOOLS_FLAGS_TO_PASS): Pass CXX, and CXX_LFLAGS for native.
+
 2013-08-13  Eric Botcazou  <ebotcazou@adacore.com>
 
        * gcc-interface/decl.c (gnat_to_gnu_entity): Do not bother about alias
index 4fed34fc524945ea84e2e12051e6c40e8582c7f5..93250da561c4eb4d446757f293046933fd012230 100644 (file)
@@ -111,6 +111,12 @@ ada: gnat1$(exeext) gnatbind$(exeext)
 # Tell GNU Make to ignore these, if they exist.
 .PHONY: ada
 
+CXX_LFLAGS = \
+ -B../../../$(target_noncanonical)/libstdc++-v3/src/.libs \
+ -B../../../$(target_noncanonical)/libstdc++-v3/libsupc++/.libs \
+ -L../../../$(target_noncanonical)/libstdc++-v3/src/.libs \
+ -L../../../$(target_noncanonical)/libstdc++-v3/libsupc++/.libs
+
 # There are too many Ada sources to check against here.  Let's
 # always force the recursive make.
 ifeq ($(build), $(host))
@@ -119,6 +125,7 @@ ifeq ($(build), $(host))
     # tree.
     ADA_TOOLS_FLAGS_TO_PASS=\
         CC="../../xgcc -B../../" \
+        CXX="../../xg++ -B../../ $(CXX_LFLAGS)" \
         $(COMMON_FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) \
         ADA_INCLUDES="-I- -I../rts" \
         GNATMAKE="../../gnatmake" \
@@ -136,6 +143,7 @@ ifeq ($(build), $(host))
 
     ADA_TOOLS_FLAGS_TO_PASS=\
         CC="$(CC)" \
+        CXX="$(CXX)" \
         $(COMMON_FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS) \
         ADA_INCLUDES="-I$(RTS_DIR)../adainclude -I$(RTS_DIR)" \
         GNATMAKE="gnatmake" \
@@ -158,6 +166,7 @@ else
     # built runtime.
     ADA_TOOLS_FLAGS_TO_PASS=\
         CC="$(CC)" \
+        CXX="$(CXX)" \
         $(COMMON_FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS)  \
         ADA_INCLUDES="-I../rts"                \
         GNATMAKE="$(GNATMAKE_FOR_HOST)"      \
@@ -172,6 +181,7 @@ else
     endif
     ADA_TOOLS_FLAGS_TO_PASS=\
         CC="$(CC)" \
+        CXX="$(CXX)" \
         $(COMMON_FLAGS_TO_PASS) $(ADA_FLAGS_TO_PASS)  \
         ADA_INCLUDES="-I$(RTS_DIR)../adainclude -I$(RTS_DIR)" \
         GNATMAKE="$(GNATMAKE_FOR_HOST)"      \
index bdaa29b8a8d2744006c79284720230060cd3d5d8..0c4057c1019a2b26a4e9871f626d63b6d6a8156e 100644 (file)
@@ -198,7 +198,7 @@ RTSDIR = rts$(subst /,_,$(MULTISUBDIR))
 # Link flags used to build gnat tools.  By default we prefer to statically
 # link with libgcc to avoid a dependency on shared libgcc (which is tricky
 # to deal with as it may conflict with the libgcc provided by the system).
-GCC_LINK_FLAGS=-static-libgcc
+GCC_LINK_FLAGS=-static-libstdc++ -static-libgcc
 
 # End of variables for you to override.
 
@@ -2275,7 +2275,7 @@ ifeq ($(strip $(filter-out darwin%,$(osys))),)
   GMEM_LIB = gmemlib
   LIBRARY_VERSION := $(LIB_VERSION)
   soext = .dylib
-  GCC_LINK_FLAGS=
+  GCC_LINK_FLAGS=-static-libstdc++
 endif
 
 # ARM Nucleus
@@ -2397,7 +2397,7 @@ TOOLS_FLAGS_TO_PASS=              \
        "GNATLINK=$(GNATLINK)"  \
        "GNATBIND=$(GNATBIND)"
 
-GCC_LINK=$(CC) $(GCC_LINK_FLAGS) $(ADA_INCLUDES)
+GCC_LINK=$(CXX) $(GCC_LINK_FLAGS) $(ADA_INCLUDES)
 
 # Build directory for the tools. Let's copy the target-dependent
 # sources using the same mechanism as for gnatlib. The other sources are
index d7333c60b85030ff98841c8f8d0b67fd25f2cb62..a1e7b9a32b8dacda64774292a842f5b2d59ece27 100644 (file)
@@ -1,3 +1,12 @@
+2013-09-01  Eric Botcazou  <ebotcazou@adacore.com>
+           Iain Sandoe  <iain@codesourcery.com>
+
+       PR ada/58239
+       * Makefile.in (CXX_LFLAGS): New.
+       (TOOLS_FLAGS_TO_PASS_NATIVE): Pass CXX and CXX_LFLAGS.
+       (TOOLS_FLAGS_TO_PASS_RE): Likewise.
+       (TOOLS_FLAGS_TO_PASS_CROSS): Pass CXX.
+
 2012-03-14  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
 
        * configure.ac (mips-sgi-irix*): Remove.
index 794d374e75e47af773b32846ea01f8cd688f5ffd..fdd649194df21de1733a0f34924f13a59e2431e5 100644 (file)
@@ -63,9 +63,16 @@ INCLUDES_FOR_SUBDIR = -I. -I.. -I../.. -I$(fsrcdir)/ada -I$(fsrcdir)/config \
        -I$(fsrcdir)/../include -I$(fsrcdir)
 ADA_INCLUDES_FOR_SUBDIR = -I. -I$(fsrcdir)/ada
 
+CXX_LFLAGS = \
+ -B../../../$(target_noncanonical)/libstdc++-v3/src/.libs \
+ -B../../../$(target_noncanonical)/libstdc++-v3/libsupc++/.libs \
+ -L../../../$(target_noncanonical)/libstdc++-v3/src/.libs \
+ -L../../../$(target_noncanonical)/libstdc++-v3/libsupc++/.libs
+
 # Variables for gnattools, native
 TOOLS_FLAGS_TO_PASS_NATIVE= \
        "CC=../../xgcc -B../../" \
+       "CXX=../../xg++ -B../../ $(CXX_LFLAGS)" \
        "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" \
        "LDFLAGS=$(LDFLAGS)" \
        "ADAFLAGS=$(ADAFLAGS)" \
@@ -83,6 +90,7 @@ TOOLS_FLAGS_TO_PASS_NATIVE= \
 # Variables for regnattools
 TOOLS_FLAGS_TO_PASS_RE= \
        "CC=../../xgcc -B../../" \
+       "CXX=../../xg++ -B../../ $(CXX_LFLAGS)" \
        "CFLAGS=$(CFLAGS)" \
        "ADAFLAGS=$(ADAFLAGS)" \
        "ADA_CFLAGS=$(ADA_CFLAGS)" \
@@ -99,6 +107,7 @@ TOOLS_FLAGS_TO_PASS_RE= \
 # Variables for gnattools, cross
 TOOLS_FLAGS_TO_PASS_CROSS= \
        "CC=$(CC)" \
+       "CXX=$(CXX)" \
        "CFLAGS=$(CFLAGS) $(WARN_CFLAGS)" \
        "LDFLAGS=$(LDFLAGS)" \
        "ADAFLAGS=$(ADAFLAGS)"  \