Basically, you need two different things: software that is already running on your machine (eg., pre-installed by your distribution) and packages of source-code for different programs.
a running gcc™
an older version of glibc™ ;-)
GNU-binutils™
GNU-make™
the GNU-core-utils™
GNU-tar™
bash™ or any shell you prefer
very useful but not a must: Midnight Commander™
an editor you like (vi, jed™, etc.)