From 1d27ed3581400ced05479d6f344f7275a6f54323 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Vivek=20Das=C2=A0Mohapatra?= <vivek@collabora.co.uk>
Date: Fri, 12 May 2017 16:18:38 +0100
Subject: [PATCH] Tidy up the intermediate file use in the sub library code
 generator

---
 generate-stublib.sh | 40 +++++++++++++++++++++++-----------------
 1 file changed, 23 insertions(+), 17 deletions(-)

diff --git a/generate-stublib.sh b/generate-stublib.sh
index 0087a3c8d..9cef4eaa4 100755
--- a/generate-stublib.sh
+++ b/generate-stublib.sh
@@ -34,23 +34,26 @@ echo -n > $proxy_src.map;
 exec >& $proxy_src;
 
 cat $top/capsule-shim.h;
-for proxied_target in $proxied_dso $(cat $proxy_extra);
+
+for pt in $proxied_dso $(cat $proxy_extra);
 do
-    while read symbol version dependency;
-    do
-        case $version in
-            @*)
-                echo "VERSIONED_STUB  ( $symbol, $version );";
-                node=${version##*@};
-                NODE[$node]=${NODE[$node]:-}" "$symbol;
-                ;;
-            *)
-                echo "UNVERSIONED_STUB( $symbol );";
-                ;;
-        esac;
-        echo "         { \"$symbol\" }," >> $proxy_src.symbols
-    done < <($top/print-libstubs $proxied_target);
-done;
+    $top/print-libstubs $pt;
+done > $proxy_src.symbols;
+
+while read symbol version dependency;
+do
+    case $version in
+        @*)
+            echo "VERSIONED_STUB  ( $symbol, $version );";
+            node=${version##*@};
+            NODE[$node]=${NODE[$node]:-}" "$symbol;
+            ;;
+        *)
+            echo "UNVERSIONED_STUB( $symbol );";
+            ;;
+    esac;
+done < $proxy_src.symbols;
+
 cat - <<EOF
 static Lmid_t symbol_ns;
 static char *prefix;
@@ -63,6 +66,7 @@ static const char *exclude[] = { // MUST NOT be pulled from the capsule prefixed
                                  "libpthread-2.19.so",
                                  "libdl.so.2",
 EOF
+
 while read excluded x;
 do
     case $excluded in lib*) printf "%32s \"%s\",\n" "" $excluded; ;; esac;
@@ -84,7 +88,9 @@ static void __attribute__ ((constructor)) _capsule_init (void)
      capsule_item_t relocs[] =
        {
 EOF
-cat $proxy_src.symbols;
+
+while read sym x; do echo "         { \"$sym\" },"; done < $proxy_src.symbols;
+
 cat - <<EOF
          { NULL }
        };
-- 
GitLab