ok, i get it...yeah, after I posted my last message, I realized that the 'ld' file was just a wrapper script for the 'real ld' & the elf2flt utility. So, now Im currently studying the ld script in order to try to figure out whats going and why its bombing. I think the error is definitely somewhere within that script. As a test, I modified the zlib makefile and removed the '-elf2flt' switch from the compiler flags. It was able to make it through the zlib build, but then it bombed elsewhere further down the line.
So, like you said, something is broken during that transition from the compiler to the elf2flt 'shim' and then to the actual linker. And, as you stated, if elf2flt was the problem, it would have barked during the conversion, yet it seems to succeed with no issues. so, it seems like its most likely due to the wrapper script; something's not working like its supposed to within that script.
Again, I need to get a better understanding of the internals of the gnu linker, and also how the wrapper (and elf2flt) go about performing the conversion from elf to flat...