The VxWorks crtbe are now part of libgcc, needed to support C++ on this
target.

Tested on x86_64-pc-linux-gnu, committed on trunk

2018-12-11  Jerome Lambourg  <lambo...@adacore.com>

gcc/ada/

        * Makefile.rtl, gcc-interface/Makefile.in: Remove crtbe bits for
        VxWorks.
        * libgnat/system-vxworks-arm-rtp-smp.ads,
        libgnat/system-vxworks-arm-rtp.ads,
        libgnat/system-vxworks-arm.ads,
        libgnat/system-vxworks-e500-kernel.ads,
        libgnat/system-vxworks-e500-rtp-smp.ads,
        libgnat/system-vxworks-e500-rtp.ads,
        libgnat/system-vxworks-ppc-kernel.ads,
        libgnat/system-vxworks-ppc-rtp-smp.ads,
        libgnat/system-vxworks-ppc-rtp.ads,
        libgnat/system-vxworks-ppc.ads,
        libgnat/system-vxworks-x86-kernel.ads,
        libgnat/system-vxworks-x86-rtp-smp.ads,
        libgnat/system-vxworks-x86-rtp.ads,
        libgnat/system-vxworks7-aarch64-rtp-smp.ads,
        libgnat/system-vxworks7-aarch64.ads,
        libgnat/system-vxworks7-arm-rtp-smp.ads,
        libgnat/system-vxworks7-e500-kernel.ads,
        libgnat/system-vxworks7-e500-rtp-smp.ads,
        libgnat/system-vxworks7-e500-rtp.ads,
        libgnat/system-vxworks7-ppc-kernel.ads,
        libgnat/system-vxworks7-ppc-rtp-smp.ads,
        libgnat/system-vxworks7-ppc-rtp.ads,
        libgnat/system-vxworks7-ppc64-kernel.ads,
        libgnat/system-vxworks7-ppc64-rtp-smp.ads,
        libgnat/system-vxworks7-x86-kernel.ads,
        libgnat/system-vxworks7-x86-rtp-smp.ads,
        libgnat/system-vxworks7-x86-rtp.ads,
        libgnat/system-vxworks7-x86_64-kernel.ads,
        libgnat/system-vxworks7-x86_64-rtp-smp.ads: Remove pragma
        Linker_Options for --specs.
        * vx_crtbegin.c, vx_crtbegin.inc, vx_crtbegin_array.c,
        vx_crtbegin_attr.c, vx_crtend.c, vxworks-gnat-crtbe-link.spec:
        Remove.
--- gcc/ada/Makefile.rtl
+++ gcc/ada/Makefile.rtl
@@ -857,16 +857,6 @@ VX_SIGTRAMP_EXTRA_SRCS=sigtramp.h sigtramp-vxworks-target.inc
 # aside the library itself. Typically useful for crtbegin/crtend kind of files.
 EXTRA_ADALIB_OBJS=
 
-# crt files for VxWorks exception tables registration, referenced by
-# spec files in the runtime library.
-VX_CRTBE_EXTRA_ADALIB_OBJS=vx_crtbegin.o vx_crtbegin_array.o vx_crtend.o
-
-# Contructor attributes (with priorities) are only supported on VxWorks 7
-# or for RTPs.
-ifneq ($(strip $(filter vxworks7% rtp%,$(target_os) $(THREAD_KIND))),)
-VX_CRTBE_EXTRA_ADALIB_OBJS+=vx_crtbegin_attr.o
-endif
-
 # GCC spec files to be installed in $(libsubdir), so --specs=<spec-filename>
 # finds them at runtime.
 GCC_SPEC_FILES=
