This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCH v2] Skip vDSO when reading SO list (PR 8882)
- From: Jan Kratochvil <jan dot kratochvil at redhat dot com>
- To: Andreas Arnez <arnez at linux dot vnet dot ibm dot com>
- Cc: gdb-patches at sourceware dot org, Ulrich Weigand <uweigand at de dot ibm dot com>
- Date: Tue, 24 Sep 2013 20:07:15 +0200
- Subject: Re: [PATCH v2] Skip vDSO when reading SO list (PR 8882)
- Authentication-results: sourceware.org; auth=none
- References: <87eh8ep0wy dot fsf at br87z6lw dot de dot ibm dot com>
On Tue, 24 Sep 2013 19:47:09 +0200, Andreas Arnez wrote:
> ChangeLog:
> 2013-09-24 Andreas Arnez <arnez@linux.vnet.ibm.com>
>
Add here line:
PR shlibs/8882
> * solib-svr4.c (svr4_read_so_list): Skip the vDSO when reading
> link map entries.
>
> testsuite/ChangeLog:
> 2013-09-24 Andreas Arnez <arnez@linux.vnet.ibm.com>
>
Add here line:
PR shlibs/8882
> * gdb.base/corefile.exp: Add a check to assure warning-free
> core-file load.
OK to check it in with a little update below:
> @@ -1359,8 +1361,16 @@ svr4_read_so_list (CORE_ADDR lm, CORE_AD
> SO_NAME_MAX_PATH_SIZE - 1, &errcode);
> if (errcode != 0)
> {
> - warning (_("Can't read pathname for load map: %s."),
> - safe_strerror (errcode));
> + /* If this entry's l_name address matches that of the
> + inferior executable, then this is not a normal shared
> + object, but (most likely) a vDSO. In this case, silently
> + skip it; otherwise emit a warning. */
> + if (! (first != NULL
> + && new->lm_info->l_name == first->lm_info->l_name))
Nested negations were not accepted for GDB before, therefore:
if (first == NULL
|| new->lm_info->l_name != first->lm_info->l_name)
(I agree it had some logic but this was a general GDB list consensus.)
> + {
Excessive curly braces.
> + warning (_("Can't read pathname for load map: %s."),
> + safe_strerror (errcode));
> + }
> do_cleanups (old_chain);
> continue;
> }
Thanks,
Jan