[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: gdb: FTBFS on hurd-i386 (for review)
From: |
Svante Signell |
Subject: |
Re: gdb: FTBFS on hurd-i386 (for review) |
Date: |
Thu, 27 Sep 2012 13:43:44 +0200 |
On Thu, 2012-09-27 at 09:15 +0200, Thomas Schwinge wrote:
> Hi!
>
> On Wed, 26 Sep 2012 16:02:29 +0200, Svante Signell <svante.signell@telia.com>
> wrote:
> > gdb does not build from source any longer since gdb-multiarch packages
> > was enabled in 7.4.1-1. The build problems are due to two reasons:
>
> I also once had a look and came to the same conclusion.
>
> > First the reserved keyword MACH is defined in include/objcode/h8300.h
> > causing problems since gcc defines it for GNU/Hurd.
>
> Correct. And I wonder if that isn't a name-space violation? This is
> what I meant to look up when working on this two months ago, but then it
> seems I again got distracted by other issues. Roland, do you have any
> comments regarding that?
>
...
> $ gcc -dM -E -x c - < /dev/null | grep -i mach
> #define __MACH 1
> #define __MACH__ 1
> #define MACH 1
There is another package having this problem too: atlas.
See the first part of the patch in:
https://lists.debian.org/debian-hurd/2012/09/msg00009.html
> > +/* Avoid problems under GNU/Hurd */
> > +#ifdef MACH
> > +#undef MACH
> > +#endif
> > +
> > typedef int op_type;
> >
> > enum h8_flags
>
> Depending on which conslusion we reach re the above, that might be a
> suitable work-around. The comment should probably be more specific, and
> the #undef properly indented: »# undef«.
Indentation will be modified, and the comment could read:
/* MACH is a reserved keyword of gcc for GNU/Hurd,
* undefine here to avoid a name-space conflict.
*/