Well, there is a lot going on here. I think we need to grab on to one piece of it and try and explain it.
I think the simplest question at this point is: Why is the code for secondFunction from second.obj in the .text section, when it is expected in the .ramfuncs section? Please send me the source for second.c, probably preprocessed as describe here. I'll use the build options you show above, and I see you are using the ARM compiler version 5.0.7.
Thanks and regards,
-George