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.sign...@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. */