Skip to content
Snippets Groups Projects
Forked from The Tor Project / Applications / Tor Browser
Source project has a limited visibility.
  • Steve Fink's avatar
    14bc264f
    Bug 1642121 - Remove directory dependence of GDB init files. r=nalexander · 14bc264f
    Steve Fink authored
    I wrote this patch to address two problems:
    
      1. if I do `mach run` from a directory other than $topsrcdir, $objdir, or
         $objdir/dist/bin, then .gdbinit will not be loaded.
      2. Debugging the firefox binary will never load the JS prettyprinters in any
         case.
    
    I believe this patch fixes other problems as well, such as .gdbinit_python not being found, and the gdbpp pretty-printers not getting loaded in various situations.
    
    The main changes of this patch are:
    
      1. Move .gdbinit into build/ (and $objdir/build/) to delay it from getting
         loaded until the search path is configured.
      2. Move libxul.so-gdb.py into the correct directory.
      3. Use either libxul.so-gdb.py or js-gdb.py to configure the correct
         search path then load .gdbinit, and have .gdbinit load all of the
         pretty-printers (Gecko and JS).
      4. Use a single preprocessed file to configure the source directory. Use
         relative paths within the objdir for everything else.
    
    Differential Revision: https://phabricator.services.mozilla.com/D77589
    14bc264f
    History
    Bug 1642121 - Remove directory dependence of GDB init files. r=nalexander
    Steve Fink authored
    I wrote this patch to address two problems:
    
      1. if I do `mach run` from a directory other than $topsrcdir, $objdir, or
         $objdir/dist/bin, then .gdbinit will not be loaded.
      2. Debugging the firefox binary will never load the JS prettyprinters in any
         case.
    
    I believe this patch fixes other problems as well, such as .gdbinit_python not being found, and the gdbpp pretty-printers not getting loaded in various situations.
    
    The main changes of this patch are:
    
      1. Move .gdbinit into build/ (and $objdir/build/) to delay it from getting
         loaded until the search path is configured.
      2. Move libxul.so-gdb.py into the correct directory.
      3. Use either libxul.so-gdb.py or js-gdb.py to configure the correct
         search path then load .gdbinit, and have .gdbinit load all of the
         pretty-printers (Gecko and JS).
      4. Use a single preprocessed file to configure the source directory. Use
         relative paths within the objdir for everything else.
    
    Differential Revision: https://phabricator.services.mozilla.com/D77589