[binutils-gdb] libctf: bfd-open: mark the bfd as cacheable

Jose E.Marchesi jemarch@sourceware.org
Thu Oct 3 16:32:00 GMT 2019


https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=edc8bbe90b82f1fa4f3f261b5c97503867e9aba4

commit edc8bbe90b82f1fa4f3f261b5c97503867e9aba4
Author: Nick Alcock <nick.alcock@oracle.com>
Date:   Fri Jul 26 21:52:11 2019 +0100

    libctf: bfd-open: mark the bfd as cacheable
    
    Without this, the FD is only closed when the CTF file is, leading to
    running out of fds on (e.g.) very large links.
    
    New in v3.
    
    libctf/
    	* ctf-open-bfd.c (ctf_fdopen): Call bfd_set_cacheable.

Diff:
---
 libctf/ChangeLog      | 4 ++++
 libctf/ctf-open-bfd.c | 1 +
 2 files changed, 5 insertions(+)

diff --git a/libctf/ChangeLog b/libctf/ChangeLog
index 9637cf3..852ad62 100644
--- a/libctf/ChangeLog
+++ b/libctf/ChangeLog
@@ -1,3 +1,7 @@
+2019-07-30  Nick Alcock  <nick.alcock@oracle.com>
+
+	* ctf-open-bfd.c (ctf_fdopen): Call bfd_set_cacheable.
+
 2019-07-13  Nick Alcock  <nick.alcock@oracle.com>
 
 	* ctf-impl.h (includes): Include <sys/param.h> here.
diff --git a/libctf/ctf-open-bfd.c b/libctf/ctf-open-bfd.c
index 6fbbde8..1083c87 100644
--- a/libctf/ctf-open-bfd.c
+++ b/libctf/ctf-open-bfd.c
@@ -312,6 +312,7 @@ ctf_fdopen (int fd, const char *filename, const char *target, int *errp)
 		   bfd_errmsg (bfd_get_error()));
       return (ctf_set_open_errno (errp, ECTF_FMT));
     }
+  bfd_set_cacheable (abfd, 1);
 
   if (!bfd_check_format (abfd, bfd_object))
     {



More information about the Binutils-cvs mailing list