I have read this quote (below) several times, most recently here, and am continually puzzled at how
dd can be used to patch anything let alone a compiler:
The Unix system I used at school, 30 years ago, was very limited in RAM and Disk space. Especially, the
/usr/tmpfile system was very small, which led to problems when someone tried to compile a large program. Of course, students weren't supposed to write "large programs" anyway; large programs were typically source codes copied from "somewhere". Many of us copied
/home/<myname>/cc, and used
ddto patch the binary to use
/usr/tmp, which was bigger. Of course, this just made the problem worse - the disk space occupied by these copies did matter those days, and now
/tmpfilled up regularly, preventing other users from even editing their files. After they found out what happened, the sysadmins did a
chmod go-r /bin/* /usr/bin/*which "fixed" the problem, and deleted all our copies of the C compiler.
dd man-page says nothing about patching and a don't think it could be re-purposed to do this anyway.
Could binaries really be patched with
dd? Is there any historical significance to this?