All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ruslan Bilovol <rbilovol@cisco.com>
To: Khem Raj <raj.khem@gmail.com>
Cc: XE-Linux <xe-linux-external@cisco.com>,
	Patches and discussions about the oe-core layer
	<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH v3] systemd: fix remaining issues with statx and glibc 2.28+
Date: Mon, 14 Jan 2019 19:40:22 +0200	[thread overview]
Message-ID: <a8c2fc61-6b0f-6e33-a7f6-aedc169bbd6a@cisco.com> (raw)
In-Reply-To: <CAMKF1srqgrtC2bNZM30CVSwRHV+uKtXpNCDg2xaT7jJ0f0sTLw@mail.gmail.com>

Hi Chen,

Will you pick up this fix? Still don't see it in the master-next

Thanks,
Ruslan

On 12/22/18 1:48 AM, Khem Raj wrote:
> On Fri, Dec 21, 2018 at 11:45 AM Ruslan Bilovol <rbilovol@cisco.com> wrote:
>>
>> Commit 776d14db9589 "systemd: Detect if statx struct is
>> defined in sys/stat.h" did only a part of work, and systemd
>> build fails on src/basic/chattr-util.c compilation due to
>> same statx redefinition issue.
>> Backport additional patch from systemd master
>>
> 
> 
> LGTM
> 
>> Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com>
>> ---
>>
>> v3: rebased to recent OE master (again)
>>
>> v2: rebased to recent OE master, added signoff
>>
>>   ...-linux-stat.h-check-with-other-checks-and.patch | 78 ++++++++++++++++++++++
>>   meta/recipes-core/systemd/systemd_239.bb           |  1 +
>>   2 files changed, 79 insertions(+)
>>   create mode 100644 meta/recipes-core/systemd/systemd/0001-meson-unify-linux-stat.h-check-with-other-checks-and.patch
>>
>> diff --git a/meta/recipes-core/systemd/systemd/0001-meson-unify-linux-stat.h-check-with-other-checks-and.patch b/meta/recipes-core/systemd/systemd/0001-meson-unify-linux-stat.h-check-with-other-checks-and.patch
>> new file mode 100644
>> index 0000000..0db7fce
>> --- /dev/null
>> +++ b/meta/recipes-core/systemd/systemd/0001-meson-unify-linux-stat.h-check-with-other-checks-and.patch
>> @@ -0,0 +1,78 @@
>> +From 9c869d08d82c73f62ab3527567858ce4b0cf1257 Mon Sep 17 00:00:00 2001
>> +From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
>> +Date: Wed, 18 Jul 2018 17:26:17 +0200
>> +Subject: [PATCH] meson: unify linux/stat.h check with other checks and use
>> + _GNU_SOURCE
>> +
>> +Using _GNU_SOURCE is better because that's how we include the headers in the
>> +actual build, and some headers define different stuff when it is defined.
>> +sys/stat.h for example defines 'struct statx' conditionally.
>> +
>> +Upstream-Status: Backport
>> +
>> +Signed-off-by: Ruslan Bilovol <rbilovol@cisco.com>
>> +---
>> + meson.build         | 20 ++++++++++++++------
>> + src/basic/missing.h |  2 +-
>> + 2 files changed, 15 insertions(+), 7 deletions(-)
>> +
>> +diff --git a/meson.build b/meson.build
>> +index 68423bd..99035d2 100644
>> +--- a/meson.build
>> ++++ b/meson.build
>> +@@ -421,11 +421,9 @@ decl_headers = '''
>> + #include <uchar.h>
>> + #include <linux/ethtool.h>
>> + #include <linux/fib_rules.h>
>> +-#include <linux/stat.h>
>> + #include <sys/stat.h>
>> + '''
>> + # FIXME: key_serial_t is only defined in keyutils.h, this is bound to fail
>> +-# FIXME: these should use -D_GNU_SOURCE, since that is defined at build time
>> +
>> + foreach decl : ['char16_t',
>> +                 'char32_t',
>> +@@ -436,13 +434,23 @@ foreach decl : ['char16_t',
>> +                ]
>> +
>> +         # We get -1 if the size cannot be determined
>> +-        have = cc.sizeof(decl, prefix : decl_headers) > 0
>> ++        have = cc.sizeof(decl, prefix : decl_headers, args : '-D_GNU_SOURCE') > 0
>> ++
>> ++        if decl == 'struct statx'
>> ++                if have
>> ++                        want_linux_stat_h = false
>> ++                else
>> ++                        have = cc.sizeof(decl,
>> ++                                         prefix : decl_headers + '#include <linux/stat.h>',
>> ++                                         args : '-D_GNU_SOURCE') > 0
>> ++                        want_linux_stat_h = have
>> ++                endif
>> ++        endif
>> ++
>> +         conf.set10('HAVE_' + decl.underscorify().to_upper(), have)
>> + endforeach
>> +
>> +-conf.set10('HAVE_STRUCT_STATX_IN_SYS_STAT_H', cc.sizeof('struct statx', prefix : '''
>> +-#include <sys/stat.h>
>> +-''', args : '-D_GNU_SOURCE') > 0)
>> ++conf.set10('WANT_LINUX_STAT_H', want_linux_stat_h)
>> +
>> + foreach decl : [['IFLA_INET6_ADDR_GEN_MODE',         'linux/if_link.h'],
>> +                 ['IN6_ADDR_GEN_MODE_STABLE_PRIVACY', 'linux/if_link.h'],
>> +diff --git a/src/basic/missing.h b/src/basic/missing.h
>> +index 14ad3d4..9044683 100644
>> +--- a/src/basic/missing.h
>> ++++ b/src/basic/missing.h
>> +@@ -24,7 +24,7 @@
>> + #include <uchar.h>
>> + #include <unistd.h>
>> +
>> +-#if !HAVE_STRUCT_STATX_IN_SYS_STAT_H
>> ++#if WANT_LINUX_STAT_H
>> + #include <linux/stat.h>
>> + #endif
>> +
>> +--
>> +1.9.1
>> +
>> diff --git a/meta/recipes-core/systemd/systemd_239.bb b/meta/recipes-core/systemd/systemd_239.bb
>> index 03acce2..91a026d 100644
>> --- a/meta/recipes-core/systemd/systemd_239.bb
>> +++ b/meta/recipes-core/systemd/systemd_239.bb
>> @@ -37,6 +37,7 @@ SRC_URI += "file://touchscreen.rules \
>>              file://0001-timesync-changes-type-of-drift_freq-to-int64_t.patch \
>>              file://0001-sysctl-Don-t-pass-null-directive-argument-to-s.patch \
>>              file://0002-core-Fix-use-after-free-case-in-load_from_path.patch \
>> +           file://0001-meson-unify-linux-stat.h-check-with-other-checks-and.patch \
>>              "
>>
>>   # patches made for musl are only applied on TCLIBC is musl
>> --
>> 1.9.1
>>


      reply	other threads:[~2019-01-14 17:40 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-12-21 19:45 [PATCH v3] systemd: fix remaining issues with statx and glibc 2.28+ Ruslan Bilovol
2018-12-21 23:48 ` Khem Raj
2019-01-14 17:40   ` Ruslan Bilovol [this message]

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=a8c2fc61-6b0f-6e33-a7f6-aedc169bbd6a@cisco.com \
    --to=rbilovol@cisco.com \
    --cc=openembedded-core@lists.openembedded.org \
    --cc=raj.khem@gmail.com \
    --cc=xe-linux-external@cisco.com \
    /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.