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
This commit is contained in:
Arnaud Charlet 2005-11-15 14:52:31 +01:00
parent a7e4a88171
commit 514c9ddc9c
3 changed files with 14 additions and 42 deletions

View 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)
{

View 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);

View 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.