Rewrite llvm-rs-link.

1. Default linked library: rslib.bc (using slangdata trick);
2. llvm-rs-link [-nostdlib]
                [-L <additional lib.bc #X>]*
                <unlinked.bc #1> <unlinked.bc #2> ... <unlinked.bc #N>
will does:
  for (i := 1 to #N) {
    M := LoadBitcode(<unlinked.bc #i>);
    if (no -nostdlib specified)
      M := Link(M, rslib.bc);
    for (x in X)
      M := Link(M, <additional lib.bc #x>);
    // Overwrite the input .bc
    SaveBitcode(M, <unlinked.bc #i>)
  }
2 files changed