The purpose of this lab is to become familiar with the process of building large software projects, utilizing tools such as make and automake/autotools. This is useful because we will be working on the GCC compiler for the course project.
On each of the SPO600 Servers x86-001 and aarch64-002:
1. Obtain, build, and install the source code for the current development version of the GCC compiler, following the instructions on the Building GCC page. Record all of the commands used.
2. Record the build time.
3. Prove that the GCC compiler you have built…
4. Update the timestamp on the file “passes.cc” (which will be in the gcc subdirectory of the source tree) either by editing the file and saving it, or by using the touch
command.
5. Rebuild the software in your build directory by re-issuing the make
command. Because only one source file changed, the build time should be a tiny fraction of the time required for the initial build. Record the build time and any observations you make.
6. Rebuild the software again, with no changes to the source code. This is a “null rebuild”, which will give you an idea of the amount of time it takes make
to simply traverse the directory trees and determine that no changes are required. Record the build time and any observations you make.
Post an entry on your blog describing your experiments in this lab. Follow the Blog Guidelines.
Include in your blog post:
Remember to include results from both of the SPO600 servers.
Present the data in a useful way for comparison (consider using tables, graphs, change factors (% differences), or other formats to make your point). Include any useful or interesting observations encountered during the lab.
Remember that labs are marked on a scale of 0-3:
Remember to follow the Blog Guidelines as you write.
The labs in SPO600 do not have specific due dates, but:
Therefore it is strongly recommended that you keep up with the labs. If you have partially or mostly completed the lab, write a blog post about what you've done, and you can supplement this with an additional blog post at a late date when you complete the lab – multiple blog posts about one lab are completely acceptable.