User Tools

Site Tools


spo600:gcc_build_lab

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
spo600:gcc_build_lab [2025/01/31 15:29] – created chrisspo600:gcc_build_lab [2025/01/31 17:05] (current) – [Write-Up] chris
Line 1: Line 1:
 ====== GCC Build Lab ====== ====== GCC Build Lab ======
  
-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.+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.
  
 ===== Resources ===== ===== Resources =====
Line 11: Line 11:
   * [[SSH]]   * [[SSH]]
   * [[Screen Tutorial]] (software utility)   * [[Screen Tutorial]] (software utility)
 +
 +==== External Sites ====
 +  * [[https://gcc.gnu.org/onlinedocs/|GCC Documentation]]
 +    * See especially:
 +      * The [[https://gcc.gnu.org/onlinedocs/gcc-4.5.0/gccint/|GCC Internals Manual]]
 +        * Take particular note of the section on Contributing to GCC.
 +      * [[https://gcc.gnu.org/install/|Installing GCC]], the GCC project's guide to compiling and installing the GCC compiler from source code
  
 ===== Lab 4 ===== ===== Lab 4 =====
Line 20: Line 27:
 2. Record the build time. 2. Record the build time.
  
-3. Prove that the GCC compiler you have built: +3. Prove that the GCC compiler you have built... 
-  is different from the system's C compiler +  * ...is different from the system's C compiler 
-  is the current development version +  * ...is the current development version 
-  can successfully build a C program.+  * ...can successfully build a C program.
  
 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. 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.+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.
  
 ====  Write-Up  ==== ====  Write-Up  ====
Line 37: Line 46:
   -  The results from the lab, including the command used, the build time, and the proof that your build was successful.   -  The results from the lab, including the command used, the build time, and the proof that your build was successful.
   -  Your experiences with this lab and your reflection on the process.   -  Your experiences with this lab and your reflection on the process.
 +
 +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 that labs are marked on a scale of 0-3:
Line 42: Line 55:
   *  1 - Very basic completion, or some small errors.   *  1 - Very basic completion, or some small errors.
   *  **2 - Satisfactory completion of the lab.** (This is the default mark for lab completion).   *  **2 - Satisfactory completion of the lab.** (This is the default mark for lab completion).
-  *  3 - Lab completed with additional experiments, investigation, research, or explanation. For example, you could do some of the optional sections in this lab, and include those in your blog writeup -- or you could create your own experiments.+  *  3 - Lab completed with additional experiments, investigation, research, or explanation.
  
 Remember to follow the [[Blog Guidelines]] as you write. Remember to follow the [[Blog Guidelines]] as you write.
spo600/gcc_build_lab.1738337379.txt.gz · Last modified: 2025/01/31 15:29 by chris

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki