bartop

palmoswerks ARCHIVE
Palm OS programming tips from a (former) CodeWarrior insider

header

Navigation

Search
Home
About
Stories
Stuff I Like
Articles
PilRC
CodeWarrior
palmos.techwood.org
DevTools List
Palm OS Dev FAQ

CodeWarrior for Palm OS 8.2 Patch

Author:   Ben Combee  
Posted: 3/29/02; 3:20:59 AM
Topic: CodeWarrior for Palm OS 8.2 Patch
Msg #: 52 (top msg in thread)
Prev/Next: 51/53
Reads: 1642

I've been talking on the newsgroups this week about the CodeWarrior for Palm OS 8.2 patch, which I'm hoping will be complete for both Windows and Mac OS next week. This is a larger patch than 8.1, but I think it fixes some pretty important things.

The patch has four main aspects.

Updated runtime library for expanded mode

In February, a problem with the original version of expanded mode was discovered by several programmers. In some situations, Palm OS can call a user supplied callback function while the first instance of the callback is still running. For example, in your form handler, you could call FrmUpdateForm on yourself which would cause your handler to be called again. Since the original thunks weren't build for reentrancy, this situation would usually lead to a device crash.

The new runtime has a special call for making event callback thunks versus normal callback thunks. The event ones are reentrant, but at the cost of only handling the argument list that event handlers are usually passed.

Updated compiler and linker

This compiler has a few improvements. You can use predefined macros to determine if you're compiling in expanded mode or standard mode. There is also a pragma to change modes, but it should only be used in special circumstances. The compiler now supports __declspec(expanded) to tag ordinary data items as being in the expanded data section.

The linker now lists the expanded mode data allocation in its linker map, and the linker can put more data into the expanded section.

Improved debugger

This debugger fixes a major bug introduced in CW Palm 8 -- stack crawl caching. In the 8.0 and 8.1 debuggers, if a function was called recursively, you would only see the original variable values in the later function invokations. This affected all sorts of things, including debugging the launch codes that get sent to your app when you use global find. This has been fixed. The debugger also fixes some communications problems with POSE, especially in loading multi-segment applications.

Updated MSL for Palm OS

We've fixed a few small errors in the standard library, plus added better support for the <cfloat> and <float.h> headers.

That's about it for now... look for this on the Metrowerks website around April 10th. That should be the posting date, as long as we don't have any really big bugs.


Send feedback to combee@techwood.org
Copyright © 2004 Benjamin L. Combee
Palm OS is a registered trademark of PalmSource, Inc.
Metrowerks and CodeWarrior are registered trademarks of Metrowerks Inc.

The views expressed on this website/weblog are those of mine alone and do not necessarily reflect the views of PalmSource or Metrowerks.

This is a Manila Site

qwertYAK / frobnovich