[PATCH v2] Skip vDSO when reading SO list (PR 8882)
Jan Kratochvil
jan.kratochvil@redhat.com
Tue Sep 24 18:08:00 GMT 2013
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
More information about the Gdb-patches
mailing list