From: Ola x Nilsson <ola.x.nilsson@axis.com>
To: Khem Raj <raj.khem@gmail.com>
Cc: "openembedded-core@lists.openembedded.org"
<openembedded-core@lists.openembedded.org>
Subject: Re: [OE-core] [PATCH RFC 3/3] time64.conf: Include to enable 64 bit time flags
Date: Fri, 9 Dec 2022 10:55:16 +0100 [thread overview]
Message-ID: <jwq5yekdg24.fsf@axis.com> (raw)
In-Reply-To: <08c1f279-d446-bc7c-f01d-4ebfb1da51d8@gmail.com>
On Fri, Dec 09 2022, Khem Raj wrote:
> Thanks for the patches
>
> On 12/7/22 23:11, Ola x Nilsson wrote:
>> Signed-off-by: Ola x Nilsson <olani@axis.com>
>> ---
>> meta/conf/distro/time64.conf | 23 +++++++++++++++++++++++
>> 1 file changed, 23 insertions(+)
>> create mode 100644 meta/conf/distro/time64.conf
>>
>> diff --git a/meta/conf/distro/time64.conf b/meta/conf/distro/time64.conf
>> new file mode 100644
>> index 0000000000..99eb06dc0f
>> --- /dev/null
>> +++ b/meta/conf/distro/time64.conf
>> @@ -0,0 +1,23 @@
>> +GLIBC_64BIT_TIME_FLAGS = "-D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64"
>> +
>> +# TODO: Only for 32-bit architectures?
>> +TARGET_CC_ARCH:append:arm = " ${GLIBC_64BIT_TIME_FLAGS}"
>> +TARGET_CC_ARCH:append:armeb = " ${GLIBC_64BIT_TIME_FLAGS}"
>> +TARGET_CC_ARCH:append:mips32el = " ${GLIBC_64BIT_TIME_FLAGS}"
>
> We should enable it across all 32bit systems
> something like
>
> TARGET_CC_ARCH += "${@'-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64' if
> d.getVar('SITEINFO_BITS') == '32' else ''}"
>
> would do it.
I was looking for a way to identify 32-bit platforms but did not find
SITEINFO_BITS. I'll look into using that instead.
> Also adding -D_LARGEFILE_SOURCE will ensure needed functions that LFS
> needs is enabled as well, usually its automatically defined when
> -D_GNU_SOURCE is set but that may not be case all the time.
As far as I can tell, _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE are
independent of _TIME_BITS=64 and _FILE_OFFSET_BITS=64 (while
_TIME_BITS=64 requiress _FILE_OFFSET_BITS=64).
I thought the _LARGEFILE* options were controlled by the largefile
DISTRO_FEATURE but there seems to be some confusion about that.
It looks like you (Khem) made largefile default instead of using the
distro feature in all of the OE-core recipes, and the largefile distro
feature is no longer mentioned in docs. It is mentioned as removed in
the transition notes. But it is still in poky-tiny.conf and
POKY_DEFAULT_DISTRO_FEATURES. Probably an oversight?
I do not see the _LARGEFILE*_SOURCE options defined globally anywhere.
Am I missing something?
>> +
>> +GLIBC_64BIT_TIME_FLAGS:pn-glibc = ""
>> +GLIBC_64BIT_TIME_FLAGS:pn-glibc-tests = ""
>> +# pipewire-v4l2 explicitly sets _FILE_OFFSET_BITS=32 to get access to
>> +# both 32 and 64 bit file APIs. But it does not handle the time side?
>> +# Needs further investigation
>> +GLIBC_64BIT_TIME_FLAGS:pn-pipewire = ""
>> +GLIBC_64BIT_TIME_FLAGS:pn-gcc-sanitizers = ""
>> +
>> +INSANE_SKIP:libstd-rs[_usr_lib_rustlib_armv7-poky-linux-gnueabihf_lib_libstd.so]
>> = "clock_gettime gettime fcntl fstat64 fstatat64 getsockopt ioctl
>> lstat64 nanosleep prctl recvmsg sendmsg setsockopt stat64"
>> +INSANE_SKIP:librsvg[_usr_bin_rsvg-convert] = "fcntl fstat64 prctl stat64 clock_gettime"
>> +INSANE_SKIP:librsvg[_usr_lib_librsvg-2.so.2.48.0] = "fcntl lstat64
>> setsockopt sendmsg fstat64 getsockopt ioctl nanosleep timegm
>> fstatat64 prctl mktime gmtime_r recvmsg stat64 clock_gettime
>> localtime_r"
>> +
>> +# libpulsedsp.so is a preload-library that hooks libc functions
>> +INSANE_SKIP:pulseaudio[_usr_lib_pulseaudio_libpulsedsp.so] = "setsockopt fcntl"
>> +
>> +
>>
--
Ola x Nilsson
next prev parent reply other threads:[~2022-12-09 10:31 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-12-08 7:11 Y2038: Sanity checker for non-64-bit time and file functions Ola x Nilsson
2022-12-08 7:11 ` [PATCH RFC 1/3] glibc: Add ppoll fortify symbol for 64 bit time_t Ola x Nilsson
2022-12-08 7:11 ` [PATCH RFC 2/3] Add QA check for 32 bit time and file offset functions Ola x Nilsson
2022-12-17 11:17 ` [OE-core] " Richard Purdie
2022-12-17 17:19 ` Khem Raj
2022-12-08 7:11 ` [PATCH RFC 3/3] time64.conf: Include to enable 64 bit time flags Ola x Nilsson
2022-12-08 10:00 ` [OE-core] " Alexander Kanavin
2022-12-08 10:10 ` Richard Purdie
2022-12-09 10:31 ` Ola x Nilsson
2022-12-09 10:36 ` Ola x Nilsson
2022-12-09 13:06 ` Alexandre Belloni
2022-12-09 0:23 ` Khem Raj
2022-12-09 9:55 ` Ola x Nilsson [this message]
2022-12-09 12:35 ` Richard Purdie
2022-12-09 13:09 ` Alexandre Belloni
2022-12-09 13:13 ` Alexander Kanavin
2022-12-09 13:29 ` Richard Purdie
2022-12-09 16:36 ` Khem Raj
2022-12-09 16:47 ` Khem Raj
2022-12-15 16:32 ` Khem Raj
2022-12-17 11:15 ` Richard Purdie
2022-12-16 18:44 ` Khem Raj
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=jwq5yekdg24.fsf@axis.com \
--to=ola.x.nilsson@axis.com \
--cc=openembedded-core@lists.openembedded.org \
--cc=raj.khem@gmail.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.