@@ -894,7 +884,6 @@ ifeq ($(strip $(filter-out powerpc% wrs vxworks vxworksspe vxworks7 vxworks7spe,
 
   VX=$(strip $(if $(filter vxworks7%, $(target_os)), vxworks7, vxworks))
   SVX=system-$(VX)
-  GCC_SPEC_FILES+=$(VX)-gnat-crtbe-link.spec
 
   LIBGNAT_TARGET_PAIRS = \
   a-intnam.ads<libgnarl/a-intnam__vxworks.ads \
@@ -991,9 +980,6 @@ ifeq ($(strip $(filter-out powerpc% wrs vxworks vxworksspe vxworks7 vxworks7spe,
 
   EXTRA_LIBGNAT_OBJS+=vx_stack_info.o
 
-  EXTRA_ADALIB_OBJS+=$(VX_CRTBE_EXTRA_ADALIB_OBJS)
-  EXTRA_LIBGNAT_SRCS+=vx_crtbegin.inc
-
   ifeq ($(strip $(filter-out vxworks7%, $(target_os))),)
     ifeq ($(strip $(filter-out powerpc64, $(target_cpu))),)
       GCC_SPEC_FILES+=vxworks7-ppc64-rtp-base-link.spec
@@ -1137,7 +1123,6 @@ ifeq ($(strip $(filter-out %86 x86_64 wrs vxworks vxworks7,$(target_cpu) $(targe
 
   VX=$(strip $(if $(filter vxworks7%, $(target_os)), vxworks7, vxworks))
   SVX=system-$(VX)
-  GCC_SPEC_FILES+=$(VX)-gnat-crtbe-link.spec
 
   ifeq ($(strip $(filter-out x86_64, $(target_cpu))),)
      X86CPU=x86_64
@@ -1262,9 +1247,6 @@ ifeq ($(strip $(filter-out %86 x86_64 wrs vxworks vxworks7,$(target_cpu) $(targe
   EXTRA_LIBGNAT_OBJS+=sigtramp-vxworks.o
   EXTRA_LIBGNAT_SRCS+=$(VX_SIGTRAMP_EXTRA_SRCS)
 
-  EXTRA_ADALIB_OBJS+=$(VX_CRTBE_EXTRA_ADALIB_OBJS)
-  EXTRA_LIBGNAT_SRCS+=vx_crtbegin.inc
-
   ifeq ($(strip $(filter-out vxworks7%, $(target_os))),)
     GCC_SPEC_FILES+=vxworks7-$(X86CPU)-rtp-base-link.spec
   else
@@ -1300,7 +1282,6 @@ ifeq ($(strip $(filter-out aarch64 arm% coff wrs vx%,$(target_cpu) $(target_vend
   endif
 
   SVX=system-$(VX)
-  GCC_SPEC_FILES+=$(VX)-gnat-crtbe-link.spec
 
   LIBGNAT_TARGET_PAIRS = \
   a-intnam.ads<libgnarl/a-intnam__vxworks.ads \
@@ -1379,8 +1360,6 @@ ifeq ($(strip $(filter-out aarch64 arm% coff wrs vx%,$(target_cpu) $(target_vend
     ifeq ($(strip $(filter-out aarch64, $(target_cpu))),)
       GCC_SPEC_FILES+=vxworks7-rtp-base-link.spec
     endif
-    EXTRA_ADALIB_OBJS+=$(VX_CRTBE_EXTRA_ADALIB_OBJS)
-    EXTRA_LIBGNAT_SRCS+=vx_crtbegin.inc
 
     ifneq ($(strip $(filter-out vxworks7%, $(target_os))),)
       GCC_SPEC_FILES+=vxworks-arm-link.spec

--- gcc/ada/gcc-interface/Makefile.in
+++ gcc/ada/gcc-interface/Makefile.in
@@ -834,7 +834,6 @@ gnatlib-sjlj:
 	sed \
 	  -e 's/Frontend_Exceptions.*/Frontend_Exceptions       : constant Boolean := True;/' \
 	  -e 's/ZCX_By_Default.*/ZCX_By_Default            : constant Boolean := False;/' \
-	  -e 's/\(pragma Linker.*crtbe.*\)/--  \1/' \
 	  $(RTSDIR)/system.ads > $(RTSDIR)/s.ads
 	$(MV) $(RTSDIR)/s.ads $(RTSDIR)/system.ads
 	$(MAKE) $(FLAGS_TO_PASS) \
@@ -936,21 +935,6 @@ init.o    : init.c adaint.h raise.h
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
 
-vx_crtbegin.o : vx_crtbegin.c vx_crtbegin.inc
-	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
-		 -iquote $(srcdir) -iquote $(ftop_srcdir)/libgcc \
-	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
-
-vx_crtbegin_auto.o : vx_crtbegin_auto.c vx_crtbegin.inc
-	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
-		 -iquote $(srcdir) -iquote $(ftop_srcdir)/libgcc \
-	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
-
-vx_crtend.o : vx_crtend.c
-	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
-		 -iquote $(srcdir) -iquote $(ftop_srcdir)/libgcc \
-	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)
-
 init-vxsim.o : init-vxsim.c
 	$(COMPILER) -c $(ALL_COMPILERFLAGS) $(ADA_CFLAGS) \
 	         $(ALL_CPPFLAGS) $(INCLUDES) $< $(OUTPUT_OPTION)

--- gcc/ada/libgnat/system-vxworks-arm-rtp-smp.ads
+++ gcc/ada/libgnat/system-vxworks-arm-rtp-smp.ads
@@ -120,10 +120,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    pragma Linker_Options ("--specs=vxworks-smp-arm-link.spec");
    pragma Linker_Options ("--specs=vxworks-arm-link.spec");
    --  Setup proper set of -L's for this configuration

--- gcc/ada/libgnat/system-vxworks-arm-rtp.ads
+++ gcc/ada/libgnat/system-vxworks-arm-rtp.ads
@@ -120,10 +120,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    pragma Linker_Options ("--specs=vxworks-arm-link.spec");
    --  Setup proper set of -L's for this configuration
 

--- gcc/ada/libgnat/system-vxworks-arm.ads
+++ gcc/ada/libgnat/system-vxworks-arm.ads
@@ -118,10 +118,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    type Address is mod Memory_Size;
    Null_Address : constant Address := 0;
 

--- gcc/ada/libgnat/system-vxworks-e500-kernel.ads
+++ gcc/ada/libgnat/system-vxworks-e500-kernel.ads
@@ -118,10 +118,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    type Address is mod Memory_Size;
    Null_Address : constant Address := 0;
 

--- gcc/ada/libgnat/system-vxworks-e500-rtp-smp.ads
+++ gcc/ada/libgnat/system-vxworks-e500-rtp-smp.ads
@@ -120,10 +120,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    pragma Linker_Options ("--specs=vxworks-smp-e500-link.spec");
    pragma Linker_Options ("--specs=vxworks-e500-link.spec");
    --  Setup proper set of -L's for this configuration

--- gcc/ada/libgnat/system-vxworks-e500-rtp.ads
+++ gcc/ada/libgnat/system-vxworks-e500-rtp.ads
@@ -120,10 +120,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    pragma Linker_Options ("--specs=vxworks-e500-link.spec");
    --  Setup proper set of -L's for this configuration
 

--- gcc/ada/libgnat/system-vxworks-ppc-kernel.ads
+++ gcc/ada/libgnat/system-vxworks-ppc-kernel.ads
@@ -118,10 +118,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    type Address is mod Memory_Size;
    Null_Address : constant Address := 0;
 

--- gcc/ada/libgnat/system-vxworks-ppc-rtp-smp.ads
+++ gcc/ada/libgnat/system-vxworks-ppc-rtp-smp.ads
@@ -120,10 +120,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    pragma Linker_Options ("--specs=vxworks-smp-ppc-link.spec");
    pragma Linker_Options ("--specs=vxworks-ppc-link.spec");
    --  Setup proper set of -L's for this configuration

--- gcc/ada/libgnat/system-vxworks-ppc-rtp.ads
+++ gcc/ada/libgnat/system-vxworks-ppc-rtp.ads
@@ -120,10 +120,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    pragma Linker_Options ("--specs=vxworks-ppc-link.spec");
    --  Setup proper set of -L's for this configuration
 

--- gcc/ada/libgnat/system-vxworks-ppc.ads
+++ gcc/ada/libgnat/system-vxworks-ppc.ads
@@ -118,10 +118,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    pragma Linker_Options ("--specs=vxworks-ppc-link.spec");
    --  Setup proper set of -L's for this configuration
 

--- gcc/ada/libgnat/system-vxworks-x86-kernel.ads
+++ gcc/ada/libgnat/system-vxworks-x86-kernel.ads
@@ -118,10 +118,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    pragma Linker_Options ("--specs=vxworks-x86-link.spec");
    --  Setup proper set of -L's for this configuration
 

--- gcc/ada/libgnat/system-vxworks-x86-rtp-smp.ads
+++ gcc/ada/libgnat/system-vxworks-x86-rtp-smp.ads
@@ -118,10 +118,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    pragma Linker_Options ("--specs=vxworks-smp-x86-link.spec");
    pragma Linker_Options ("--specs=vxworks-x86-link.spec");
    --  Setup proper set of -L's for this configuration

--- gcc/ada/libgnat/system-vxworks-x86-rtp.ads
+++ gcc/ada/libgnat/system-vxworks-x86-rtp.ads
@@ -118,10 +118,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    pragma Linker_Options ("--specs=vxworks-x86-link.spec");
    --  Setup proper set of -L's for this configuration
 

--- gcc/ada/libgnat/system-vxworks7-aarch64-rtp-smp.ads
+++ gcc/ada/libgnat/system-vxworks7-aarch64-rtp-smp.ads
@@ -120,10 +120,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks7-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    pragma Linker_Options ("--specs=vxworks7-rtp-base-link.spec");
    --  Define the symbol wrs_rtp_base
 

--- gcc/ada/libgnat/system-vxworks7-aarch64.ads
+++ gcc/ada/libgnat/system-vxworks7-aarch64.ads
@@ -120,10 +120,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks7-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    type Address is mod Memory_Size;
    Null_Address : constant Address := 0;
 

--- gcc/ada/libgnat/system-vxworks7-arm-rtp-smp.ads
+++ gcc/ada/libgnat/system-vxworks7-arm-rtp-smp.ads
@@ -120,9 +120,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks7-rtp-base-link.spec");
-   --  Define the symbol wrs_rtp_base
-
    type Address is mod Memory_Size;
    Null_Address : constant Address := 0;
 

--- gcc/ada/libgnat/system-vxworks7-e500-kernel.ads
+++ gcc/ada/libgnat/system-vxworks7-e500-kernel.ads
@@ -118,10 +118,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks7-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    type Address is mod Memory_Size;
    Null_Address : constant Address := 0;
 

--- gcc/ada/libgnat/system-vxworks7-e500-rtp-smp.ads
+++ gcc/ada/libgnat/system-vxworks7-e500-rtp-smp.ads
@@ -120,10 +120,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks7-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    pragma Linker_Options ("--specs=vxworks7-rtp-base-link.spec");
    --  Define the symbol wrs_rtp_base
 

--- gcc/ada/libgnat/system-vxworks7-e500-rtp.ads
+++ gcc/ada/libgnat/system-vxworks7-e500-rtp.ads
@@ -120,10 +120,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks7-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    pragma Linker_Options ("--specs=vxworks-e500-link.spec");
    --  Setup proper set of -L's for this configuration
 

--- gcc/ada/libgnat/system-vxworks7-ppc-kernel.ads
+++ gcc/ada/libgnat/system-vxworks7-ppc-kernel.ads
@@ -118,10 +118,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks7-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    type Address is mod Memory_Size;
    Null_Address : constant Address := 0;
 

--- gcc/ada/libgnat/system-vxworks7-ppc-rtp-smp.ads
+++ gcc/ada/libgnat/system-vxworks7-ppc-rtp-smp.ads
@@ -120,10 +120,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks7-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    pragma Linker_Options ("--specs=vxworks7-rtp-base-link.spec");
    --  Define the symbol wrs_rtp_base
 

--- gcc/ada/libgnat/system-vxworks7-ppc-rtp.ads
+++ gcc/ada/libgnat/system-vxworks7-ppc-rtp.ads
@@ -120,10 +120,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks7-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    pragma Linker_Options ("--specs=vxworks-ppc-link.spec");
    --  Setup proper set of -L's for this configuration
 

--- gcc/ada/libgnat/system-vxworks7-ppc64-kernel.ads
+++ gcc/ada/libgnat/system-vxworks7-ppc64-kernel.ads
@@ -120,10 +120,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks7-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    type Address is mod Memory_Size;
    Null_Address : constant Address := 0;
 

--- gcc/ada/libgnat/system-vxworks7-ppc64-rtp-smp.ads
+++ gcc/ada/libgnat/system-vxworks7-ppc64-rtp-smp.ads
@@ -120,10 +120,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks7-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    pragma Linker_Options ("--specs=vxworks7-ppc64-rtp-base-link.spec");
    --  Define the symbol wrs_rtp_base
 

--- gcc/ada/libgnat/system-vxworks7-x86-kernel.ads
+++ gcc/ada/libgnat/system-vxworks7-x86-kernel.ads
@@ -118,10 +118,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks7-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    type Address is mod Memory_Size;
    Null_Address : constant Address := 0;
 

--- gcc/ada/libgnat/system-vxworks7-x86-rtp-smp.ads
+++ gcc/ada/libgnat/system-vxworks7-x86-rtp-smp.ads
@@ -118,10 +118,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks7-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    pragma Linker_Options ("--specs=vxworks7-x86-rtp-base-link.spec");
    --  Define the symbol wrs_rtp_base
 

--- gcc/ada/libgnat/system-vxworks7-x86-rtp.ads
+++ gcc/ada/libgnat/system-vxworks7-x86-rtp.ads
@@ -118,10 +118,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks7-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    pragma Linker_Options ("--specs=vxworks-x86-link.spec");
    --  Setup proper set of -L's for this configuration
 

--- gcc/ada/libgnat/system-vxworks7-x86_64-kernel.ads
+++ gcc/ada/libgnat/system-vxworks7-x86_64-kernel.ads
@@ -118,10 +118,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks7-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    type Address is mod Memory_Size;
    Null_Address : constant Address := 0;
 

--- gcc/ada/libgnat/system-vxworks7-x86_64-rtp-smp.ads
+++ gcc/ada/libgnat/system-vxworks7-x86_64-rtp-smp.ads
@@ -118,10 +118,6 @@ package System is
 
 private
 
-   pragma Linker_Options ("--specs=vxworks7-gnat-crtbe-link.spec");
-   --  Pull in crtbegin/crtend objects and register exceptions for ZCX.
-   --  This is commented out by our Makefile for SJLJ runtimes.
-
    pragma Linker_Options ("--specs=vxworks7-x86_64-rtp-base-link.spec");
    --  Define the symbol wrs_rtp_base
 

--- gcc/ada/vx_crtbegin.c
deleted file mode 100644
+++ /dev/null
@@ -1,39 +0,0 @@
-/****************************************************************************
- *                                                                          *
- *                         GNAT COMPILER COMPONENTS                         *
- *                                                                          *
- *                          V X _ C R T B E G I N                           *
- *                                                                          *
- *                          C Implementation File                           *
- *                                                                          *
- *              Copyright (C) 2016-2018, 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- *
- * ware  Foundation;  either version 3,  or (at your option) any later ver- *
- * sion.  GNAT is distributed in the hope that it will be useful, but WITH- *
- * OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY *
- * or FITNESS FOR A PARTICULAR PURPOSE.                                     *
- *                                                                          *
- * As a special exception under Section 7 of GPL version 3, you are granted *
- * additional permissions described in the GCC Runtime Library Exception,   *
- * version 3.1, as published by the Free Software Foundation.               *
- *                                                                          *
- * You should have received a copy of the GNU General Public License and    *
- * a copy of the GCC Runtime Library Exception along with this program;     *
- * see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    *
- * <http://www.gnu.org/licenses/>.                                          *
- *                                                                          *
- * GNAT was originally developed  by the GNAT team at  New York University. *
- * Extensive contributions were provided by Ada Core Technologies Inc.      *
- *                                                                          *
- ****************************************************************************/
-
-/* crtbegin kind of file for ehframe registration/deregistration
-   purposes on VxWorks.  This variant exposes just the ctor/dtor functions
-   without any particular attribute.  */
-
-#define CTOR_ATTRIBUTE
-#define DTOR_ATTRIBUTE
-
-#include "vx_crtbegin.inc"

--- gcc/ada/vx_crtbegin.inc
deleted file mode 100644
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
- *                                                                          *
- *                         GNAT COMPILER COMPONENTS                         *
- *                                                                          *
- *                          V X _ C R T B E G I N                           *
- *                                                                          *
- *                          C Implementation File                           *
- *                                                                          *
- *              Copyright (C) 2016, 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- *
- * ware  Foundation;  either version 3,  or (at your option) any later ver- *
- * sion.  GNAT is distributed in the hope that it will be useful, but WITH- *
- * OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY *
- * or FITNESS FOR A PARTICULAR PURPOSE.                                     *
- *                                                                          *
- * As a special exception under Section 7 of GPL version 3, you are granted *
- * additional permissions described in the GCC Runtime Library Exception,   *
- * version 3.1, as published by the Free Software Foundation.               *
- *                                                                          *
- * You should have received a copy of the GNU General Public License and    *
- * a copy of the GCC Runtime Library Exception along with this program;     *
- * see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    *
- * <http://www.gnu.org/licenses/>.                                          *
- *                                                                          *
- * GNAT was originally developed  by the GNAT team at  New York University. *
- * Extensive contributions were provided by Ada Core Technologies Inc.      *
- *                                                                          *
- ****************************************************************************/
-
-/* Common body for the various flavors of vx_crtbegin C sources we need
-   to perform eh frame registration/deregistration in various
-   circumstances.  #includers should define CDTOR_VISIBILITY. */
-
-#include "tconfig.h"
-#include "tsystem.h"
-#include "coretypes.h"
-#include "tm.h"
-#include "unwind-dw2-fde.h"
-
-/* Pick names that the VxWorks muncher will get if involved and leave the
-   symbols with public visibility.  Hiding by default is pointless and even
-   problematic in some configurations.  When the presence of these
-   constructors is an issue, best is not to include the crt object files at
-   all.  */
-
-#define CTOR_NAME _STI__101___crtbe_register_frame
-#define DTOR_NAME _STD__101___crtbe_deregister_frame
-
-void CTOR_NAME (void) CTOR_ATTRIBUTE;
-void DTOR_NAME (void) DTOR_ATTRIBUTE;
-
-static const char __EH_FRAME_BEGIN__[]
-__attribute__((section(EH_FRAME_SECTION_NAME), aligned(4)))
-  = { };
-
-void CTOR_NAME (void)
-{
-  static struct object object;
-  __register_frame_info (__EH_FRAME_BEGIN__, &object);
-}
-
-void DTOR_NAME (void)
-{
-  __deregister_frame_info (__EH_FRAME_BEGIN__);
-}
-

--- gcc/ada/vx_crtbegin_array.c
deleted file mode 100644
+++ /dev/null
@@ -1,45 +0,0 @@
-/****************************************************************************
- *                                                                          *
- *                         GNAT COMPILER COMPONENTS                         *
- *                                                                          *
- *                          V X _ C R T B E G I N                           *
- *                                                                          *
- *                          C Implementation File                           *
- *                                                                          *
- *              Copyright (C) 2016-2018, 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- *
- * ware  Foundation;  either version 3,  or (at your option) any later ver- *
- * sion.  GNAT is distributed in the hope that it will be useful, but WITH- *
- * OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY *
- * or FITNESS FOR A PARTICULAR PURPOSE.                                     *
- *                                                                          *
- * As a special exception under Section 7 of GPL version 3, you are granted *
- * additional permissions described in the GCC Runtime Library Exception,   *
- * version 3.1, as published by the Free Software Foundation.               *
- *                                                                          *
- * You should have received a copy of the GNU General Public License and    *
- * a copy of the GCC Runtime Library Exception along with this program;     *
- * see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    *
- * <http://www.gnu.org/licenses/>.                                          *
- *                                                                          *
- * GNAT was originally developed  by the GNAT team at  New York University. *
- * Extensive contributions were provided by Ada Core Technologies Inc.      *
- *                                                                          *
- ****************************************************************************/
-
-/* crtbegin kind of file for ehframe registration/deregistration
-   purposes on VxWorks.  This variant provides _ctors and _dtors
-   arrays that the kernel module loader knows to process when it has
-   been configured for this purpose (c++ constructor strategy set to
-   automatic).  */
-
-#define CTOR_ATTRIBUTE
-#define DTOR_ATTRIBUTE
-
-#include "vx_crtbegin.inc"
-
-typedef void (*func_ptr) (void);
-func_ptr _dtors [] = {DTOR_NAME, 0};
-func_ptr _ctors [] = {CTOR_NAME, 0};

--- gcc/ada/vx_crtbegin_attr.c
deleted file mode 100644
+++ /dev/null
@@ -1,49 +0,0 @@
-/****************************************************************************
- *                                                                          *
- *                         GNAT COMPILER COMPONENTS                         *
- *                                                                          *
- *                          V X _ C R T B E G I N                           *
- *                                                                          *
- *                          C Implementation File                           *
- *                                                                          *
- *              Copyright (C) 2016-2018, 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- *
- * ware  Foundation;  either version 3,  or (at your option) any later ver- *
- * sion.  GNAT is distributed in the hope that it will be useful, but WITH- *
- * OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY *
- * or FITNESS FOR A PARTICULAR PURPOSE.                                     *
- *                                                                          *
- * As a special exception under Section 7 of GPL version 3, you are granted *
- * additional permissions described in the GCC Runtime Library Exception,   *
- * version 3.1, as published by the Free Software Foundation.               *
- *                                                                          *
- * You should have received a copy of the GNU General Public License and    *
- * a copy of the GCC Runtime Library Exception along with this program;     *
- * see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    *
- * <http://www.gnu.org/licenses/>.                                          *
- *                                                                          *
- * GNAT was originally developed  by the GNAT team at  New York University. *
- * Extensive contributions were provided by Ada Core Technologies Inc.      *
- *                                                                          *
- ****************************************************************************/
-
-/* crtbegin kind of file for ehframe registration/deregistration
-   purposes on VxWorks.  This variant exposes the ctor/dtor functions
-   as explicit constructors referenced from a .ctors/.dtors section.  */
-
-#define CTOR_ATTRIBUTE
-#define DTOR_ATTRIBUTE
-
-#include "vx_crtbegin.inc"
-
-/* 101 is the highest user level priority allowed by VxWorks.  */
-
-static void (* volatile eh_registration_ctors[])()
-  __attribute__((section (".ctors.65424")))
-= { &CTOR_NAME };
-
-static void (* volatile eh_registration_dtors[])()
-  __attribute__((section (".dtors.65424")))
-= { &DTOR_NAME };

--- gcc/ada/vx_crtend.c
deleted file mode 100644
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
- *                                                                          *
- *                         GNAT COMPILER COMPONENTS                         *
- *                                                                          *
- *                            V X _ C R T E N D                             *
- *                                                                          *
- *                          C Implementation File                           *
- *                                                                          *
- *              Copyright (C) 2016-2018, 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- *
- * ware  Foundation;  either version 3,  or (at your option) any later ver- *
- * sion.  GNAT is distributed in the hope that it will be useful, but WITH- *
- * OUT ANY WARRANTY;  without even the  implied warranty of MERCHANTABILITY *
- * or FITNESS FOR A PARTICULAR PURPOSE.                                     *
- *                                                                          *
- * As a special exception under Section 7 of GPL version 3, you are granted *
- * additional permissions described in the GCC Runtime Library Exception,   *
- * version 3.1, as published by the Free Software Foundation.               *
- *                                                                          *
- * You should have received a copy of the GNU General Public License and    *
- * a copy of the GCC Runtime Library Exception along with this program;     *
- * see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see    *
- * <http://www.gnu.org/licenses/>.                                          *
- *                                                                          *
- * GNAT was originally developed  by the GNAT team at  New York University. *
- * Extensive contributions were provided by Ada Core Technologies Inc.      *
- *                                                                          *
- ****************************************************************************/
-
-/* crtend kind of file for ehframe registration/deregistration
-   purposes on VxWorks.  */
-
-#include "tconfig.h"
-#include "tsystem.h"
-#include "coretypes.h"
-#include "tm.h"
-
-# if __INT_MAX__ == 2147483647
-typedef int int32;
-# elif __LONG_MAX__ == 2147483647
-typedef long int32;
-# elif __SHRT_MAX__ == 2147483647
-typedef short int32;
-# else
-#  error "Missing a 4 byte integer"
-# endif
-
-static const int32 __FRAME_END__[]
-     __attribute__ ((used, section(EH_FRAME_SECTION_NAME),
-		     aligned(sizeof(int32))))
-     = { 0 };

--- gcc/ada/vxworks-gnat-crtbe-link.spec
deleted file mode 100644
+++ /dev/null
@@ -1,16 +0,0 @@
-*self_spec:
-+ %{!auto-register:%{!noauto-register:-auto-register}} \
-  %{!crtbe:%{!nocrtbe:-crtbe}}
-
-*startfile:
-+ %{crtbe:%{!nocrtbe: \
-    %{mrtp:-l:vx_crtbegin_attr.o%s} \
-    %{!mrtp: \
-      %{auto-register:-l:vx_crtbegin_array.o%s} \
-      %{!auto-register:-l:vx_crtbegin.o%s} \
-     } \
-   }}
-
-*endfile:
-+ %{crtbe:%{!nocrtbe:-l:vx_crtend.o%s}}
-

Reply via email to