]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
adaint.h, adaint.c (__gnat_is_cross_compiler): New constant.
authorArnaud Charlet <charlet@gcc.gnu.org>
Tue, 15 Nov 2005 13:52:31 +0000 (14:52 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Tue, 15 Nov 2005 13:52:31 +0000 (14:52 +0100)
* 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

gcc/ada/adaint.c
gcc/ada/adaint.h
gcc/ada/s-tasini.adb

index 65fa75bb8c64f81cd61d9e33e8dd9d33e1dcd5a7..d73665be1dab8ecaa5417fc9bef8b6a0534060f3 100644 (file)
@@ -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)
 {
index af83407e01192d186668a54d58d49aecc46a2a15..70ee1d0a594f1624cf28858ebc5f59438ffc515b 100644 (file)
@@ -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);
index 3aff42725cc7c0b852fff687871576f39f8fb0ed..63b47e7b9e754c7523d0ce70beb198583a64dd51 100644 (file)
@@ -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.