Changes

Jump to: navigation, search

SPO600 Code Building Lab

58 bytes removed, 11:49, 11 September 2018
Build and test glibc
{{Admon/tip|Read the glibc Instructions|The glibc software and build system are complex, since this is core library which underlies most of the software on the system. [https://www.gnu.org/software/libc/ Read the documentation carefully.]}}
# Find and build the source code for the latest released version of the GNU Standard C Library (glibc)-- see the instructions at https://sourceware.org/glibc/wiki/Testing/Builds. Note that glibc uses two parallel directory trees: one which contains the source code, and one which contains configuration and the output of the build system. You can safely delete all of the contents of the build directory and rebuild at any time.
# Test the library which you have built (Critical: do this without installing it on your system and overwriting your existing glibc installation!). Prove that your version of the library is used in your tests by introducing a change in behaviour (for example, a small bug).
# There are multiple implementations of a functionsome of the glibc functions: a basic version, written in C, and one or more versions optimized for the various target architecturearchitectures, in C or assembler (.s or .S files). Learn the mechanisms used to override one implementation with another. Read -- read up on the override and multiarch system(don't just google "override" and "multiarch", because these have different meanings in different contexts! Research how those terms specifically apply to glibc).# Blog about the process, your results, your observations, and what you learned.# Obtain the source code for glibc via git using the instructions at https://sourceware.org/Explain what glibc/wiki/Testing/Builds# Build is and test your version of glibc. '''Do Not''' install why it into the system directories or you may destroy the existing Linux installation!# Blog about your resultsis important. Provide convincing proof that the version you can test tested is the specific version of glibc which you built. Explain the override and multiarch mechanisms (don't just google "override" and "multiarch", because these have different meanings in different contexts).

Navigation menu