From a0290afa962321b2aee197dedfdefbb11b98ed98 Mon Sep 17 00:00:00 2001
From: Nick Clifton <nickc@redhat.com>
Date: Tue, 29 Jun 1999 02:45:00 +0000
Subject: [PATCH] Patch from: Jim Pick <jim@jimpick.com> Added code so that .xs
 linker scripts are called so that ARM shared libraries are built correctly.  
 CVS: ----------------------------------------------------------------------

---
 ld/ChangeLog           | 5 +++++
 ld/emultempl/armelf.em | 6 ++++++
 2 files changed, 11 insertions(+)

diff --git a/ld/ChangeLog b/ld/ChangeLog
index f6962ca6fd3..1e5914df92c 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,8 @@
+1999-06-28  Jim Pick <jim@jimpick.com>
+
+	* emultempl/armelf.em: Added code so that .xs linker scripts are
+	called so that ARM shared libraries are built correctly.
+
 1999-06-22  Mark Mitchell  <mark@codesourcery.com>
 
 	* ldmain.c (main): Initialize link_info.init_function and
diff --git a/ld/emultempl/armelf.em b/ld/emultempl/armelf.em
index 6e3cfa6fe86..88d7e270370 100644
--- a/ld/emultempl/armelf.em
+++ b/ld/emultempl/armelf.em
@@ -1215,6 +1215,10 @@ echo '  ; else if (!config.text_read_only) return'         >> e${EMULATION_NAME}
 sed $sc ldscripts/${EMULATION_NAME}.xbn                    >> e${EMULATION_NAME}.c
 echo '  ; else if (!config.magic_demand_paged) return'     >> e${EMULATION_NAME}.c
 sed $sc ldscripts/${EMULATION_NAME}.xn                     >> e${EMULATION_NAME}.c
+if test -n "$GENERATE_SHLIB_SCRIPT" ; then
+        echo '  ; else if (link_info.shared) return'       >> e${EMULATION_NAME}.c
+        sed $sc ldscripts/${EMULATION_NAME}.xs             >> e${EMULATION_NAME}.c
+fi
 echo '  ; else return'                                     >> e${EMULATION_NAME}.c
 sed $sc ldscripts/${EMULATION_NAME}.x                      >> e${EMULATION_NAME}.c
 echo '; }'                                                 >> e${EMULATION_NAME}.c
@@ -1234,6 +1238,8 @@ cat >>e${EMULATION_NAME}.c <<EOF
     return "ldscripts/${EMULATION_NAME}.xbn";
   else if (!config.magic_demand_paged)
     return "ldscripts/${EMULATION_NAME}.xn";
+  else if (link_info.shared)
+    return "ldscripts/${EMULATION_NAME}.xs";
   else
     return "ldscripts/${EMULATION_NAME}.x";
 }