summaryrefslogtreecommitdiff
path: root/faq/dev
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2013-03-19 18:47:23 +0100
committerThomas Schwinge <thomas@codesourcery.com>2013-03-19 18:47:23 +0100
commitd166bfaaa3ddf8b83b5cc6bde62f8872e6a80c82 (patch)
tree4d8a8904c2c49122c37895ed4573a5fcbd19ed4f /faq/dev
parent64f867bbc45d265009a1bad590bc1d4d9ea91d6e (diff)
parentce8c2531cdb7ee05784437da4c38459e5d3897d6 (diff)
Merge remote-tracking branch 'savannah/master'
As part of the merge, fix some typos, add copyright and licensing headers, and a few more minor changes.
Diffstat (limited to 'faq/dev')
-rw-r--r--faq/dev/debugging_inside_glibc.mdwn19
-rw-r--r--faq/dev/debugging_translators.mdwn20
2 files changed, 39 insertions, 0 deletions
diff --git a/faq/dev/debugging_inside_glibc.mdwn b/faq/dev/debugging_inside_glibc.mdwn
new file mode 100644
index 00000000..63a77a04
--- /dev/null
+++ b/faq/dev/debugging_inside_glibc.mdwn
@@ -0,0 +1,19 @@
+[[!meta copyright="Copyright © 2007, 2008, 2009, 2013 Free Software Foundation,
+Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+In Debian, to get [[debugging]] information for glibc, you need to install the
+`libc0.3-dbg` package. At the place [[debugging/GDB]] looks for debugging
+symbols by default (`/usr/lib/debug/lib/`), Debian's `libc0.3-dbg` stores only
+the frame unwind information used for backtracing. If you want to step into
+glibc while debugging, you need to add `LD_LIBRARY_PATH=/usr/lib/debug` to
+debugged program's environment (`set env VAR value` from the GDB command line).
+If that still does not work, try `LD_PRELOAD=/usr/lib/debug/libc.so.0.3`
+instead.
diff --git a/faq/dev/debugging_translators.mdwn b/faq/dev/debugging_translators.mdwn
new file mode 100644
index 00000000..a054f2e0
--- /dev/null
+++ b/faq/dev/debugging_translators.mdwn
@@ -0,0 +1,20 @@
+[[!meta copyright="Copyright © 2007, 2008, 2013 Free Software Foundation,
+Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+In order to [[debug|debugging]] translators and being able to step into glibc
+during it, on Debian you need the `hurd-dbg` and `libc0.3-dbg` packages installed.
+If you need to debug the initialization of the translator, start the translator
+like
+
+ $ settrans -P /foo /usr/bin/env LD_LIBRARY_PATH=/usr/lib/debug /hurd/foofs
+
+The `-P` option will make it
+pause and you will be able to attach [[debugging/GDB]] to the process.