From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from bombadil.infradead.org ([198.137.202.133]:56124 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1732461AbeGKO77 (ORCPT ); Wed, 11 Jul 2018 10:59:59 -0400 Date: Wed, 11 Jul 2018 11:55:05 -0300 From: Mauro Carvalho Chehab To: Ezequiel Garcia Cc: linux-media@vger.kernel.org, Hans Verkuil , Peter Korsgaard Subject: Re: [PATCH] libv4l: fixup lfs mismatch in preload libraries Message-ID: <20180711115505.5b93de93@coco.lan> In-Reply-To: <20180711132251.13172-1-ezequiel@collabora.com> References: <20180711132251.13172-1-ezequiel@collabora.com> MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-media-owner@vger.kernel.org List-ID: Em Wed, 11 Jul 2018 10:22:51 -0300 Ezequiel Garcia escreveu: > From: Peter Korsgaard > > Ensure that the lfs variants are not transparently used instead of the !lfs > ones so both can be wrapped, independently of any custom CFLAGS/CPPFLAGS. > > Without this patch, the following assembler errors appear > during cross-compiling with Buildroot: > > /tmp/ccc3gdJg.s: Assembler messages: > /tmp/ccc3gdJg.s:67: Error: symbol `open64' is already defined > /tmp/ccc3gdJg.s:130: Error: symbol `mmap64' is already defined > > Signed-off-by: Peter Korsgaard > Signed-off-by: Ezequiel Garcia > --- > lib/libv4l1/v4l1compat.c | 3 +++ > lib/libv4l2/v4l2convert.c | 3 +++ > 2 files changed, 6 insertions(+) > > diff --git a/lib/libv4l1/v4l1compat.c b/lib/libv4l1/v4l1compat.c > index cb79629ff88f..e5c9e56261e2 100644 > --- a/lib/libv4l1/v4l1compat.c > +++ b/lib/libv4l1/v4l1compat.c > @@ -19,6 +19,9 @@ > # Foundation, Inc., 51 Franklin Street, Suite 500, Boston, MA 02110-1335 USA > */ > > +/* ensure we see *64 variants and they aren't transparently used */ > +#undef _LARGEFILE_SOURCE > +#undef _FILE_OFFSET_BITS Hmm... shouldn't this be autodetected? I didn't check anything, but I would be expecting that different distros (and BSD) may be doing different things here, specially if they use different gcc versions or even different libc implementations. > #define _LARGEFILE64_SOURCE 1 > > #include > diff --git a/lib/libv4l2/v4l2convert.c b/lib/libv4l2/v4l2convert.c > index 7c9a04c086ed..13ca4cfb1b08 100644 > --- a/lib/libv4l2/v4l2convert.c > +++ b/lib/libv4l2/v4l2convert.c > @@ -23,6 +23,9 @@ > /* prevent GCC 4.7 inlining error */ > #undef _FORTIFY_SOURCE > > +/* ensure we see *64 variants and they aren't transparently used */ > +#undef _LARGEFILE_SOURCE > +#undef _FILE_OFFSET_BITS > #define _LARGEFILE64_SOURCE 1 > > #ifdef ANDROID Thanks, Mauro