[Fwd:,gdb:,FTBFS,on,hurd-i386]
Commit Message
Hello,
These patches was submitted to Debian November 13 2017. Nothing has
happened so far, so maybe upstream would be interested to consider the
patches for next release.
Thanks!
Source: gdb
Version: 8.0-1
Severity: important
Tags: patch
User: debian-hurd@lists.debian.org
Usertags: hurd, experimental
Hi,
gdb FTBFS on GNU/Hurd due to three reasons:
- Usage of PATH_MAX in gdb/remote.c
- Recent changes in Hurd failing the build of gdb/gnu-nat.c
- A name clash of struct thread_info and the kernel function thread_info()
included in gdb/thread.c and gdb/python/py-record-btrace.c.
Include paths:
1) defs.h: #include "gdbarch.h": struct thread_info
2) defs.h: #include "nm.h":#include <mach.h>:#include <mach/mach_interface.h>
where the function thread_info() is defined:
extern kern_return_t thread_info
(
mach_port_t target_thread,
int flavor,
thread_info_t thread_info_out,
mach_msg_type_number_t *thread_info_outCnt
);
The attached patches fixes these issues:
gdb-PATH_MAX.patch
gnu-nat.c.patch
struct-thread_info.patch
Thanks :)
Comments
Hello Svante,
On Sat, Dec 23, 2017 at 7:41 PM, Svante Signell
<svante.signell@gmail.com> wrote:
> Hello,
>
> These patches was submitted to Debian November 13 2017. Nothing has
> happened so far, so maybe upstream would be interested to consider the
> patches for next release.
I would like to have them applied in Debian package for next release,
however it is taking more time than I thought, then I am going on
vacations. If you are able to upload to Debian, feel free to NMU the
package, otherwise, I'll try to have a look in a couple weeks.
> Thanks!
>
> ---------- Forwarded message ----------
> From: Svante Signell <svante.signell@gmail.com>
> To: Debian Bug Tracking System <submit@bugs.debian.org>
> Cc:
> Bcc:
> Date: Mon, 13 Nov 2017 04:31:34 +0100
> Subject: gdb: FTBFS on hurd-i386
> Source: gdb
> Version: 8.0-1
> Severity: important
> Tags: patch
> User: debian-hurd@lists.debian.org
> Usertags: hurd, experimental
>
> Hi,
>
> gdb FTBFS on GNU/Hurd due to three reasons:
>
> - Usage of PATH_MAX in gdb/remote.c
>
> - Recent changes in Hurd failing the build of gdb/gnu-nat.c
>
> - A name clash of struct thread_info and the kernel function thread_info()
> included in gdb/thread.c and gdb/python/py-record-btrace.c.
>
> Include paths:
> 1) defs.h: #include "gdbarch.h": struct thread_info
>
> 2) defs.h: #include "nm.h":#include <mach.h>:#include <mach/mach_interface.h>
> where the function thread_info() is defined:
>
> extern kern_return_t thread_info
> (
> mach_port_t target_thread,
> int flavor,
> thread_info_t thread_info_out,
> mach_msg_type_number_t *thread_info_outCnt
> );
>
> The attached patches fixes these issues:
> gdb-PATH_MAX.patch
> gnu-nat.c.patch
> struct-thread_info.patch
>
> Thanks :)
>
On Tue, 2017-12-26 at 09:40 +0100, Héctor Orón Martínez wrote:
> Hello Svante,
>
> On Sat, Dec 23, 2017 at 7:41 PM, Svante Signell
> <svante.signell@gmail.com> wrote:
> > Hello,
> >
> > These patches was submitted to Debian November 13 2017. Nothing has
> > happened so far, so maybe upstream would be interested to consider
> > the
> > patches for next release.
>
> I would like to have them applied in Debian package for next release,
> however it is taking more time than I thought, then I am going on
> vacations. If you are able to upload to Debian, feel free to NMU the
> package, otherwise, I'll try to have a look in a couple weeks.
Hi again,
Unfortunately I'm not authorized to NMU that package. However, the
reason for submitting the patches upstream is that they should be
applied there. In the meanwhile we could create a Debian package of
8.0.1 (or later). If you don't have time maybe Samuel could help out
here?
Thanks for your reply anyway!
Ping
On Wed, 2017-12-27 at 23:36 +0100, Svante Signell wrote:
> On Tue, 2017-12-26 at 09:40 +0100, Héctor Orón Martínez wrote:
> > Hello Svante,
> >
> > On Sat, Dec 23, 2017 at 7:41 PM, Svante Signell
> > <svante.signell@gmail.com> wrote:
> > > Hello,
> > >
> > > These patches was submitted to Debian November 13 2017. Nothing has
> > > happened so far, so maybe upstream would be interested to consider
> > > the
> > > patches for next release.
> >
> > I would like to have them applied in Debian package for next release,
> > however it is taking more time than I thought, then I am going on
> > vacations. If you are able to upload to Debian, feel free to NMU the
> > package, otherwise, I'll try to have a look in a couple weeks.
>
> Hi again,
>
> Unfortunately I'm not authorized to NMU that package. However, the
> reason for submitting the patches upstream is that they should be
> applied there. In the meanwhile we could create a Debian package of
> 8.0.1 (or later). If you don't have time maybe Samuel could help out
> here?
>
> Thanks for your reply anyway!
===================================================================
@@ -76,21 +76,21 @@ static void restore_current_thread (ptid
class scoped_inc_dec_ref
{
public:
- explicit scoped_inc_dec_ref (const std::vector<thread_info *> &thrds)
+ explicit scoped_inc_dec_ref (const std::vector<struct thread_info *> &thrds)
: m_thrds (thrds)
{
- for (thread_info *thr : m_thrds)
+ for (struct thread_info *thr : m_thrds)
thr->incref ();
}
~scoped_inc_dec_ref ()
{
- for (thread_info *thr : m_thrds)
+ for (struct thread_info *thr : m_thrds)
thr->decref ();
}
private:
- const std::vector<thread_info *> &m_thrds;
+ const std::vector<struct thread_info *> &m_thrds;
};
@@ -207,7 +207,7 @@ clear_thread_inferior_resources (struct
/* Set the TP's state as exited. */
static void
-set_thread_exited (thread_info *tp, int silent)
+set_thread_exited (struct thread_info *tp, int silent)
{
/* Dead threads don't need to step-over. Remove from queue. */
if (tp->step_over_next != NULL)
@@ -254,7 +254,7 @@ init_thread_list (void)
static struct thread_info *
new_thread (struct inferior *inf, ptid_t ptid)
{
- thread_info *tp = new thread_info (inf, ptid);
+ struct thread_info *tp = new struct thread_info (inf, ptid);
if (thread_list == NULL)
thread_list = tp;
@@ -1574,7 +1574,7 @@ restore_selected_frame (struct frame_id
struct current_thread_cleanup
{
- thread_info *thread;
+ struct thread_info *thread;
struct frame_id selected_frame_id;
int selected_frame_level;
int was_stopped;
@@ -1716,7 +1716,7 @@ static bool tp_array_compar_ascending;
order is determined by TP_ARRAY_COMPAR_ASCENDING. */
static bool
-tp_array_compar (const thread_info *a, const thread_info *b)
+tp_array_compar (const struct thread_info *a, const struct thread_info *b)
{
if (a->inf->num != b->inf->num)
{
@@ -1774,11 +1774,11 @@ thread_apply_all_command (char *cmd, int
thread, in case the command is one that wipes threads. E.g.,
detach, kill, disconnect, etc., or even normally continuing
over an inferior or thread exit. */
- std::vector<thread_info *> thr_list_cpy;
+ std::vector<struct thread_info *> thr_list_cpy;
thr_list_cpy.reserve (tc);
{
- thread_info *tp;
+ struct thread_info *tp;
ALL_NON_EXITED_THREADS (tp)
{
@@ -1794,7 +1794,7 @@ thread_apply_all_command (char *cmd, int
std::sort (thr_list_cpy.begin (), thr_list_cpy.end (), tp_array_compar);
- for (thread_info *thr : thr_list_cpy)
+ for (struct thread_info *thr : thr_list_cpy)
if (thread_alive (thr))
{
switch_to_thread (thr->ptid);
===================================================================
@@ -71,7 +71,7 @@ btrace_insn_from_recpy_insn (const PyObj
{
const btrace_insn *insn;
const recpy_element_object *obj;
- thread_info *tinfo;
+ struct thread_info *tinfo;
btrace_insn_iterator iter;
if (Py_TYPE (pyobject) != &recpy_insn_type)
@@ -114,7 +114,7 @@ btrace_func_from_recpy_func (const PyObj
{
const btrace_function *func;
const recpy_element_object *obj;
- thread_info *tinfo;
+ struct thread_info *tinfo;
btrace_call_iterator iter;
if (Py_TYPE (pyobject) != &recpy_func_type)
@@ -152,7 +152,7 @@ btrace_func_from_recpy_func (const PyObj
gdb.RecordInstruction or gdb.RecordGap object for it accordingly. */
static PyObject *
-btpy_insn_or_gap_new (const thread_info *tinfo, Py_ssize_t number)
+btpy_insn_or_gap_new (const struct thread_info *tinfo, Py_ssize_t number)
{
btrace_insn_iterator iter;
int err_code;
@@ -338,7 +338,7 @@ PyObject *
recpy_bt_func_level (PyObject *self, void *closure)
{
const btrace_function * const func = btrace_func_from_recpy_func (self);
- thread_info *tinfo;
+ struct thread_info *tinfo;
if (func == NULL)
return NULL;