---------------------
Release notes for GDB
---------------------

 - Support for signal frames has been added to GDB.  This means that it is
   now possible to view meaningful backtraces through signal handlers.

 - Support for fetching addresses of thread local storage has been added to
   GDB.  am33 specific support has been added as well.


---------------------
Release notes for RDA
---------------------

 - am33 specific support for thread local storage has been added to RDA.

RDA's behavior with respect to interrupt requests from GDB has
changed.

In the past, RDA would send SIGINT to the inferior process when an
interrupt request from GDB was received.  However, SIGINT will not
necessarily interrupt the process since the SIGINT signal can be
blocked.  Due to this limitation, RDA has been changed to instead send
the SIGSTOP signal upon receipt of an interrupt request from GDB. 
Since SIGSTOP cannot be blocked or ignored, there is much greater
certainty that the debugged process will actually be interrupted.

The drawback to this change is that the GDB "continue" command behaves
differently for these two signals.  By default, when continuing a
program after receiving a SIGINT signal, the SIGINT signal is NOT
passed back to the debugged program.  On the other hand, for the
SIGSTOP signal, the default behavior of "continue" (and many other
commands which resume GDB execution) is to pass the signal on to the
debugged program.  This often causes the program to stop again after
a short period of time due to SIGSTOP.

GDB can be told to treat SIGSTOP in the same manner as SIGINT.
The following command causes SIGSTOP to NOT be passed back to
the debugged program when continuing:

    handle SIGSTOP nopass

This command is a good candidate for inclusion in a suitable .gdbinit
file.

If changing GDB's default signal settings is undesirable for some reason,
the following command may be used to cause execution to continue with
no delivered signal:

    signal 0

This command would be used in place of the "continue" command
immediately after receiving SIGSTOP due to the receipt of an
interrupt.  The effect is to continue the program with no signal.

Since these commands are unfamiliar to many GDB users, RDA has been
modified to print a helpful message to the GDB console.

      RDA has sent SIGSTOP to the inferior process.  If you wish to continue
      without sending this signal, make sure that "handle SIGSTOP nopass" has
      been set or use "signal 0" to continue.

This message will only be output upon the receipt of the first interrupt
request from GDB.



---------------------------------------------------
Release notes for glibc 2.3.4 on AM33_2.0 platform.
---------------------------------------------------

Glibc has been updated to support nptl and tls. NPTL/TLS system libraries
are installed in /lib/tls and linuxthreads/non-TLS versions of those
libraries are installed in /lib. By default, the NPTL/TLS versions are
used. Existing linuxthread programs are forward compatible with the NPTL
libraries. Those programs may also be run using the linuxthreads libraries
by setting an environment variable:

 # LD_ASSUME_KERNEL=2.4.19 <application name>


General testing notes:

The am33_2.0-linux-gnu toolchain uses setjmp/longjmp based frame unwinding
to support exception handling. NPTL based glibc accesses the sjlj unwinding
interfaces via a gcc provided library (libgcc_s.so). Glibc will dlopen this
library, the first time a process needs to use the unwinding interface. This
means that a free fd is required when the unwinding interface in first used
by a program. This leads to some spurious results for several LTP tests
which intentionally use up all available fds, then call a libc function that
uses the libgcc_s.so interfaces. In addition, libgcc_s.so uses up a pthread
TSD key to create a thread-specific list of frame contexts. This causes failure
of several nptl tests which try to create PTHREAD_KEYS_MAX keys, but fail
because libgcc_s.so uses one key.

Notes on specific NPTL tests:

  tst-cancel16 - This test cancels a thread which is blocked in a lockf(2)
                 syscall. It fails if the file being locked is on an NFS
                 mounted fs, but passes on other filesystems. This is the
                 same behavior observed on an x86 FC4 system. This appears
                 to be due to signal blocking in the kernel rpc layer.

  tst-cancel17 - This test has a partial failure. It fails in the same way
                 on an x86 FC4 system.

  tst-exec4 - This test fails because it is unable to ignore SIGUSR1. This
              test fails with the same behavior on an x86 FC4 system.

  tst-key1, tst-key4 - These fail due to the TSD key used by the sjlj unwind
                       library.