[EMAIL PROTECTED] wrote:
> "So what" is that you might find it better to invest your talents elsewhere.
> Perhaps it's just me, but I don't understand the benefit of adding support for a
> feature that people can't take full advantage of.
View it not as a feature but as removing an absolutely unnecessary and
unjustified limitation. There is absolutely no reason for the 32 KB locality of
reference limit other than shortcomings in the current GNU assembler and linker
for m68k. Note that it is not specific to PalmOS at all, it affects any 68000
platform requiring PIC (the situation is a little better for 68020 and for
68000 with absolute references OK), and that by fixing this in GNU binutils, I
will make a valuable contribution to the entire embedded systems community, not
just PalmOS. What makes the 32 KB locality of reference limit even more of a
problem is that tricks like jump islands that try to circumvent it break the
UNIX model of on-demand pull-in from libraries, and this hurts the Zen of UNIX
which I care about very much. This effectively turns the 32 KB locality of
reference limit into a 32 KB limit on the total size of a continuous block of
PC-relative code, which for PalmOS is a code segment/resource.
Moreover, the very same binutils enhancement that will provide real PC-relative
call relaxing for 68000 will also allow the linker to make intrasegment vs.
intersegment call decisions for PalmOS, eliminating the current unhealthy
situation with gcc hacks and section attributes.
The 32 KB per segment limit is an obstacle to practical use as well. Oftentimes
multiple code segments are not an option, and then the 32 KB limit becomes a
real problem.
I need to make PalmOS gcc such that it can do anything that any other C
compiler for PalmOS, including CW, can do. I need to be able to take absolutely
*any* CW project with *no* exceptions and effortlessly move it to gcc.
Currently this may be impossible if the project is, say, a SysLib that's bigger
than 32 KB, or it can be a major pain if the project is a multisegment app so
that one has to resegment it to make all segments smaller than 32 KB and pepper
the source with function attributes.
--
Michael Sokolov Harhan Engineering Laboratory
Public Service Agent International Free Computing Task Force
International Engineering and Science Task Force
615 N GOOD LATIMER EXPY STE #4
DALLAS TX 75204-5852 USA
Phone: +1-214-824-7693 (Harhan Eng Lab office)
E-mail: [EMAIL PROTECTED] (ARPA TCP/SMTP) (UUCP coming soon)
--
For information on using the Palm Developer Forums, or to unsubscribe, please see
http://www.palm.com/devzone/mailinglists.html