* [PATCH] Add objfile-progspace to Guile interface
@ 2015-03-05 14:59 Andy Wingo
2015-03-08 19:12 ` Doug Evans
0 siblings, 1 reply; 2+ messages in thread
From: Andy Wingo @ 2015-03-05 14:59 UTC (permalink / raw)
To: gdb-patches
[-- Attachment #1: 0001-Add-objfile-progspace-to-Guile-interface.patch --]
[-- Type: text/plain, Size: 5084 bytes --]
From c77495c00086239a0f03ffb653183ae41d81ac57 Mon Sep 17 00:00:00 2001
From: Andy Wingo <wingo@igalia.com>
Date: Thu, 5 Mar 2015 15:56:31 +0100
Subject: [PATCH] Add objfile-progspace to Guile interface
This commit adds an objfile-progspace accessor to the (gdb) Guile
module.
gdb/testsuite/ChangeLog:
* gdb.guile/scm-objfile.exp: Add objfile-progspace test.
gdb/doc/ChangeLog:
* guile.texi (Objfiles In Guile): Document objfile-progspace.
gdb/ChangeLog:
* guile/scm-objfile.c (gdbscm_objfile_progspace): New function.
(objfile_functions): Bind gdbscm_objfile_progspace to
objfile-progspace.
* guile/lib/gdb.scm: Add objfile-progspace to exports.
---
gdb/ChangeLog | 7 +++++++
gdb/doc/ChangeLog | 4 ++++
gdb/doc/guile.texi | 5 +++++
gdb/guile/lib/gdb.scm | 1 +
gdb/guile/scm-objfile.c | 17 +++++++++++++++++
gdb/testsuite/ChangeLog | 4 ++++
gdb/testsuite/gdb.guile/scm-objfile.exp | 3 +++
7 files changed, 41 insertions(+)
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index b1c8a29..a5e98ed 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2015-03-05 Andy Wingo <wingo@igalia.com>
+
+ * guile/scm-objfile.c (gdbscm_objfile_progspace): New function.
+ (objfile_functions): Bind gdbscm_objfile_progspace to
+ objfile-progspace.
+ * guile/lib/gdb.scm: Add objfile-progspace to exports.
+
2015-02-10 Andy Wingo <wingo@igalia.com>
* guile/guile.c (_initialize_guile): Disable automatic
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog
index 2b2ad5a..c7afd0f 100644
--- a/gdb/doc/ChangeLog
+++ b/gdb/doc/ChangeLog
@@ -1,3 +1,7 @@
+2015-03-05 Andy Wingo <wingo@igalia.com>
+
+ * guile.texi (Objfiles In Guile): Document objfile-progspace.
+
2015-03-03 Philippe Proulx eeppeliteloop@gmail.com
* gdb.texinfo (gdb/mi Async Records): Fix duplicate syscall-entry
diff --git a/gdb/doc/guile.texi b/gdb/doc/guile.texi
index 53e69f2..4a4365c 100644
--- a/gdb/doc/guile.texi
+++ b/gdb/doc/guile.texi
@@ -2250,6 +2250,11 @@ Return the file name of @var{objfile} as a string,
with symbolic links resolved.
@end deffn
+@deffn {Scheme Procedure} objfile-progspace objfile
+Return the @code{<gdb:progspace>} that this object file lives in.
+@xref{Progspaces In Guile}, for more on progspaces.
+@end deffn
+
@deffn {Scheme Procedure} objfile-pretty-printers objfile
Return the list of registered @code{<gdb:pretty-printer>} objects for
@var{objfile}. @xref{Guile Pretty Printing API}, for more information.
diff --git a/gdb/guile/lib/gdb.scm b/gdb/guile/lib/gdb.scm
index cc35bc1..385085a 100644
--- a/gdb/guile/lib/gdb.scm
+++ b/gdb/guile/lib/gdb.scm
@@ -281,6 +281,7 @@
objfile?
objfile-valid?
objfile-filename
+ objfile-progspace
objfile-pretty-printers
set-objfile-pretty-printers!
current-objfile
diff --git a/gdb/guile/scm-objfile.c b/gdb/guile/scm-objfile.c
index 8e94b96..080b905 100644
--- a/gdb/guile/scm-objfile.c
+++ b/gdb/guile/scm-objfile.c
@@ -252,6 +252,19 @@ gdbscm_objfile_filename (SCM self)
return gdbscm_scm_from_c_string (objfile_name (o_smob->objfile));
}
+/* (objfile-progspace <gdb:objfile>) -> <gdb:progspace>
+ Returns the objfile's progspace.
+ Throw's an exception if the underlying objfile is invalid. */
+
+static SCM
+gdbscm_objfile_progspace (SCM self)
+{
+ objfile_smob *o_smob
+ = ofscm_get_valid_objfile_smob_arg_unsafe (self, SCM_ARG1, FUNC_NAME);
+
+ return psscm_scm_from_pspace (o_smob->objfile->pspace);
+}
+
/* (objfile-pretty-printers <gdb:objfile>) -> list
Returns the list of pretty-printers for this objfile. */
@@ -388,6 +401,10 @@ Return #t if the objfile is valid (hasn't been deleted from gdb)." },
"\
Return the file name of the objfile." },
+ { "objfile-progspace", 1, 0, 0, gdbscm_objfile_progspace,
+ "\
+Return the progspace that the objfile lives in." },
+
{ "objfile-pretty-printers", 1, 0, 0, gdbscm_objfile_pretty_printers,
"\
Return a list of pretty-printers of the objfile." },
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 3b7bf7d..8f79e21 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2015-03-05 Andy Wingo <wingo@igalia.com>
+
+ * gdb.guile/scm-objfile.exp: Add objfile-progspace test.
+
2015-03-02 Pedro Alves <palves@redhat.com>
* gdb.threads/thread-execl.exp (do_test): Handle non-stop.
diff --git a/gdb/testsuite/gdb.guile/scm-objfile.exp b/gdb/testsuite/gdb.guile/scm-objfile.exp
index c58f4c4..8edda94 100644
--- a/gdb/testsuite/gdb.guile/scm-objfile.exp
+++ b/gdb/testsuite/gdb.guile/scm-objfile.exp
@@ -48,6 +48,9 @@ gdb_test "gu (print (->bool (or-map (lambda (o) (string-contains (objfile-filena
gdb_test "gu (print (objfile-pretty-printers objfile))" \
"= \\(\\)"
+gdb_test "gu (print (eq? (current-progspace) (objfile-progspace objfile)))" \
+ "= #t"
+
gdb_test "guile (set-objfile-pretty-printers! objfile 0)" \
"ERROR: .*: Wrong type argument in position 2 \\(expecting list\\): 0.*"
--
2.1.4
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] Add objfile-progspace to Guile interface
2015-03-05 14:59 [PATCH] Add objfile-progspace to Guile interface Andy Wingo
@ 2015-03-08 19:12 ` Doug Evans
0 siblings, 0 replies; 2+ messages in thread
From: Doug Evans @ 2015-03-08 19:12 UTC (permalink / raw)
To: Andy Wingo; +Cc: gdb-patches
Andy Wingo <wingo@igalia.com> writes:
> From c77495c00086239a0f03ffb653183ae41d81ac57 Mon Sep 17 00:00:00 2001
> From: Andy Wingo <wingo@igalia.com>
> Date: Thu, 5 Mar 2015 15:56:31 +0100
> Subject: [PATCH] Add objfile-progspace to Guile interface
>
> This commit adds an objfile-progspace accessor to the (gdb) Guile
> module.
>
> gdb/testsuite/ChangeLog:
>
> * gdb.guile/scm-objfile.exp: Add objfile-progspace test.
>
> gdb/doc/ChangeLog:
>
> * guile.texi (Objfiles In Guile): Document objfile-progspace.
>
> gdb/ChangeLog:
>
> * guile/scm-objfile.c (gdbscm_objfile_progspace): New function.
> (objfile_functions): Bind gdbscm_objfile_progspace to
> objfile-progspace.
> * guile/lib/gdb.scm: Add objfile-progspace to exports.
LGTM
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2015-03-08 19:12 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-05 14:59 [PATCH] Add objfile-progspace to Guile interface Andy Wingo
2015-03-08 19:12 ` Doug Evans
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).