# @(#)BUGS      $Id: BUGS,v 1.2 1999/08/11 15:29:04 ian Exp ian $

Updated : 11/Aug/99 (IDE)

KNOWN BUGS IN UPS 3.34
======================

The systems which are known or expected to have the problem are listed,
it may well be on others as well.

Please report bugs to the mailing list <ups-users@ukc.ac.uk>


BUILD
-----
 o  If you get a compiler error in ao_elflib.c about 'l_phnum' at line 546
    then edit ao_elflib.c. Change

        #ifdef OS_LINUX
                if (lmap.l_phnum == 0) {
                        errf("Ignoring lmap at address %lx in %s",
                             lmaddr, path);
                        continue;
                }
        #endif
    to
        #ifdef NOT_THIS
                if (lmap.l_phnum == 0) {
                        errf("Ignoring lmap at address %lx in %s",
                             lmaddr, path);
                        continue;
                }
        #endif


GENERAL
-------
 o  Programs built with the 'egcs' version of 'gcc' sometimes crash, or
    do not display, a structure variable which includes other structures
    or typedefs.  Probably limited to programs with complex data structures
    whose definitions spread across many header files (e.g. ups).
    (FreeBSD ELF, Linux ELF)

 o  'struct' variables with storage class 'register' are not displayed
    correctly (FreeBSD 2.x)

 o  Cannot call routines in shared libraries from interpreted code added
    at breakpoints (FreeBSD ELF, Linux ELF)

 o  Annette Hartman <a.hartman@xpedite.com> reported that ups works for 
    ReflectionX, but not XVision.

CORE FILES
----------
 o  variables with storage class 'register' are not displayed correctly
    (FreeBSD ELF, Linux ELF)

 o  'long long' variables with storage class 'register' are not displayed
    correctly (FreeBSD a.out)


FORTRAN
-------
 o  GNU Fortran (g77) : display of COMPLEX variables looks like a C
    structure on some systems.
    Click on the Expand button to see their contents.

 o  GNU Fortran (g77) : cannot display COMMON blocks or their variables
    in a meaningful way, even when the program is built with the option
    "-fdebug-kludge".

 o  (FreeBSD) f77 using f2c : not usable on ELF systems, i.e. FreeBSD 3.0
    or later.  You have two options -
    1) Build UPS for aout files, by "configure --with-aout" and compile
       your Fortran with "OBJFORMAT=aout f77 ..."
    2) Switch to GNU Fortran (g77).

 o  (FreeBSD) f77 using f2c : cannot display most COMMON blocks or their
    variables.
    If the COMMON block is named and all the variables in it are of the
    same type then you can get a display by typing the name of the block
    with a trailing underscore in the typing line at the top of the UPS
    window and pressing the Escape key.  Then click on the Expand button.

 o  (FreeBSD) f77 using f2c : when UPS is first started it may not let you
    set breakpoints in subroutines.  If you use the Step button to step
    into the routine it should now allow breakpoints to be set in it.
    Restoring saved breakpoints works at startup, so once you have set
    breakpoints save them to a file so you can reload them.
___________________________________________________________________________
