Lind Source Code

Lind source code is available from our GitHub Lind-Project. There are four project repositories in the GitHub project:

  1. native_client
    This repository contains our changes to the Google Native Client's trusted code base i.e. the NaCl runtime, and is forked from their GitHub repository.
  1. Lind-GlibC
    This contains our changes to the NaCl tool chain (glibc, gcc, gdb, etc.)
  1. nacl_repy
    This repository contains our changes to Seattle Repy to enable a single process sandbox model. In future, we might just use Repy V2 instead of having our own repy changes.
  1. Lind-misc
    This repository contains some miscellaneous/glue code that helps us bring together the functionalities of NaCl and Repy. It contains the build scripts, benchmarks and test code.

Why there are multiple repositories?

There is a reason why we have four separate repositories instead of a single coherent code repository for Lind. Lind code inherits from more than one external projects, the main ones being

Since frequent updates/commits are being made to these repositories, we need an easy way to merge these new commits with our code base whenever needed. Forking or importing these code bases as separate repositories is one way that can help us incorporate new updates easily (we can just do an update on the master branch). If we had merged all our four repositories into a single project repositories, obtaining the new updates from these different code bases might have been much complicated.


While forking the official Google's native client code to GitHub? we had an issue with one of its earlier commits (due to the commit size exceeding what GitHub? allows). So we started from a later official commit (as is evident from our first commit). Because of this, the commit hashes might not match completely when merging official latest native client code with our code. We might need to do a "rebase" to get the latest native client changes.

Last modified 4 years ago Last modified on Oct 11, 2013 1:07:56 PM