[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [james@nocrew.org: Bug#116804: libc6-dev: bits/sigcontext.h #include's asm/types.h (indirectly) on ia64]



>>>>> On Tue, 23 Oct 2001 20:34:57 -0400, Ben Collins <bcollins@debian.org> said:

  Ben> Anyone mind commenting on this? IMO, asm/fpu.h should wrap
  Ben> anything that sigcontext.h doesn't need with "#ifdef
  Ben> __KERNEL__".

This is a bug in glibc.  It shouldn't be including asm/sigcontext.h in
user-visible header files.  The only reason that file is included is
to get a definition of "struct ia64_fpreg", which isn't portable
anyhow (the kernel's declaration relies on a GNU C extension).

	--david

  Ben> ----- Forwarded message from James Troup <james@nocrew.org>
  Ben> -----

  Ben> Subject: Bug#116804: libc6-dev: bits/sigcontext.h #include's
  Ben> asm/types.h (indirectly) on ia64 From: James Troup
  Ben> <james@nocrew.org>

  Ben> Package: libc6.1-dev Version: 2.2.4-3 Severity: important

  Ben> On ia64 <bits/sigcontext.h> #includes <asm/fpu.h> which
  Ben> #includes <asm/types.h>.  This is bad because <asm/types.h>
  Ben> isn't designed to be #included by unwitting applications[1] and
  Ben> I don't think #includ-ing <signal.h> counts you in as being a
  Ben> witting(?) accomplice.  I'm not sure if this is glibc's, the
  Ben> kernel's or dancer-ircd's fault (though, I doubt the
  Ben> latter[2]); but I'm sure you'll reassign as appropriate ;-)

  Ben> | Automatic build of dancer-ircd_1.0.17-1 on caballero by
  Ben> sbuild/ia64 1.159 | Build started at 20011023-1511 |
  Ben> ******************************************************************************

  Ben> [...]

  Ben> | ** Using build dependencies supplied by package: |
  Ben> Build-Depends: debhelper (>> 3.0.0), docbook-utils, zlib1g-dev,
  Ben> jade, html2text

  Ben> [...]

  Ben> | gcc -DHAVE_CONFIG_H -I. -I. -I../include -I../include -O2
  Ben> -Wall -Wno-unused -c `test -f ircd.c || echo './'`ircd.c | In
  Ben> file included from /usr/include/asm/fpu.h:9, | from
  Ben> /usr/include/bits/sigcontext.h:27, | from
  Ben> /usr/include/signal.h:307, | from ircd.c:73: |
  Ben> /usr/include/asm/types.h:25: conflicting types for `umode_t' |
  Ben> ../include/client.h:108: previous declaration of `umode_t' |
  Ben> make[2]: *** [ircd.o] Error 1 | make[2]: Leaving directory
  Ben> `/build/buildd/dancer-ircd-1.0.17/src'

  Ben> A complete build log can be found at
  Ben> http://buildd.debian.org/build.php?arch=ia64&pkg=dancer-ircd&ver=1.0.17-1

  Ben> -- James


  Ben> [1] * This file is never included by application software
  Ben> unless * explicitly requested (e.g., via linux/types.h) in
  Ben> which case the * application is Linux specific so (user-) name
  Ben> space pollution is * not a major issue.  However, for
  Ben> interoperability, libraries still * need to be careful to avoid
  Ben> a name clashes.

  Ben> [2] I don't think assuming one can define your own
  Ben> type/struct/variable whatever call'umode_t' is unreasonable
  Ben> (especially if you're only including POSIX things like
  Ben> <signal.h>) and it works on most (all?) of our other
  Ben> architectures


  Ben> ----- End forwarded message -----

  Ben> --
  Ben> .----------=======-=-======-=========-----------=====------------=-=-----.
  Ben> / Ben Collins -- Debian GNU/Linux \ ` bcollins@debian.org --
  Ben> bcollins@openldap.org -- bcollins@linux.com '
  Ben> `---=========------=======-------------=-=-----=-===-======-------=--=---'


  Ben> -- To UNSUBSCRIBE, email to
  Ben> debian-ia64-request@lists.debian.org with a subject of
  Ben> "unsubscribe". Trouble? Contact listmaster@lists.debian.org



Reply to: