We have just moved from CW 8 to CW 9.2.
Getting segmentations that work seem more difficult than with CW8.
It shouldn't be. Code generation isn't significantly different, so the size of generated code should be very similar.
Segmentations that seem like they should work (based on the code/data sizes shown in the "Segments" view) don't always work. We often get out-of-range code references even when the segments are about 30K code and 6-8K data.
Are you using the "small" code model in V9 when you were using "smart" or "large" in V8?
There doesn't seem to be a way to predict (from the "Segments" view of the target) whether a segmentation scheme will work or not.
The code and data size shown is "worse-case". The linker does dead-code and dead-data elimination, so those numbers will always be >= the actual code/data size for the segment. However, this doesn't tell you if you'll have too-long jumps in your code.
How can we figure out which modules should go into which segments if the displayed sizes don't tell us anything?
Those are just a quide. The real data is in the map file that the linker produces, since that's produced after everything has been allocated.
Eventually, we're going to need to group things for efficiency as well as "fit" and doing it on a hit-or-miss basis isn't going to be fun.
True... but once you have two segments, going to more isn't too bad -- the hard problem is figuring out what to allocate to the first segment.
--
Ben Combee <[EMAIL PROTECTED]>
CodeWarrior for Palm OS technical lead
Palm OS programming help @ www.palmoswerks.com
-- For information on using the Palm Developer Forums, or to unsubscribe, please see http://www.palmos.com/dev/support/forums/
