Skip to content
  • Mark Wielaard's avatar
    bfd: Make bfd_cache_max_open depend on actual open file limit. · 9d782e8d
    Mark Wielaard authored
    The current hard coded limit of open files in bfd/cache.c is 10. This
    is pretty low these days. Binaries are often linked against much more
    than 10 files (and sometimes against more than 100 shared libraries).
    When debugging with GDB some files are opened and closed multiple
    times because of this low limit. If possible make the BFD cache file
    limit depend on the actual open file limit of the process so more BFD
    files can be open at the same time.
    
        * cache.c (BFD_CACHE_MAX_OPEN): Remove define.
        (max_open_files): New static int initialized to zero.
        (bfd_cache_max_open): New static function to set and return
        max_open_files.
        (bfd_cache_init): Use bfd_cache_max_open.
        (bfd_open_file): Likewise.
        * configure.in (AC_CHECK_HEADERS): Add sys/resource.h.
        (AC_CHECK_FUNCS): Add getrlimit.
        * configure: Regenerated.
        * config.in: Likewise.
        * sysdep.h: Check and include sys/resource.h for getrlimit.
    9d782e8d