# Return 1 if the GNAT runtime appears to have debug info.
 
-gdb_caching_proc gnat_runtime_has_debug_info {} {
+proc gnat_runtime_has_debug_info_1 { shared } {
     if { ![allow_ada_tests] } {
        return 0
     }
     set src "$srcdir/lib/gnat_debug_info_test.adb"
     set dst [standard_output_file "gnat_debug_info_test"]
 
-    if { [gdb_compile_ada_1 $src $dst executable {debug}] != "" } {
+    set opts {}
+    lappend opts debug
+    if { $shared } {
+       # Make sure we link against the shared GNAT run time.
+       set gnatbind_options [list -bargs -shared -margs]
+
+       foreach option $gnatbind_options {
+           lappend opts [concat "additional_flags=" $option]
+       }
+    }
+
+    if { [gdb_compile_ada_1 $src $dst executable $opts] != "" } {
        return 0
     }
 
 
     return $has_debug_info
 }
+
+# Return 1 if the static GNAT runtime appears to have debug info.
+
+gdb_caching_proc gnat_runtime_has_debug_info {} {
+    return [gnat_runtime_has_debug_info_1 0]
+}
+
+# Return 1 if the shared GNAT runtime appears to have debug info.
+
+gdb_caching_proc shared_gnat_runtime_has_debug_info {} {
+    return [gnat_runtime_has_debug_info_1 1]
+}