This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH v2] Improve corefile generation by using /proc/PID/coredump_filter (PR corefile/16902)
- From: Eli Zaretskii <eliz at gnu dot org>
- To: Sergio Durigan Junior <sergiodj at redhat dot com>
- Cc: gdb-patches at sourceware dot org, jan dot kratochvil at redhat dot com, palves at redhat dot com, oleg at redhat dot com
- Date: Sat, 14 Mar 2015 11:39:56 +0200
- Subject: Re: [PATCH v2] Improve corefile generation by using /proc/PID/coredump_filter (PR corefile/16902)
- Authentication-results: sourceware.org; auth=none
- References: <878ufc9kau dot fsf at redhat dot com> <87r3stnbdw dot fsf at redhat dot com>
- Reply-to: Eli Zaretskii <eliz at gnu dot org>
> From: Sergio Durigan Junior <sergiodj@redhat.com>
> Cc: Jan Kratochvil <jan.kratochvil@redhat.com>, Pedro Alves <palves@redhat.com>, Oleg Nesterov <oleg@redhat.com>
> Date: Thu, 12 Mar 2015 17:39:39 -0400
>
> +On @sc{gnu}/Linux, this command can take into account the value of the
> +file @file{/proc/@var{pid}/coredump_filter} when generating the core
> +dump (@pxref{set use-coredump-filter}).
You never explain what @var{pid} is, until you get to the example. I
think we should tell that earlier.
> +To make use of this feature, you have to write in the
> +@file{/proc/@var{pid}/coredump_filter} file a value, in hexadecimal,
> +which is a bit mask representing the memory mapping types. If a bit
> +is set in the bit mask, then the memory mappings of the corresponding
> +types will be dumped; otherwise, they will be ignored. The bits in
> +this bit mask have the following meanings:
> +
> +@table @code
> +@item bit 0
> +Dump anonymous private mappings.
> +@item bit 1
> +Dump anonymous shared mappings.
> +@item bit 2
> +Dump file-backed private mappings.
> +@item bit 3
> +Dump file-backed shared mappings.
> +@item bit 4
> +(since Linux 2.6.24)
> +Dump ELF headers. (@value{GDBN} does not take this bit into account)
> +@item bit 5
> +(since Linux 2.6.28)
> +Dump private huge pages.
> +@item bit 6
> +(since Linux 2.6.28)
> +Dump shared huge pages.
> +@end table
> +
> +For example, supposing that the @code{pid} of the program being
> +debugging is @code{1234}, if you wanted to dump everything except the
> +anonymous private and the file-backed shared mappings, you would do:
> +
> +@smallexample
> +$ echo 0x76 > /proc/1234/coredump_filter
> +@end smallexample
> +
> +For more documentation about how to use the @file{coredump_filter}
> +file, see the manpage of @code{proc(5)}.
I don't think we should repeat all that information here, we should
just refer to the man page you cite, possibly also telling what
section of that page to look in.
Thanks.