UPS 3.37-beta4 available

From: Rod Armstrong (
Date: Tue Jan 08 2002 - 19:13:57 GMT

The 3.37-beta4 version of UPS is now available from:

Thanks to Tom Hughes for providing the bulk of the changes for this release.

Changes between 3.37-beta4 and 3.37-beta3
Enhancements from Tom Hughes <>:

o  Double clicking on a variable in the source window expands or compresses
   the structure as it does in the display window. So you can select and 
   dereference a pointer or struct without having to move up to the stack 
o  Functions in the target process can be called from expressions in the 
   stack display.
o  Extends the canonicalisation of integer type names to cover long long 
   as well as the other integer types.
o  Fix for parameters which have to be widened when passed from 
   appearing twice in the stack frame - gcc on linux adds
   two stabs for these, one for the actual type in the parameter and one
   for the widened form used when it is passed.
o  Ups saves the terminal state on startup and restore it on
   exit and when restarting the target process. This ensures that if the
   application being debugged changes the terminal state and then exits
   or is killed before restoring it the terminal is put back in a sane state.
o  Fix for a crash when dealing with void types with gcc on linux.
o  Optimized the redraw routines by using clipping so that ups doesn't flicker 
   like mad when you drag a window across it.
o  Fix for single stepping across shared library boundaries on x86 machines.
o  Ups checks the dynamic linker cache when it is trying to work out which 
   shared library will be used. Without this it was getting confused about 
   which C library was being used because it wasn't implementing the same 
   search rules as the dynamic linker. The patch also implements DT_RUNPATH 
   (for those systems that support it) from the dynamic section in addition 
   to DT_RPATH so that the search rules should now exactly match those given 
   in the linux manual page for the dynamic linker.
o  Allows main() to be in a shared library.
o  Fix for x86 machines to allow backtraces to be generated even when 
   functions do not have frame pointers by searching back through the 
   stack for plausible return addresses that appear to point after 
   call instructions.
o  Fix to deal with the fact that linux does not provide signal handler 
   information in the ptrace user area by looking in /proc for it instead. 
   This means that ups will correctly stop when it encounters a segv and 
   the target process has not got a handler installed for it. This also
   allows ups to stop on any signal which we have asked to stop on, even 
   if we were single stepping when it was caught. 

Changes from Rod Armstrong <>:

o  Allowed a double click on a variable in the source window to
   alternately expand or compress the variable, just as it does in
   the display window.
o  Extended the use of the repltab file for all expressions, not just
   those automatically pasted from the source window. In addition, if
   a ./ups-state/repltab files does not exist, ups looks for
   $HOME/repltab as well. If a repltab file is found ups does 
   replacements as specified in the file for text of expressions.
   See the man pages for details. A simple repltab file is:
       NULL 0
       FALSE 0
       TRUE 1
o  Eliminated the messages at invocation for loading stripped libraries
   ("Warning: no .symtab section ... using .dynsym instead"). The 
   messages still appear when loading libraries interactively.
o  Various fixes to allow ups to survive bad code in expressions,
   particularly when calling functions.

Changes from Ian Edwards <>

o  Added some RCS identifier strings.
o  Changes to method of creating spec. file for RPMs.
o  Changes to ups/ao_stack.c to allow it to build on FreeBSD.

Changes from Russ Browne <>

o  Fixes for the new clipping routines to allow the correct display 
   of menus.
o  Added check for __SIGRTMIN in order to display an extended list
   of signals on Linux.

Rod Armstrong

This archive was generated by hypermail 2.1.4 : Wed Feb 13 2002 - 21:51:34 GMT