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

Bug#718181: missing declaration for issetugid



Package: libc0.1-dev
Version: 2.13-38
Severity: important
X-Debbugs-Cc: <jcristau@debian.org>, debian-bsd@lists.debian.org
User: debian-bsd@lists.debian.org
Usertags: kfreebsd

The pristine FreeBSD (and other BSD) provide it via <unistd.h>

The eglibc does not have reasonable file in bits,
where prototype can be included.
The best would be <bits/unistd.h>, but unfortunately,
it is included only for fortified builds

It remains to put it inside <bits/posix_opt.h>.

Petr

---------- Forwarded message ----------
Date: Sun, 28 Jul 2013 12:27:53 +0000 (GMT)
From: Julien Cristau <jcristau@debian.org>
Subject: Re: issetugid

On Fri, Apr 20, 2012 at 22:38:20 +0200, Petr Salinger wrote:

Hi,

Xlib uses AC_CHECK_FUNC(issetugid) in configure.ac, and then
#include <unistd.h>
issetugid();
in the code.  On Linux everything's fine because libc doesn't have that
function.  OTOH kfreebsd explodes with a missing prototype, see
https://buildd.debian.org/status/fetch.php?pkg=libx11&arch=kfreebsd-amd64&ver=2%3A1.4.99.901-1&stamp=1334874367

Is that function defined somewhere on kfreebsd?  If so, where?  And
shouldn't unistd.h pull that in?

No, the prototype is not defined anywhere,
the function is available mainly for linking of old code.

The key problem is that configure uses different set of CFLAGS
compared to real build:

  checking for issetugid... yes

and

  error: implicit declaration of function 'issetugid' [-Werror=implicit-function-declaration]

Hi,

this issue came up again, this time for xorg-server.  See
the discussion at http://patchwork.freedesktop.org/patch/14158/

What is the reason for not declaring issetugid?
What am I supposed to use instead?

Cheers,
Julien


Reply to: