re PR ada/16592 (Ada tools don't use the newly built shared libraries)
authorArnaud Charlet <charlet@gcc.gnu.org>
Thu, 10 Feb 2005 13:55:33 +0000 (14:55 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Thu, 10 Feb 2005 13:55:33 +0000 (14:55 +0100)
* s-asthan-vms.adb: Removed.

* s-asthan-vms-alpha.adb: Added.

* Makefile.in [VMS] (LN,LN_S): Define as cp -p
Rename s-asthan-vms.adb to s-asthan-vms-alpha.adb.
[VMS]: Add translations for g-enblsp.adb.
(LIBGNAT_SRCS): Add seh_init.c.
(LIBGNAT_OBJS): Add seh_init.o.

PR ada/16592

Link all gnat tools with -static-libgcc, since
-shared-libgcc is now used by default on some systems (e.g. linux with
recent binutils).
Remove references to Makefile.prolog/generic, no longer used.

From-SVN: r94818

gcc/ada/Makefile.in
gcc/ada/s-asthan-vms-alpha.adb [moved from gcc/ada/s-asthan-vms.adb with 99% similarity]

index edf39b6..1e6e535 100644 (file)
@@ -163,6 +163,7 @@ GCC_CFLAGS = $(INTERNAL_CFLAGS) $(X_CFLAGS) $(T_CFLAGS) $(CFLAGS)
 program_transform_name =
 objdir = .
 
+target_alias=@target_alias@
 target=@target@
 xmake_file = @xmake_file@
 tmake_file = @tmake_file@
@@ -1174,6 +1175,8 @@ ifeq ($(strip $(filter-out alpha% ia64 dec hp vms% openvms% alphavms%,$(host))),
 
 soext  = .exe
 hyphen = _
+LN = cp -p
+LN_S = cp -p
 
 ifeq ($(strip $(filter-out ia64 hp vms% openvms%,$(targ))),)
 AR = iar
@@ -1188,6 +1191,7 @@ endif
 ifeq ($(strip $(filter-out alpha% ia64 dec hp vms% openvms% alphavms%,$(targ))),)
 ifeq ($(strip $(filter-out ia64 hp vms% openvms%,$(targ))),)
   LIBGNAT_TARGET_PAIRS_AUX1 = \
+  g-enblsp.adb<g-enblsp-vms-ia64.adb \
   s-auxdec.ads<s-auxdec-vms_64.ads \
   s-crtl.ads<s-crtl-vms.ads \
   s-osinte.adb<s-osinte-vms-ia64.adb \
@@ -1196,6 +1200,8 @@ ifeq ($(strip $(filter-out ia64 hp vms% openvms%,$(targ))),)
 else
 ifeq ($(strip $(filter-out alpha% dec vms% openvms% alphavms%,$(targ))),)
   LIBGNAT_TARGET_PAIRS_AUX1 = \
+  g-enblsp.adb<g-enblsp-vms-alpha.adb \
+  s-asthan.adb<s-asthan-vms-alpha.adb \
   s-crtl.ads<s-crtl-vms.ads \
   s-osinte.adb<s-osinte-vms.adb \
   s-osinte.ads<s-osinte-vms.ads \
@@ -1227,7 +1233,6 @@ endif
   i-cstrea.adb<i-cstrea-vms.adb \
   i-cpp.adb<i-cpp-vms.adb \
   interfac.ads<interfac-vms.ads \
-  s-asthan.adb<s-asthan-vms.adb \
   s-inmaop.adb<s-inmaop-vms.adb \
   s-interr.adb<s-interr-vms.adb \
   s-intman.adb<s-intman-vms.adb \
@@ -1262,7 +1267,7 @@ endif
   EXTRA_GNATRTL_TASKING_OBJS=s-tpopde.o
   EXTRA_GNATTOOLS = \
      ../../gnatlbr$(exeext) \
-     ,,/../gnatsym$(exeext)
+     ../../gnatsym$(exeext)
   # This command transforms (YYYYMMDD) into YY,MMDD
   GSMATCH_VERSION := $(shell grep "^ *Gnat_Static_Version_String" $(fsrcpfx)gnatvsn.ads | sed -e 's/.*(\(.*\)).*/\1/' -e 's/\(..\)\(..\)\(....\)/\2,\3/')
   TOOLS_LIBS_LO := --for-linker=sys\\$$\$$library:trace.exe
@@ -1334,7 +1339,6 @@ ifeq ($(strip $(filter-out powerpc% linux%,$(arch) $(osys))),)
   GMEM_LIB = gmemlib
   PREFIX_OBJS = $(PREFIX_REAL_OBJS)
   LIBRARY_VERSION := $(LIB_VERSION)
-
 endif
 
 ifeq ($(strip $(filter-out %ia64 linux%,$(arch) $(osys))),)
@@ -1448,12 +1452,12 @@ endif
 # subdirectory and copied.
 LIBGNAT_SRCS = ada.h adaint.c adaint.h argv.c cio.c cstreams.c \
   errno.c exit.c cal.c ctrl_c.c \
-  raise.h raise.c sysdep.c aux-io.c init.c \
+  raise.h raise.c sysdep.c aux-io.c init.c seh_init.c \
   final.c tracebak.c tb-alvms.c tb-alvxw.c expect.c mkdir.c socket.c gsocket.h \
   $(EXTRA_LIBGNAT_SRCS)
 
 LIBGNAT_OBJS = adaint.o argv.o cio.o cstreams.o ctrl_c.o errno.o exit.o \
-  raise.o sysdep.o aux-io.o init.o cal.o final.o \
+  raise.o sysdep.o aux-io.o init.o seh_init.o cal.o final.o \
   tracebak.o expect.o mkdir.o socket.o $(EXTRA_LIBGNAT_OBJS)
 
 # NOTE ??? - when the -I option for compiling Ada code is made to work,
@@ -1474,8 +1478,7 @@ GNATRTL_OBJS = $(GNATRTL_NONTASKING_OBJS) $(GNATRTL_TASKING_OBJS) \
 ADA_INCLUDE_SRCS =\
  ada.ads calendar.ads directio.ads gnat.ads interfac.ads ioexcept.ads \
  machcode.ads text_io.ads unchconv.ads unchdeal.ads \
- sequenio.ads system.ads Makefile.prolog Makefile.generic \
- memtrack.adb \
+ sequenio.ads system.ads Makefile.adalib memtrack.adb \
  a-*.adb a-*.ads g-*.ad? i-*.ad? \
  s-[a-o]*.adb s-[p-z]*.adb \
  s-[a-o]*.ads s-[p-z]*.ads
@@ -1497,6 +1500,8 @@ TOOLS_FLAGS_TO_PASS=              \
        "GNATLINK=$(GNATLINK)"  \
        "GNATBIND=$(GNATBIND)"
 
+GCC_LINK="$(CC) -static-libgcc $(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 
 # accessed using the vpath directive below
@@ -1574,83 +1579,74 @@ gnattools4: ../stamp-tools
 ../../gnatchop$(exeext): ../stamp-tools
        $(GNATMAKE) -c $(ADA_INCLUDES) gnatchop --GCC="$(CC) $(ALL_ADAFLAGS)"
        $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatchop 
-       $(GNATLINK) -v gnatchop -o $@ --GCC="$(CC) $(ADA_INCLUDES)" \
-               $(TOOLS_LIBS)
+       $(GNATLINK) -v gnatchop -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
 
 ../../gnat$(exeext): ../stamp-tools
        $(GNATMAKE) -c $(ADA_INCLUDES) gnatcmd --GCC="$(CC) $(ALL_ADAFLAGS)"
        $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatcmd 
-       $(GNATLINK) -v gnatcmd -o $@ --GCC="$(CC) $(ADA_INCLUDES)" $(TOOLS_LIBS)
+       $(GNATLINK) -v gnatcmd -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
 
 ../../gnatkr$(exeext): ../stamp-tools
        $(GNATMAKE) -c $(ADA_INCLUDES) gnatkr --GCC="$(CC) $(ALL_ADAFLAGS)"
        $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatkr 
-       $(GNATLINK) -v gnatkr -o $@ --GCC="$(CC) $(ADA_INCLUDES)" $(TOOLS_LIBS)
+       $(GNATLINK) -v gnatkr -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
 
 ../../gnatls$(exeext): ../stamp-tools
        $(GNATMAKE) -c $(ADA_INCLUDES) gnatls --GCC="$(CC) $(ALL_ADAFLAGS)"
        $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatls 
-       $(GNATLINK) -v gnatls -o $@ --GCC="$(CC) $(ADA_INCLUDES)" $(TOOLS_LIBS)
+       $(GNATLINK) -v gnatls -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
 
 ../../gnatname$(exeext): ../stamp-tools
        $(GNATMAKE) -c $(ADA_INCLUDES) gnatname --GCC="$(CC) $(ALL_ADAFLAGS)"
        $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatname 
-       $(GNATLINK) -v gnatname -o $@ --GCC="$(CC) $(ADA_INCLUDES)" \
-                   $(TOOLS_LIBS)
+       $(GNATLINK) -v gnatname -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
 
 ../../gprmake$(exeext): ../stamp-tools
        $(GNATMAKE) -c $(ADA_INCLUDES) gprmake --GCC="$(CC) $(ALL_ADAFLAGS)"
        $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gprmake
-       $(GNATLINK) -v gprmake -o $@ --GCC="$(CC) $(ADA_INCLUDES)" \
-                   $(TOOLS_LIBS)
+       $(GNATLINK) -v gprmake -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
 
 ../../gnatprep$(exeext): ../stamp-tools
        $(GNATMAKE) -c $(ADA_INCLUDES) gnatprep --GCC="$(CC) $(ALL_ADAFLAGS)"
        $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatprep 
-       $(GNATLINK) -v gnatprep -o $@ --GCC="$(CC) $(ADA_INCLUDES)" \
-                   $(TOOLS_LIBS)
+       $(GNATLINK) -v gnatprep -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
 
 ../../gnatxref$(exeext): ../stamp-tools
        $(GNATMAKE) -c $(ADA_INCLUDES) gnatxref --GCC="$(CC) $(ALL_ADAFLAGS)"
        $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatxref 
-       $(GNATLINK) -v gnatxref -o $@ --GCC="$(CC) $(ADA_INCLUDES)" \
-                   $(TOOLS_LIBS)
+       $(GNATLINK) -v gnatxref -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
 
 ../../gnatfind$(exeext): ../stamp-tools
        $(GNATMAKE) -c $(ADA_INCLUDES) gnatfind --GCC="$(CC) $(ALL_ADAFLAGS)"
        $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatfind 
-       $(GNATLINK) -v gnatfind -o $@ --GCC="$(CC) $(ADA_INCLUDES)" \
-                   $(TOOLS_LIBS)
+       $(GNATLINK) -v gnatfind -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
 
 ../../gnatclean$(exeext): ../stamp-tools
        $(GNATMAKE) -c $(ADA_INCLUDES) gnatclean --GCC="$(CC) $(ALL_ADAFLAGS)"
        $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatclean
-       $(GNATLINK) -v gnatclean -o $@ --GCC="$(CC) $(ADA_INCLUDES)" \
-                   $(TOOLS_LIBS)
+       $(GNATLINK) -v gnatclean -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
 
 ../../gnatsym$(exeext): ../stamp-tools
        $(GNATMAKE) -c $(ADA_INCLUDES) gnatsym --GCC="$(CC) $(ALL_ADAFLAGS)"
        $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatsym
-       $(GNATLINK) -v gnatsym -o $@ --GCC="$(CC) $(ADA_INCLUDES)" \
-                    $(TOOLS_LIBS)
+       $(GNATLINK) -v gnatsym -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
 
 ../../gnatdll$(exeext): ../stamp-tools
        $(GNATMAKE) -c $(ADA_INCLUDES) gnatdll --GCC="$(CC) $(ALL_ADAFLAGS)"
        $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) $(GNATBIND_FLAGS) gnatdll
-       $(GNATLINK) -v gnatdll -o $@ --GCC="$(CC) $(ADA_INCLUDES)" \
-               $(TOOLS_LIBS)
+       $(GNATLINK) -v gnatdll -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
 
 ../../vxaddr2line$(exeext): ../stamp-tools
        $(GNATMAKE) -c  $(ADA_INCLUDES) vxaddr2line --GCC="$(CC) $(ALL_ADAFLAGS)"
        $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) vxaddr2line 
-       $(GNATLINK) -v vxaddr2line -o $@ --GCC="$(CC) $(ADA_INCLUDES)" $(CLIB)
+       $(GNATLINK) -v vxaddr2line -o $@ --GCC=$(GCC_LINK) $(CLIB)
 
 gnatmake-re: ../stamp-tools link.o
        $(GNATMAKE) $(ADA_INCLUDES) -u sdefault --GCC="$(CC) $(MOST_ADA_FLAGS)"
        $(GNATMAKE) -c $(ADA_INCLUDES) gnatmake --GCC="$(CC) $(ALL_ADAFLAGS)"
        $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatmake 
        $(GNATLINK) -v gnatmake -o ../../gnatmake$(exeext) \
-               --GCC="$(CC) $(ADA_INCLUDES)" $(TOOLS_LIBS)
+               --GCC=$(GCC_LINK) $(TOOLS_LIBS)
 
 # Note the use of the "mv" command in order to allow gnatlink to be linked with
 # with the former version of gnatlink itself which cannot override itself.
@@ -1658,7 +1654,7 @@ gnatlink-re: ../stamp-tools link.o
        $(GNATMAKE) -c $(ADA_INCLUDES) gnatlink --GCC="$(CC) $(ALL_ADAFLAGS)"
        $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatlink 
        $(GNATLINK) -v gnatlink -o ../../gnatlinknew$(exeext) \
-                   --GCC="$(CC) $(ADA_INCLUDES)" $(TOOLS_LIBS)
+                   --GCC=$(GCC_LINK) $(TOOLS_LIBS)
        $(MV)  ../../gnatlinknew$(exeext)  ../../gnatlink$(exeext)
   
 # Needs to be built with CC=gcc
@@ -1695,15 +1691,10 @@ install-gnatlib: ../stamp-gnatlib
 #      deleting the right one.
        -$(MKDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR)
        -$(MKDIR) $(DESTDIR)$(ADA_INCLUDE_DIR)
-       -$(MKDIR) $(DESTDIR)$(ADA_SHARE_MAKE_DIR)
        $(RMDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR)
        $(RMDIR) $(DESTDIR)$(ADA_INCLUDE_DIR)
-       $(RMDIR) $(DESTDIR)$(ADA_SHARE_MAKE_DIR)
        -$(MKDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR)
        -$(MKDIR) $(DESTDIR)$(ADA_INCLUDE_DIR)
-       -$(MKDIR) $(DESTDIR)$(ADA_SHARE_MAKE_DIR)
-       -$(INSTALL_DATA) rts/Makefile.prolog $(DESTDIR)$(ADA_SHARE_MAKE_DIR)
-       -$(INSTALL_DATA) rts/Makefile.generic $(DESTDIR)$(ADA_SHARE_MAKE_DIR)
        for file in rts/*.ali; do \
            $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \
        done
@@ -1987,7 +1978,6 @@ b_gnatm.o : b_gnatm.c
 
 ADA_INCLUDE_DIR = $(libsubdir)/adainclude
 ADA_RTL_OBJ_DIR = $(libsubdir)/adalib
-ADA_SHARE_MAKE_DIR = $(prefix)/share/gnat
 
 # force no sibling call optimization on s-traceb.o so the number of stack
 # frames to be skipped when computing a call chain is not modified by
@@ -2043,7 +2033,12 @@ mkdir.o   : mkdir.c
 socket.o  : socket.c gsocket.h
 sysdep.o  : sysdep.c
 
-cio.o     : cio.c 
+gen-soccon: gen-soccon.c gsocket.h
+       $(CC) $(ALL_CFLAGS) $(ADA_CFLAGS) $(RT_FLAGS) \
+               $(ALL_CPPFLAGS) $(INCLUDES) -DTARGET=\"$(target_alias)\" \
+               $< $(OUTPUT_OPTION)
+
+cio.o     : cio.c
        $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) $(RT_FLAGS) \
                 $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
@@ -2051,6 +2046,12 @@ init.o    : init.c ada.h types.h raise.h
        $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) $(RT_FLAGS) \
                 $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
+# No optimization to compile this file as optimizations (-O1 or above) breaks
+# the SEH handling on Windows. The reasons are not clear.
+seh_init.o : seh_init.c raise.h
+       $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) $(RT_FLAGS) -O0 \
+                $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
+
 raise.o   : raise.c raise.h
        $(CC) -c $(ALL_CFLAGS) $(ADA_CFLAGS) $(RT_FLAGS) \
                 $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
@@ -2072,5 +2073,4 @@ force:
 ../../gnatlbr$(exeext): ../../prefix.o
        $(GNATMAKE) -c $(ADA_INCLUDES) gnatlbr --GCC="$(CC) $(ALL_ADAFLAGS)"
        $(GNATBIND) $(ADA_INCLUDES) $(GNATBIND_FLAGS) gnatlbr
-       $(GNATLINK) -v gnatlbr -o $@ --GCC="$(CC) $(ADA_INCLUDES)" \
-               $(TOOLS_LIBS)
+       $(GNATLINK) -v gnatlbr -o $@ --GCC=$(GCC_LINK) $(TOOLS_LIBS)
similarity index 99%
rename from gcc/ada/s-asthan-vms.adb
rename to gcc/ada/s-asthan-vms-alpha.adb
index 7d66ad8..5f2de70 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1996-2004 Free Software Foundation, Inc.          --
+--          Copyright (C) 1996-2005 Free Software Foundation, Inc.          --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --