Category: Programming

  • Centralize/Decentralize

    One way to read the progress of computer usage is as an alternation between centralization and decentralization. Once there were no permanent documents: you ran your job, got the results, and took them away; centralized. Timesharing was introduced, and you had your own access to the single shared computer; less centralized Minicomputers let different groups…

  • Kernel Linker Features

    As I continue trying to build the kernel with gold, I’ve had to copy several features from the GNU linker to gold. Historically, the GNU linker implemented the -R option to mean that it should only use the symbols found in the named object; the object should not actually be included in the output file.…

  • Gold Feature Complete

    I think that the new linker, gold, is now feature complete, and with a bit more testing it should be ready for an open release. I wanted to get it to the point where it could build the Linux kernel. I haven’t actually tested that yet, but it now has everything it needs. The most…

  • Free Theater

    I’m sure everybody who works with free software has occasionally encountered the question as to why anybody would work on it. Obviously people do work on free software, and there are many different reasons why they do. However, there is a certain type of person who finds it all rather mysterious. I recently thought of…

  • Signed Overflow

    The C and C++ language standards say that overflow of a signed value is undefined behaviour. In the C99 standard this is in section 6.5. In the C++98 standard it is in section 5 [expr], paragraph 5. This means that a correct C/C++ program must never generate signed overflow when computing an expression. It also…