prc-tools release history
Released 2003-09-18,
containing patches against GCC 2.95.3 and 3.3.1, binutils 2.14, and GDB 5.3,
prebuilt for x86 Linux and Windows (with Cygwin 1.5.4).
- Many improvements, including some bug fixes, to the
standard C library routines;
note also that the non-standard routines
memscan()
and
strnlen()
have been removed from the
supplied libc
- New palmdev-prep features:
- SDK updates which add to and override previous
full SDKs can be installed in their own separate SDK directory and
use another existing SDK directory as a base to be searched
afterwards, without physically copying or overwriting the existing files
- Subdirectories under each
lib/
target
directory whose names match multilibbed compilation options (notably
mown-gp
) are now multilib directories; they
and their subdirectories will be searched only as appropriate for
the options in use
- Added
m68k-palmos-trapfilt
,
which decodes Palm OS system API trap numbers in disassembly listings
- New build-prc option
--hack
(or equivalently -H
) for building
HackMaster hacks, which previously could not be done well without a
(trivial) definition file
- GDB now clears breakpoints when the target device has been reset, so
shouldn't run out of breakpoints even if you like to save Palm OS
Emulator state across sessions
- The ARM compiler has been updated to GCC 3.3.1 (though the caveat
mentioned below still applies)
The library header files errno.h
, malloc.h
,
and sys/types.h
are deprecated and will be
removed in a future release. They are variously: not useful on Palm OS
(errno.h
); superfluous (malloc.h
);
or not defined by the C Standard, so lie beyond the scope of prc-tools's
libc (malloc.h
, sys/types.h
).
The gasp
assembler preprocessor is no longer present in binutils
and hence prc-tools. In the unlikely event that you have been using it, you
should use the macro facilities provided by the assembler instead.
The prebuilt binary packages no longer contain a separate driver,
m68k-palmos-cpp
, for the C preprocessor; if you want to generate
preprocessor output you should use m68k-palmos-gcc -E
instead.
(And similarly for arm-
.)
Released 2002-08-20,
containing patches against GCC 2.95.3, binutils 2.12.1, and GDB 5.0,
prebuilt for x86 Linux and Windows (with Cygwin 1.3.12).
- Now includes an ARM configuration suitable for building
stand-alone armlets, in addition to the existing m68k compilers
- The linker now allows a 32K (rather than 64K) main code section by
default, producing comprehensible error messages indicating that you need
to move to something larger
instead of sometimes mysterious ones
- By default,
build-prc
now warns when the database being
generated does not contain particular resources that are considered vital;
for example, an application without a code
#1 resource is
considered an error
- The compilers and
build-prc
now provide a way to specify
that an executable is to be bound into the final database as a
stand-alone code resource,
improving the build process for armlets and HackMaster hacks
- BFD and binutils now have (read-only) support for the
Palm OS .prc format; for example,
m68k-palmos-objdump
and
arm-palmos-objdump
can list (-hp
) the resources
in a .prc file and disassemble (-d
) code resources
- On Cygwin, GCC can now read files with both Unix line termination (LF)
and DOS line termination (CR-LF), regardless of the mode of the underlying
Cygwin mount point
- GDB's interaction with the Palm OS Simulator has been improved
- NewTypes.h can now detect that the 5.0 SDK is in use
The m68k-palmos-obj-res
, m68k-palmos-multigen
, and
m68k-palmos-stubgen
commands must now be invoked using exactly
those names. In previous releases they were also installed with their plain
names (sans the leading m68k-palmos-
), but those copies, which
were deprecated in the previous release, have now been removed. This is to
reduce confusion now that prc-tools contains both m68k and ARM targets.
There is also a serious caveat for the ARM configuration,
which is somewhat experimental in this release: expressions requiring complex
relocation, such as the initialisation of pointers to various (read-only)
static data, do not work (and elicit a warning from build-prc).
It is expected that this will be fixed in a future release.
Released
2002-05-27, containing patches against GCC 2.95.3, binutils 2.12.1, and
GDB 5.0, prebuilt for x86 Linux and Windows (with Cygwin 1.3.10).
- Further improved SDK searching via
palmdev-prep
,
which should be rerun whenever you upgrade or install prc-tools or SDKs;
this new utility completely replaces the old sdkfind
- The initial breakpoint in
PilotMain
is now mapped to
SIGSTOP
, so GDB can be told how to treat it (e.g. whether
to stop) independently of its treatment of other breakpoints
- Building GLibs is now supported, but has not been
extensively tested; using GLibs within an application (e.g. as an
alternative to multiple code sections) is supported, but we do not
recommend distributing a GLib for use by third parties until full
interoperability testing has been done
- Added previously omitted non-throwing array versions of
operator new[]
to libnoexcept.a
- New
build-prc
features:
- Supports database header flags recyclable and bundle
- Warns when given an object file that has not yet been linked
- Parsing of
.def
files is immune to the vagaries of LF vs.
CR-LF line termination
- The default version number in the database header is now 1 rather than 0
- Miscellaneous features common to all the Palm OS-specific utilities:
- Error messages now always contain the right filename, and use
appropriate
quote marks
- The prc-tools package version number is reported instead of an
individual version number uncorrelated to those of the other utilities
- The startup code and other target libraries can now be built without the
aid of a separate Palm OS SDK
Note that the command names obj-res
, multigen
, and
stubgen
are deprecated. These commands have
always also been installed with the names m68k-palmos-obj-res
,
etc, and you should use those names instead. The shorter names, which were
only ever installed due to an accident in prc-tools 2.0, will cease to exist
in a future release. (The commands themselves are not deprecated;
only the shorter names for them will be removed.)
2.0.92 ("2.1 pre 3")
Released
2001-04-18, containing patches against GCC 2.95.3, binutils 2.9.1, and
GDB 5.0, prebuilt for x86 Linux and Windows (with Cygwin 1.1.8).
- Fixed bug in m68k-palmos-stubgen's SysLib support
- On Unix: default PalmDev prefix changed from /usr/local/palmdev
to /opt/palmdev -- but /usr/local/palmdev will still be
searched, though this is deprecated
GLibs remain unsupported in this release, as in every previous
release since 2.0.
2.0.91 ("2.1 pre 2")
Released
2001-03-29, containing patches against GCC 2.95.3, binutils 2.9.1, and
GDB 5.0, prebuilt for x86 Linux and Windows (with Cygwin 1.1.8).
- Improved SDK searching via
sdkfind
-- this method
works well with the 4.0 SDK, unlike the previous one, which required
devious manual tweaks
- NewTypes.h can now detect that the 4.0 SDK is in use
- m68k-palmos-stubgen now supports SysLibs, and has basic, but
incorrect, support for GLibs
2.0.90 ("2.1 pre 1")
Released
2000-12-15, containing patches against GCC 2.95.2, binutils 2.9.1, and
GDB 5.0, prebuilt for x86 Linux and Windows (with Cygwin 1.1.8).
- Fixed the floating point conversion bug
- Rewrote the multiple code resource unloader to avoid using
MemPtrRecoverHandle
, which doesn't work if the application
has been flashed into ROM
- Added NewTypes.h, which
helps insulate against different SDK versions
- Fixed clash between sys/types.h and stdlib.h
- Added
libnfm.a
, which simplifies use of the New Float Manager
- Compiler features:
- Generate correctly formatted
MacsBug symbols;
in particular use the mangled name in C++
- Don't implicitly wrap "
extern "C"
" around system headers
- GDB features:
- Array expressions such as "print a[3]" now produce the correct results
- Allows target palmos as a synonym of
target pilot localhost:2000
- Use MacsBug symbols as a last resort to get symbolic information about
functions (e.g., Palm OS ROM functions in stack backtraces)
- build-prc features:
- Handle raw files in subdirectories correctly,
e.g.,
foo/tFRM03e8.bin
is now made into a tFRM
#1000 resource instead of a foo/
#0 resource
- Can now read resources from files in PRC format
- If the entry point is not at the start of a code resource, build-prc
now emits a correct branch to it
- Fixes to command line option handling
- Fixes to .def file parsing
- Tools (build-prc and m68k-palmos-obj-res) are built with non-shared
C++ support, solving the shared library not found problems with
libstdc++'s
_t24__default_alloc_template2b1i0.free_list
on
Linux Mandrake
The Windows build of this version threw away 2.0's installer. In the time
since 2.0's release, Cygwin underwent a major reorganisation and it's now
(mostly) practical to deliver prc-tools as a package to be installed by
Cygwin's setup.exe
installer, which is much easier than
maintaining our own InstallShield installer.
Released
2000-02-10, containing patches against GCC 2.95.2, binutils 2.9.1, and
GDB 4.18, prebuilt for x86 Linux and Windows (with Cygwin B20.1, which is
incompatible with modern Cygwin releases).
- Default configure target changed from m68k-palmos-coff to
m68k-palmos
- Multiple code resources, to support applications with more than 32K of code
- Support for (so-called multiplexed or selectorized)
Palm OS version 3 and higher API functions
- Major regression from 0.5.0: GLibs not supported
- GCC and linker features:
- Access to global variables via the A5 register by default, thus removing
the need for
CALLBACK_PROLOGUE
-style macros
- The linker outputs an appropriate error message when encountering an
undefined symbol, instead of the previous misleading DISP16
truncated to fit message
- (Somewhat incomplete) C++ support
- GDB features:
- Better handling of LF v. CR-LF line termination issues
- Breakpoints detected as such rather than as generic traps
- Build-prc features:
- Capable of reading bfd executables (as output by the linker) directly
instead of via
m68k-palmos-obj-res
and intermediate
.grc
files
- Can set database header flags (e.g., copy-prevention and
backup flags)
There had been a large gap since the previous 0.5.0 release; indeed, for a lot
of that time prc-tools lay fallow with no active maintainer. A lot of work
went into this release, but in retrospect it's fair to say it had some major
flaws. In spite of the effort we went to to make a spiffy InstallShield
installer for the Windows version, there were a lot of
installation issues, especially on Windows. (These were mainly due to people
rerunning the installer multiple times -- which was both unnecessary and
unanticipated -- but were issues nonetheless.)
There were also some serious bugs:
- Some floating point patches were omitted, causing incorrect results from
and infinite loops during conversions between floats and integers
- The technique used to unload multiple code resources did not work (due to
a Palm OS limitation) if the application had been flashed into ROM
- The method used to find SDK headers needed devious and unsupportable
tweaking to work with the 4.0 SDK released a year later
It is strongly recommended that anyone still using prc-tools 2.0 upgrade to a
more recent version without these crippling bugs.
Released
1997-07-11, containing patches against GCC 2.7.2.2, binutils 2.7, and
GDB 4.16. Prebuilt binaries were later made available for x86 Linux and
Windows.
D. Jeff Dionne's first prc-tools-related posting was the
announcement
of a 0.1.0 release on 1996-10-07.
He was also responsible for the other releases early in the history of
prc-tools, including
0.2.2,
0.3.0,
0.3.1,
0.3.2
(which included an early version of Wes Cherry's PilRC),
0.4.0a,
0.4.1
(which included Kresten Krab Thorup's debugger work),
0.4.2
(which included run-time relocation support),
and
0.5.0a1.
John Marshall's first prc-tools-related posting was the announcement of the
porting
of the GCC patches to egcs-1.0.3 on 1998-07-13. He also released an
0.5.1a3
version of prc-tools on 1998-11-12.
Back to prc-tools homepage