aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2005-11-15 14:52:31 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2005-11-15 14:52:31 +0100
commit514c9ddc9c86be9c7728382c5cac164f5ca29527 (patch)
tree8de2d7a758b4c72527820d1727aff206e36216e1
parenta7e4a88171b3d27988467de59d6173804c2f8bc4 (diff)
downloadgcc-514c9ddc9c86be9c7728382c5cac164f5ca29527.zip
gcc-514c9ddc9c86be9c7728382c5cac164f5ca29527.tar.gz
gcc-514c9ddc9c86be9c7728382c5cac164f5ca29527.tar.bz2
adaint.h, adaint.c (__gnat_is_cross_compiler): New constant.
* adaint.h, adaint.c (__gnat_is_cross_compiler): New constant. (Gnat_Install_Locks, __gnatlib_install_locks): Removed, no longer used. (convert_address): Update comments and list of platforms using this. * s-tasini.adb (Gnat_Install_Locks, __gnatlib_install_locks): Removed, no longer used. From-SVN: r106957
-rw-r--r--gcc/ada/adaint.c38
-rw-r--r--gcc/ada/adaint.h7
-rw-r--r--gcc/ada/s-tasini.adb11
3 files changed, 14 insertions, 42 deletions
diff --git a/gcc/ada/adaint.c b/gcc/ada/adaint.c
index 65fa75b..d73665b 100644
--- a/gcc/ada/adaint.c
+++ b/gcc/ada/adaint.c
@@ -195,6 +195,13 @@ struct vstring
#define DIR_SEPARATOR '/'
#endif
+/* Check for cross-compilation */
+#ifdef CROSS_COMPILE
+int __gnat_is_cross_compiler = 1;
+#else
+int __gnat_is_cross_compiler = 0;
+#endif
+
char __gnat_dir_separator = DIR_SEPARATOR;
char __gnat_path_separator = PATH_SEPARATOR;
@@ -2535,8 +2542,10 @@ _flush_cache()
#endif
#if defined (CROSS_COMPILE) \
- || (! (defined (sparc) && defined (sun) && defined (__SVR4)) \
+ || (! ((defined (sparc) || defined (i386)) && defined (sun) \
+ && defined (__SVR4)) \
&& ! (defined (linux) && (defined (i386) || defined (__x86_64__))) \
+ && ! (defined (linux) && defined (__ia64__)) \
&& ! defined (__FreeBSD__) \
&& ! defined (__hpux__) \
&& ! defined (__APPLE__) \
@@ -2545,9 +2554,9 @@ _flush_cache()
&& ! defined (__MINGW32__) \
&& ! (defined (__mips) && defined (__sgi)))
-/* Dummy function to satisfy g-trasym.o. Currently Solaris sparc, HP/UX,
- GNU/Linux x86{_64}, Tru64 & Windows provide a non-dummy version of this
- procedure in libaddr2line.a. */
+/* Dummy function to satisfy g-trasym.o. See the preprocessor conditional
+ just above for a list of native platforms that provide a non-dummy
+ version of this procedure in libaddr2line.a. */
void
convert_addresses (void *addrs ATTRIBUTE_UNUSED,
@@ -2629,27 +2638,6 @@ __gnat_copy_attribs (char *from, char *to, int mode)
#endif
}
-/* This function is installed in libgcc.a. */
-extern void __gnat_install_locks (void (*) (void), void (*) (void));
-
-/* This function offers a hook for libgnarl to set the
- locking subprograms for libgcc_eh.
- This is only needed on OpenVMS, since other platforms use standard
- --enable-threads=posix option, or similar. */
-
-void
-__gnatlib_install_locks (void (*lock) (void) ATTRIBUTE_UNUSED,
- void (*unlock) (void) ATTRIBUTE_UNUSED)
-{
-#if defined (IN_RTS) && defined (VMS)
- __gnat_install_locks (lock, unlock);
- /* There is a bootstrap path issue if adaint is build with this
- symbol unresolved for the stage1 compiler. Since the compiler
- does not use tasking, we simply make __gnatlib_install_locks
- a no-op in this case. */
-#endif
-}
-
int
__gnat_lseek (int fd, long offset, int whence)
{
diff --git a/gcc/ada/adaint.h b/gcc/ada/adaint.h
index af83407..70ee1d0 100644
--- a/gcc/ada/adaint.h
+++ b/gcc/ada/adaint.h
@@ -6,7 +6,7 @@
* *
* C Header File *
* *
- * Copyright (C) 1992-2005 Free Software Foundation, Inc. *
+ * Copyright (C) 1992-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- *
@@ -164,10 +164,5 @@ extern void __gnat_plist_init (void);
/* This function returns the version of GCC being used. Here it's GCC 3. */
extern int get_gcc_version (void);
-/* This function offers a hook for libgnarl to set the
- locking subprograms for libgcc_eh. */
-extern void __gnatlib_install_locks (void (*) (void),
- void (*) (void));
-
extern int __gnat_binder_supports_auto_init (void);
extern int __gnat_sals_init_using_constructors (void);
diff --git a/gcc/ada/s-tasini.adb b/gcc/ada/s-tasini.adb
index 3aff427..63b47e7 100644
--- a/gcc/ada/s-tasini.adb
+++ b/gcc/ada/s-tasini.adb
@@ -127,13 +127,6 @@ package body System.Tasking.Initialization is
-- Tasking Initialization --
----------------------------
- procedure Gnat_Install_Locks (Lock, Unlock : SSL.No_Param_Proc);
- pragma Import (C, Gnat_Install_Locks, "__gnatlib_install_locks");
- -- Used by Init_RTS to install procedure Lock and Unlock for the
- -- thread locking. This has no effect on GCC 2. For GCC 3,
- -- it has an effect only if gcc is configured with
- -- --enable_threads=gnat.
-
procedure Init_RTS;
-- This procedure completes the initialization of the GNARL. The first
-- part of the initialization is done in the body of System.Tasking.
@@ -392,10 +385,6 @@ package body System.Tasking.Initialization is
SSL.Tasking.Init_Tasking_Soft_Links;
- -- Install tasking locks in the GCC runtime
-
- Gnat_Install_Locks (Task_Lock'Access, Task_Unlock'Access);
-
-- Abort is deferred in a new ATCB, so we need to undefer abort
-- at this stage to make the environment task abortable.