From: Luca Boccassi <bluca@debian.org>
To: Stephen Hemminger <stephen@networkplumber.org>
Cc: netdev@vger.kernel.org, dsahern@gmail.com
Subject: Re: [PATCH iproute2] Use libbsd for strlcpy if available
Date: Wed, 31 Oct 2018 17:54:51 +0000 [thread overview]
Message-ID: <1541008491.29722.36.camel@debian.org> (raw)
In-Reply-To: <20181031080922.2ff123eb@xeon-e3>
[-- Attachment #1: Type: text/plain, Size: 2177 bytes --]
On Wed, 2018-10-31 at 08:09 -0700, Stephen Hemminger wrote:
> On Mon, 29 Oct 2018 10:46:50 +0000
> Luca Boccassi <bluca@debian.org> wrote:
>
> > If libc does not provide strlcpy check for libbsd with pkg-config
> > to
> > avoid relying on inline version.
> >
> > Signed-off-by: Luca Boccassi <bluca@debian.org>
> > ---
> > This allows distro maintainers to be able to choose to reduce
> > duplication and let this code be maintained in one place, in the
> > external library.
> >
>
> I like the idea, but it causes warnings on Debian testing, and maybe
> other distros.
>
> ipnetns.c:2: warning: "_ATFILE_SOURCE" redefined
> #define _ATFILE_SOURCE
>
> In file included from /usr/include/x86_64-linux-gnu/bits/libc-header-
> start.h:33,
> from /usr/include/string.h:26,
> from /usr/include/bsd/string.h:30,
> from <command-line>:
> /usr/include/features.h:326: note: this is the location of the
> previous definition
> # define _ATFILE_SOURCE 1
>
>
> Please figure out how to handle this and resubmit. SUSE open build
> service might
> also work to test multiple distro's
Ah missed that. That happens because features.h defines _ATFILE_SOURCE
to 1, but ip/ipnetns.c defines it without a value. According to the
spec either way doesn't change the result.
This happens because of the quick hack of using -include
/usr/include/bsd/string.h which was, well, a quick hack and didn't
require to add the include manually everywhere strlcpy was used, even
in the future. But it has side effects like this.
So I'll send v2 with a less hacky fix, which means defining HAVE_LIBBSD
in configure and doing #ifdef HAVE_LIBBSD #include <bsd/string.h> in
every file. It also means that this needs to be done for every future
use of strlcpy, or the build with libbsd will break.
If you or David prefer the hacky way, I can instead send a v3 that does
the quick hack, and also changes _ATFILE_SOURCE to 1 so that there is
no complaint from the compiler, as the values will be the same.
--
Kind regards,
Luca Boccassi
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
next prev parent reply other threads:[~2018-11-01 2:53 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-29 10:46 [PATCH iproute2] Use libbsd for strlcpy if available Luca Boccassi
2018-10-29 15:27 ` David Ahern
2018-10-29 15:37 ` Luca Boccassi
2018-10-31 15:09 ` Stephen Hemminger
2018-10-31 17:54 ` Luca Boccassi [this message]
2018-10-31 18:00 ` [PATCH iproute2 v2] " Luca Boccassi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1541008491.29722.36.camel@debian.org \
--to=bluca@debian.org \
--cc=dsahern@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=stephen@networkplumber.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.