In article <CAJeAr6vOWxv4ZxspYNMDeuP0U=zccfacpsbmoz-4xguf54n...@mail.gmail.com>, Andrew Cagney <andrew.cag...@gmail.com> wrote: > >Having 32-bit and 64-bit debuggers isn't sufficient. Specifically, it >can't handle an exec() call where the new executable has a different >ISA; and this imnsho is a must have.
It is really hard to make a 32 bit debugger work on a 64 bit system because of the tricks we play with the location of the shared libraries in rtld and the debugger needs to be aware of them. In retrospect it would have been simpler (and uglier) to have /32 and /64 in all the shared library paths so that they would not occupy the filesystem space, but even then things could break for raw dlopen() calls, or opening other data files that are not size neutral. HP/UX with Context Dependent Files and IBM/AIX with Hidden Directories were attempts to a solution, but they created a new dimension of problems. christos