re PR ada/16592 (Ada tools don't use the newly built shared libraries)
* 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
This commit is contained in:
parent
e06a584e59
commit
3536d406b5
@ -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)
|
||||
|
@ -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- --
|
Loading…
Reference in New Issue
Block a user