Adding Ubuntu 32-bit support

Found [SR-40] Port Swift to Arm progress / question - #15 by William_Dillon2
Quick and dirty support for Linux i386 · nwellnhof/swift@1a5962c · GitHub

After adding __mulodi4 to stdlib/public/stubs/Stubs.cpp build fails to configure libdispatch:

cmark: using gold linker
+ /usr/bin/cmake --build /home/gigi/local/Source/apple/build/Ninja-ReleaseAssert/cmark-linux-i686 -- -j1 all
ninja: no work to do.
llvm: using gold linker
symlinking the system headers (/usr/include/c++) into the local clang build directory (/home/gigi/local/Source/apple/build/Ninja-ReleaseAssert/llvm-linux-i686/include).
+ ln -s -f /usr/include/c++ /home/gigi/local/Source/apple/build/Ninja-ReleaseAssert/llvm-linux-i686/include
+ /usr/bin/cmake --build /home/gigi/local/Source/apple/build/Ninja-ReleaseAssert/llvm-linux-i686 -- -j1 all
ninja: no work to do.
swift: using gold linker
+ /usr/bin/cmake --build /home/gigi/local/Source/apple/build/Ninja-ReleaseAssert/swift-linux-i686 -- -j1 all swift-test-stdlib-linux-i686
[1/52] Performing configure step for 'libdispatch'
FAILED: tools/SourceKit/libdispatch-prefix/src/libdispatch-stamp/libdispatch-configure 
cd /home/gigi/local/Source/apple/build/Ninja-ReleaseAssert/libdispatch-linux-i686 && /usr/bin/cmake -DCMAKE_C_COMPILER=/home/gigi/local/Source/apple/build/Ninja-ReleaseAssert/llvm-linux-i686/bin/clang -DCMAKE_CXX_COMPILER=/home/gigi/local/Source/apple/build/Ninja-ReleaseAssert/llvm-linux-i686/bin/clang++ -DCMAKE_MAKE_PROGRAM=/home/gigi/local/Source/apple/build/Ninja-ReleaseAssert/ninja-build/ninja -DCMAKE_SWIFT_COMPILER=/home/gigi/local/Source/apple/build/Ninja-ReleaseAssert/swift-linux-i686/bin/swiftc -DCMAKE_INSTALL_PREFIX=/home/gigi/local/Source/apple/build/Ninja-ReleaseAssert/swift-linux-i686/tools/SourceKit/libdispatch-prefix -DENABLE_SWIFT=YES -GNinja /home/gigi/local/Source/apple/swift-corelibs-libdispatch && /usr/bin/cmake -E touch /home/gigi/local/Source/apple/build/Ninja-ReleaseAssert/swift-linux-i686/tools/SourceKit/libdispatch-prefix/src/libdispatch-stamp/libdispatch-configure
CMake Error at CMakeLists.txt:237 (message):
  dtrace not found but explicitly requested


-- Configuring incomplete, errors occurred!
See also "/home/gigi/local/Source/apple/build/Ninja-ReleaseAssert/libdispatch-linux-i686/CMakeFiles/CMakeOutput.log".
See also "/home/gigi/local/Source/apple/build/Ninja-ReleaseAssert/libdispatch-linux-i686/CMakeFiles/CMakeError.log".
ninja: build stopped: subcommand failed.
/home/gigi/local/Source/apple/swift/utils/build-script: fatal error: command terminated with a non-zero exit status 1, aborting

Found Libdispatch on Linux, or C++ std::async? but don't know if it's related

EDIT: fixed by installing dtrace

Now getting linker error related to __mulodi4 in libdispatch.so ... Guess I'll have to add it somewhere here too...

EDIT:
After adding __mulodi4 to swift-corelibs-libdispatch/src/shims.c I am now getting:

