C++ Text segment relocation error - writing to read only memory
Posted on 2010-09-10
So... On a pretty beefy project (~15,000 files), I had to start using a new static library. The static library uses other libraries, etc. Anyway, everything is in, compliling, etc.
Here's my problem now. When I run my unit tests on the module using the new library I get a text segment relocation warning followed by a symbol reference and a note of it trying to write to read only memory.
The unit tests literally have nothing whatsoever to do with the portion of the module using the new library (in fact that part isnt even instantiated, the tests are run on a singleton with no dependencies on the part using the library).
Anyway, I'm guessing something about the static libraries is crashing the executable prior to getting to my code, but I don't understand what. So...
(1) what is a text relocation warning/error?
(2) why would a reference and inclusion to a static library possibly cause one?
(3) why is my executable doing anything with the library when none of its functions or objeects are referenced in the test whatsoever?
(4) why do I ge this error at run instead of compile/link time.
I know that I didn't provide enough information to get specific solutions, but I"m hopeing getting some answers to those 4 questions will help me work this out. Thanks :)