aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/link.c
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2010-01-25 15:21:16 +0100
committerArnaud Charlet <charlet@gcc.gnu.org>2010-01-25 15:21:16 +0100
commit3bb3f6d6e0e479dfbdbd838d8659fbfc763eaf09 (patch)
tree54850037d6cfdb1cf7eb673529bc194fb29790cc /gcc/ada/link.c
parent00f88f071eb35d2cbc91823a192b054c3232d0ee (diff)
downloadgcc-3bb3f6d6e0e479dfbdbd838d8659fbfc763eaf09.zip
gcc-3bb3f6d6e0e479dfbdbd838d8659fbfc763eaf09.tar.gz
gcc-3bb3f6d6e0e479dfbdbd838d8659fbfc763eaf09.tar.bz2
[multiple changes]
2010-01-25 Florian Villoing <villoing@adacore.com> * gnat_ugn.texi: Fix typo. 2010-01-25 Thomas Quinot <quinot@adacore.com> * scos.ads: Update specification. 2010-01-25 Ed Schonberg <schonberg@adacore.com> * sem_ch6.adb (Process_PPCs): If a postcondition is present and the enclosing subprogram has no previous spec, attach postcondition procedure to the defining entity for the body. 2010-01-25 Ed Schonberg <schonberg@adacore.com> * exp_aggr.adb (Build_Record_Aggr_Code); Do not generate call to initialization procedure of the ancestor part of an extension aggregate if it is an interface type. 2010-01-25 Vincent Celier <celier@adacore.com> * gnatlink.adb (Process_Binder_File): The directory for the shared version of libgcc in the run path options is found in the subdirectory indicated by __gnat_default_libgcc_subdir. * link.c: Declare new const char * __gnat_default_libgcc_subdir for each platform. 2010-01-25 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb: More flexible pragma Annotate. From-SVN: r156209
Diffstat (limited to 'gcc/ada/link.c')
-rw-r--r--gcc/ada/link.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/gcc/ada/link.c b/gcc/ada/link.c
index 6ebd329..1cf6cfd 100644
--- a/gcc/ada/link.c
+++ b/gcc/ada/link.c
@@ -71,6 +71,9 @@
/* separate_run_path_options is set to 1 when separate "rpath" arguments */
/* must be passed to the linker for each directory in the rpath. */
+/* default_libgcc_subdir is the subdirectory name (from the installation */
+/* root) where we may find a shared libgcc to use by default. */
+
/* RESPONSE FILE & GNU LINKER */
/* -------------------------- */
/* objlist_file_supported and using_gnu_link used together tell gnatlink */
@@ -96,6 +99,7 @@ char __gnat_shared_libgcc_default = STATIC;
unsigned char __gnat_using_gnu_linker = 0;
const char *__gnat_object_library_extension = ".a";
unsigned char __gnat_separate_run_path_options = 0;
+const char *__gnat_default_libgcc_subdir = "lib";
#elif defined (sgi)
const char *__gnat_object_file_option = "-Wl,-objectlist,";
@@ -108,6 +112,15 @@ unsigned char __gnat_using_gnu_linker = 0;
const char *__gnat_object_library_extension = ".a";
unsigned char __gnat_separate_run_path_options = 0;
+/* The libgcc_s locations have changed in GCC 4. The n32 version used
+ to be in "lib", it moved to "lib32" and "lib" became the home of
+ the o32 version. We are targetting n32 by default, so ... */
+#if __GNUC__ < 4
+const char *__gnat_default_libgcc_subdir = "lib";
+#else
+const char *__gnat_default_libgcc_subdir = "lib32";
+#endif
+
#elif defined (__WIN32)
const char *__gnat_object_file_option = "";
const char *__gnat_run_path_option = "";
@@ -118,6 +131,7 @@ char __gnat_shared_libgcc_default = STATIC;
unsigned char __gnat_using_gnu_linker = 1;
const char *__gnat_object_library_extension = ".a";
unsigned char __gnat_separate_run_path_options = 0;
+const char *__gnat_default_libgcc_subdir = "lib";
#elif defined (__hpux__)
const char *__gnat_object_file_option = "-Wl,-c,";
@@ -129,6 +143,7 @@ char __gnat_shared_libgcc_default = STATIC;
unsigned char __gnat_using_gnu_linker = 0;
const char *__gnat_object_library_extension = ".a";
unsigned char __gnat_separate_run_path_options = 0;
+const char *__gnat_default_libgcc_subdir = "lib";
#elif defined (_AIX)
const char *__gnat_object_file_option = "-Wl,-f,";
@@ -140,6 +155,7 @@ char __gnat_shared_libgcc_default = STATIC;
unsigned char __gnat_using_gnu_linker = 0;
const char *__gnat_object_library_extension = ".a";
unsigned char __gnat_separate_run_path_options = 0;
+const char *__gnat_default_libgcc_subdir = "lib";
#elif defined (VMS)
const char *__gnat_object_file_option = "";
@@ -151,6 +167,7 @@ unsigned char __gnat_objlist_file_supported = 0;
unsigned char __gnat_using_gnu_linker = 0;
const char *__gnat_object_library_extension = ".olb";
unsigned char __gnat_separate_run_path_options = 0;
+const char *__gnat_default_libgcc_subdir = "lib";
#elif defined (sun)
const char *__gnat_object_file_option = "";
@@ -162,6 +179,13 @@ unsigned char __gnat_objlist_file_supported = 0;
unsigned char __gnat_using_gnu_linker = 0;
const char *__gnat_object_library_extension = ".a";
unsigned char __gnat_separate_run_path_options = 0;
+#if defined (__sparc_v9__) || defined (__sparcv9)
+const char *__gnat_default_libgcc_subdir = "lib/sparcv9";
+#elif defined (__x86_64)
+const char *__gnat_default_libgcc_subdir = "lib/amd64";
+#else
+const char *__gnat_default_libgcc_subdir = "lib";
+#endif
#elif defined (__FreeBSD__)
const char *__gnat_object_file_option = "";
@@ -173,6 +197,7 @@ unsigned char __gnat_objlist_file_supported = 1;
unsigned char __gnat_using_gnu_linker = 1;
const char *__gnat_object_library_extension = ".a";
unsigned char __gnat_separate_run_path_options = 0;
+const char *__gnat_default_libgcc_subdir = "lib";
#elif defined (__APPLE__)
const char *__gnat_object_file_option = "-Wl,-filelist,";
@@ -184,6 +209,7 @@ unsigned char __gnat_objlist_file_supported = 1;
unsigned char __gnat_using_gnu_linker = 0;
const char *__gnat_object_library_extension = ".a";
unsigned char __gnat_separate_run_path_options = 1;
+const char *__gnat_default_libgcc_subdir = "lib";
#elif defined (linux) || defined(__GLIBC__)
const char *__gnat_object_file_option = "";
@@ -195,6 +221,11 @@ unsigned char __gnat_objlist_file_supported = 1;
unsigned char __gnat_using_gnu_linker = 1;
const char *__gnat_object_library_extension = ".a";
unsigned char __gnat_separate_run_path_options = 0;
+#if defined (__x86_64)
+const char *__gnat_default_libgcc_subdir = "lib64";
+#else
+const char *__gnat_default_libgcc_subdir = "lib";
+#endif
#elif defined (__svr4__) && defined (i386)
const char *__gnat_object_file_option = "";
@@ -206,6 +237,7 @@ unsigned char __gnat_objlist_file_supported = 0;
unsigned char __gnat_using_gnu_linker = 0;
const char *__gnat_object_library_extension = ".a";
unsigned char __gnat_separate_run_path_options = 0;
+const char *__gnat_default_libgcc_subdir = "lib";
#else
@@ -220,4 +252,5 @@ unsigned char __gnat_objlist_file_supported = 0;
unsigned char __gnat_using_gnu_linker = 0;
const char *__gnat_object_library_extension = ".a";
unsigned char __gnat_separate_run_path_options = 0;
+const char *__gnat_default_libgcc_subdir = "lib";
#endif