Hello Everyone,
As many are, I am converting my CodeWarrior CFM application to Xcode. I am not using the importer, but built the project up manually. I finally got everything compiling, removed the duplicate symbols, added the missing symbols and now the build is failing at the final (I hope) stages of linking. Xcode is reporting that many of my intermediate object files have a "relocation overflow for relocation entry X in section Y (displacement too large).
I've tried to do some research on the archives of this list and then in the world wide web in general and have only found this entry as a possible reason:
From what I understand, it states that the problem is due to having huge statically linked arrays. Is this true? For your reference, I see that the sections that Xcode is complaining about are:
(__TEXT, __text) (__TEXT, __textcoal_nt)
I also see many claims of "malformed object, illegal reference for -dynamic code (reference to a coalesced section (__TEXT, __textcoal_nt) from section (__TEXT, __eh_frame) relocation entry (1378)). I imagine that this is caused by the previous problem of relocation overflows being present in these object files.
If the problem is these excessively large static arrays, what is the best way to analyze and solve the problem?
My current plan is to write a program that spits out the information about each object file ("size -m") to a file. There are approximately 2500 object files. Then the program will analyze the output and print out the object files that have the greatest (__DATA, __bss) sections to try and hunt down which have huge arrays. Then, I would address each file that corresponds to the object file and try and alter it so that this huge array is no longer an issue.
Would you say that this is the right approach to solving the problem? I don't want to waste time on a dead-end, so I hope that someone can comment on the best way to resolve these issues.
Thanks in advance for any advice. If you have comments or questions, I'm more than happy to answer. Lyndsey Ferguson -- Lyndsey D. Ferguson Software Engineer : Platforms Group Nemetschek North America, Inc. mailto: email@hidden |