I was having a problem where I was getting errors about missing symbols unless I arranged the order of my libraries like this while compiling:
gcc hello.c -o hello -static -lc -lgcc -lc
It appears that both libraries needed functions from each other. But, since order matters, I had to do this.
Does this make sense? Is this right?