[0/1] Re-running CMake...
-- Looking for arc4random
-- Looking for arc4random - not found
-- Looking for CLOCK_MONOTONIC_COARSE
-- Looking for CLOCK_MONOTONIC_COARSE - found
-- Looking for __printflike
-- Looking for __printflike - found
-- Configuring done
-- Generating done
-- Build files have been written to: /home/gigi/local/Source/apple/build/Ninja-ReleaseAssert/libdispatch-linux-i686
[1/78] Building C object CMakeFiles/BlocksRuntime.dir/src/BlocksRuntime/data.c.o
[2/78] Generating /home/gigi/local/Source/apple/swift-corelibs-libdispatch/dispatch/module.modulemap, /home/gigi/local/Source/apple/swift-corelibs-libdispatch/private/module.modulemap
[3/78] Building C object CMakeFiles/BlocksRuntime.dir/src/BlocksRuntime/runtime.c.o
[4/78] Linking C static library libBlocksRuntime.a
[5/78] Building C object tests/CMakeFiles/bsdtests.dir/bsdtests.c.o
[6/78] Building C object tests/CMakeFiles/bsdtests.dir/dispatch_test.c.o
[7/78] Linking C static library tests/libbsdtests.a
[8/78] Generating swiftDispatch.o, swift/Dispatch.swiftmodule, swift/Dispatch.swiftdoc
FAILED: src/swiftDispatch.o src/swift/Dispatch.swiftmodule src/swift/Dispatch.swiftdoc 
cd /home/gigi/local/Source/apple/build/Ninja-ReleaseAssert/libdispatch-linux-i686/src && /usr/bin/cmake -E make_directory /home/gigi/local/Source/apple/build/Ninja-ReleaseAssert/libdispatch-linux-i686/src/swift && /home/gigi/local/Source/apple/build/Ninja-ReleaseAssert/swift-linux-i686/bin/swiftc -emit-library -module-name Dispatch -module-link-name dispatch -emit-module-path /home/gigi/local/Source/apple/build/Ninja-ReleaseAssert/libdispatch-linux-i686/src/swift/Dispatch.swiftmodule -I /home/gigi/local/Source/apple/swift-corelibs-libdispatch -I/usr/include -Xcc -fblocks -Xcc -fmodule-map-file=/home/gigi/local/Source/apple/swift-corelibs-libdispatch/dispatch/module.modulemap -force-single-frontend-invocation -c /home/gigi/local/Source/apple/swift-corelibs-libdispatch/src/swift/Block.swift /home/gigi/local/Source/apple/swift-corelibs-libdispatch/src/swift/Data.swift /home/gigi/local/Source/apple/swift-corelibs-libdispatch/src/swift/Dispatch.swift /home/gigi/local/Source/apple/swift-corelibs-libdispatch/src/swift/IO.swift /home/gigi/local/Source/apple/swift-corelibs-libdispatch/src/swift/Private.swift /home/gigi/local/Source/apple/swift-corelibs-libdispatch/src/swift/Queue.swift /home/gigi/local/Source/apple/swift-corelibs-libdispatch/src/swift/Source.swift /home/gigi/local/Source/apple/swift-corelibs-libdispatch/src/swift/Time.swift /home/gigi/local/Source/apple/swift-corelibs-libdispatch/src/swift/Wrapper.swift -o /home/gigi/local/Source/apple/build/Ninja-ReleaseAssert/libdispatch-linux-i686/src/swiftDispatch.o
<module-includes>:1:10: note: in file included from <module-includes>:1:
#include "DispatchOverlayShims.h"
         ^
/home/gigi/local/Source/apple/build/Ninja-ReleaseAssert/swift-linux-i686/lib/swift/shims/DispatchOverlayShims.h:16:1: error: expected identifier or '('
@import Dispatch;
^
<module-includes>:1:10: note: in file included from <module-includes>:1:
#include "DispatchOverlayShims.h"
         ^
/home/gigi/local/Source/apple/build/Ninja-ReleaseAssert/swift-linux-i686/lib/swift/shims/DispatchOverlayShims.h:28:9: error: unknown type name 'id'
typedef id __swift_shims_dispatch_data_t;
        ^
<module-includes>:1:10: note: in file included from <module-includes>:1:
#include "DispatchOverlayShims.h"
         ^
/home/gigi/local/Source/apple/build/Ninja-ReleaseAssert/swift-linux-i686/lib/swift/shims/DispatchOverlayShims.h:31:15: error: unknown type name 'dispatch_queue_attr_t'
static inline dispatch_queue_attr_t
         ...