The following GCC options are not currently supported on Palm OS:
-p
-pg
-a
-ax
-fprofile-arcs
-fbranch-probabilities
Probably profiling is unsupported. Certainly the support functions in
`libgcc' aren't being included, because they depend on non-existent
stdio support.
-ftest-coverage
A similar comment applies to the gcov data file.
-ffunction-sections
This option sets each function's section after function calls are
generated. This is too late to be effective because we need to emit special
code for cross-section function calls.
-mbitfield
-m68020
-m68881
These and other M68K hardware selection options will cause your programs
to fail horribly.
-mrtd
This selects code generation patterns which disagree with the conventions
used by the Palm OS API functions, so will fail horribly.
There are also the following caveats:
While describing the section attribute, the GCC manual suggests using
the linker to split an executable into sections. Just like
`-ffunction-sections', this doesn't work.
The __complex__ extension doesn't work.
The `-Wmultichar' warning is off by default, even if you use `-Wall'.
If `-mpcrel' is on, as it always is, any `-fpic' or `-fPIC'
options are ineffective: `-mpcrel' always implies `-fpic'.
Because we care about code size (and don't have an instruction cache), too
much of the following is probably counter-productive: `-ffunction-cse',
`-funroll-loops', `-funroll-all-loops'. Hence these options are not
implied by the `-O' flags, but must be selected explicitly.
Floating-point support is probably generally flaky.
If you use 64K code resources, the linker `-r' option will not always work.
Fortunately, these are both unnecessary.
Changing the specs file with `-specs=file' or invoking
m68k-palmos-as or m68k-palmos-ld directly should be done
with caution: proper operation is quite dependent on options set in the
default specs file.