Ben,

I'm using prcExplorer to see the size of the data segments. When I look at the data block using prcExplorer there is a 0 and a 1 segment. In the version that is correct the 0 segment shows a size of 10573 bytes and the 1 shows 58744. It is very similar to show the various code segments appear as 0, 1, etc.

When I did the diff these are the only lines that differed, once I grepped out all the differing file names and some address offsets.

In good file:
Data section below A4:  32768 bytes
Data section above A4:   5870 bytes

In bad file:
Data section below A4:  32768 bytes
Data section above A4:  11236 bytes

I'm definitely getting an error on this dragging the .prc into the Simulator.

One other piece of info I saw a large global, ~6K, that I changed to an allocated struct that I had expected would change something for the better but there was not change in either version? Something isn't right. Maybe I should blast the Data folder again?

I'd be happy to give any more info or try anything that may help.

Thanks,
-Mike


>Hi,
>
> I'm seeing a strange issue in an CW 8.3 environement. I have a rather
> large project that (> 500 K) that was floating around 55K of data segment
> 1 size (C++, etc). On a mac and at least one PC I'm seeing the segment
> one staying at 58K. On several others PC's the segment is growing to over
> 66K (not good). Anyone have any idea why the size would be so different?
> The version that is 58K is running fine. I would really like to find out
> why one version is taking 8K more in size? I've tried deleting,
> rebuilding, etc but the same issue appears. Also, are there any know
> changes in 9.x that will alleviate particular segment growing so large?
>
> I don't have RTTI or C++ exceptions turned on.


Are you looking at the size in the map file or in the project view?

First, there is no "data segment 1". There's only one data section used by
the whole program, and all the data that's attached to the different code
sections is aggregated into the one data section.


Second, the value in the project window are maximums. This is the value
emitted by the compiler -- the linker strips out anything that isn't
referenced, so that value will always be lower in the actual program.


I'd make map files (see 68K linker panel) on both systems, then use CW's
diff engine to compare those and see if something is setup differently.



-- Ben Combee, DTS technical lead, PalmSource, Inc. Read "Combee on Palm OS" at http://palmos.combee.net/


--
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/

Reply via email to