diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-01-06 09:47:48 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2015-01-06 09:47:48 +0000 |
commit | 35bd138fda3452b82b17ab4f54ec87242311f959 (patch) | |
tree | 49e5167fbe92e8c71bbc6d289a4ae8a5c223d70b /gcc/ada/gcc-interface | |
parent | c050b7e5f0a13ae1f4ec089703ab0adb741723b3 (diff) | |
download | gcc-35bd138fda3452b82b17ab4f54ec87242311f959.tar.gz |
2015-01-06 Pascal Obry <obry@adacore.com>
* adaint.c (ProcListEvt): Set to NULL.
* rtinit.c: New file.
(__gnat_rt_init_count): New reference counter set to 0.
(__gnat_runtime_initialize): Move code here from __gnat_initialize when
this code is actually needed for the runtime initialization. This
routine returns immediately if the initialization has already been done.
* final.c: Revert previous change.
* rtfinal.c: New file.
(__gnat_runtime_finalize)[Win32]: Add finalization of the critical
section and event. The default version of this routine is empty (except
for the reference counting code). This routine returns immediately if
some others libraries are referencing the runtime.
* bindgen.adb (Gen_Adainit): Generate call to Runtime_Initialize
remove circuitry to initialize the signal handler as this is
now done by the runtime initialization routine.
(Gen_Adafinal): Generate call to Runtime_Finalize.
* gnat_ugn.texi: Update documentation about concurrency and
initialization/finalization of the run-time.
* gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Add
references to rtfinal.o and rtinit.o
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@219238 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada/gcc-interface')
-rw-r--r-- | gcc/ada/gcc-interface/Make-lang.in | 6 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/Makefile.in | 4 |
2 files changed, 7 insertions, 3 deletions
diff --git a/gcc/ada/gcc-interface/Make-lang.in b/gcc/ada/gcc-interface/Make-lang.in index efae513ef79..6fa4f4cffc5 100644 --- a/gcc/ada/gcc-interface/Make-lang.in +++ b/gcc/ada/gcc-interface/Make-lang.in @@ -223,8 +223,8 @@ GCC_LLINK=$(LLINKER) $(GCC_LINKERFLAGS) $(LDFLAGS) # Object files for gnat1 from C sources. GNAT1_C_OBJS = ada/adadecode.o ada/adaint.o ada/argv.o ada/cio.o \ ada/cstreams.o ada/env.o ada/init.o ada/initialize.o ada/raise.o \ - ada/seh_init.o ada/targext.o ada/cuintp.o ada/decl.o \ - ada/misc.o ada/utils.o ada/utils2.o ada/trans.o ada/targtyps.o + ada/seh_init.o ada/targext.o ada/cuintp.o ada/decl.o ada/rtfinal.o \ + ada/rtinit.o ada/misc.o ada/utils.o ada/utils2.o ada/trans.o ada/targtyps.o # Object files from Ada sources that are used by gnat1 GNAT_ADA_OBJS = \ @@ -513,6 +513,8 @@ GNATBIND_OBJS = \ ada/raise.o \ ada/restrict.o \ ada/rident.o \ + ada/rtfinal.o \ + ada/rtinit.o \ ada/s-addope.o \ ada/s-assert.o \ ada/s-carun8.o \ diff --git a/gcc/ada/gcc-interface/Makefile.in b/gcc/ada/gcc-interface/Makefile.in index eb24f113d05..870cfab5ea5 100644 --- a/gcc/ada/gcc-interface/Makefile.in +++ b/gcc/ada/gcc-interface/Makefile.in @@ -2400,7 +2400,7 @@ endif # thread.c is special as put into GNATRTL_TASKING_OBJS by Makefile.rtl LIBGNAT_OBJS = adadecode.o adaint.o argv.o aux-io.o \ cal.o cio.o cstreams.o ctrl_c.o \ - env.o errno.o exit.o expect.o final.o \ + env.o errno.o exit.o expect.o final.o rtfinal.o rtinit.o \ init.o initialize.o locales.o mkdir.o \ raise.o seh_init.o socket.o sysdep.o \ targext.o terminals.o tracebak.o \ @@ -3046,6 +3046,8 @@ errno.o : errno.c exit.o : adaint.h exit.c expect.o : expect.c final.o : final.c +rtfinal.o : rtfinal.c +rtinit.o : rtinit.c locales.o : locales.c mkdir.o : mkdir.c socket.o : socket.c gsocket.h |