This issue is still reproducible in latest 2.36, I've updated:
https://sourceware.org/bugzilla/show_bug.cgi?id=29249
and for the new strcpy issue I've bisected where it was introduced and
created new ticket upstream:
https://sourceware.org/bugzilla/show_bug.cgi?id=29454
we can revert 2 more upstream commits as work around, but lets wait a bit
for upstream, maybe there is some simple fix, but I wasn't able to figure
it out today (and don't want to spent even more time on it). Reverts
included in
https://git.openembedded.org/openembedded-core-contrib/log/?h=jansa/master
if someone want's to test it as well.

Regards,

On Mon, Aug 1, 2022 at 1:05 PM Martin Jansa via lists.openembedded.org
<[email protected]> wrote:

> FWIW: I was checking if this is still reproducible with 2.36 from khem's
> branch:
>
> https://github.com/YoeDistro/openembedded-core/commit/eec0967b92973b8ed5b2fe98ac652fe0da21493b
>
> and with DEBUG_BUILD it failed elsewhere now:
> http://errors.yoctoproject.org/Errors/Details/663898/
>
> |
> /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/glibc/2.36-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/../../libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/12.1.0/ld.bfd:
> /OE/build/oe-core/tmp-glibc/work/core2-64-oe-linux/glibc/2.36-r0/build-x86_64-oe-linux/elf/librtld.os:
> in function `_dl_load_cache_lookup':
> | /usr/src/debug/glibc/2.36-r0/git/elf/dl-cache.c:513: undefined reference
> to `strcpy'
>
> On Wed, Jul 27, 2022 at 1:57 PM Martin Jansa via lists.openembedded.org
> <[email protected]> wrote:
>
>> * work around for build failure with DEBUG_BUILD:
>>   http://errors.yoctoproject.org/Errors/Details/661468/
>>
>>
>> TOPDIR/tmp-glibc/work/core2-64-oe-linux/glibc/2.35-r0/recipe-sysroot-native/usr/bin/x86_64-oe-linux/../../libexec/x86_64-oe-linux/gcc/x86_64-oe-linux/11.3.0/ld.bfd:
>>
>> TOPDIR/tmp-glibc/work/core2-64-oe-linux/glibc/2.35-r0/build-x86_64-oe-linux/libc.a(libc-tls.o):
>>   in function `__libc_setup_tls':
>>   /usr/src/debug/glibc/2.35-r0/git/csu/libc-tls.c:202: undefined
>> reference to `_startup_fatal_not_constant'
>>
>>   introduced in:
>>
>> https://git.openembedded.org/openembedded-core/commit/?id=50ca0eea5424c89c9b39cf69d8bd73fd65f06e95
>>   with:
>>
>> https://sourceware.org/git/?p=glibc.git;a=commitdiff;h=a2a6bce7d7e52c1c34369a7da62c501cc350bc31
>>
>>   Temporary reverting as discussed in:
>>   https://lists.openembedded.org/g/openembedded-core/message/168463
>>   (it's also reverted in buildroot now with:
>> https://lore.kernel.org/buildroot/[email protected]/t/
>> )
>>
>>   instead of revert we can use -fexpensive-optimizations which
>>   will optimize-out the symbol, but that works only with -O1 and
>>   not -Og used by DEBUG_BUILD
>>
>>   upstream report:
>>   https://sourceware.org/bugzilla/show_bug.cgi?id=29249
>>
>> Signed-off-by: Martin Jansa <[email protected]>
>> ---
>>
>>  v2: mention -fexpensive-optimizations and add link to upstream
>>      bug report
>>
>>  ...lement-a-useful-version-of-_startup_.patch | 128 ++++++++++++++++++
>>  meta/recipes-core/glibc/glibc_2.35.bb         |   2 +
>>  2 files changed, 130 insertions(+)
>>  create mode 100644
>> meta/recipes-core/glibc/glibc/0001-Revert-Linux-Implement-a-useful-version-of-_startup_.patch
>>
>> diff --git
>> a/meta/recipes-core/glibc/glibc/0001-Revert-Linux-Implement-a-useful-version-of-_startup_.patch
>> b/meta/recipes-core/glibc/glibc/0001-Revert-Linux-Implement-a-useful-version-of-_startup_.patch
>> new file mode 100644
>> index 0000000000..2421a63605
>> --- /dev/null
>> +++
>> b/meta/recipes-core/glibc/glibc/0001-Revert-Linux-Implement-a-useful-version-of-_startup_.patch
>> @@ -0,0 +1,128 @@
>> +From 6b8959add09e425df262bf9178b39ca35bc4003c Mon Sep 17 00:00:00 2001
>> +From: Martin Jansa <[email protected]>
>> +Date: Sun, 24 Jul 2022 19:41:41 +0200
>> +Subject: [PATCH] Revert "Linux: Implement a useful version of
>> _startup_fatal"
>> +
>> +This reverts commit 2d05ba7f8ef979947e910a37ae8115a816eb4d08.
>> +Upstream-Status: Inappropriate [temporary work around]
>> +
>> +Signed-off-by: Martin Jansa <[email protected]>
>> +
>> +---
>> + sysdeps/unix/sysv/linux/i386/startup.h | 23 ++++++++++++---
>> + sysdeps/unix/sysv/linux/ia64/startup.h | 22 ---------------
>> + sysdeps/unix/sysv/linux/startup.h      | 39 --------------------------
>> + 3 files changed, 19 insertions(+), 65 deletions(-)
>> + delete mode 100644 sysdeps/unix/sysv/linux/ia64/startup.h
>> + delete mode 100644 sysdeps/unix/sysv/linux/startup.h
>> +
>> +diff --git a/sysdeps/unix/sysv/linux/i386/startup.h
>> b/sysdeps/unix/sysv/linux/i386/startup.h
>> +index 213805d7d2..67c9310f3a 100644
>> +--- a/sysdeps/unix/sysv/linux/i386/startup.h
>> ++++ b/sysdeps/unix/sysv/linux/i386/startup.h
>> +@@ -1,5 +1,5 @@
>> + /* Linux/i386 definitions of functions used by static libc main startup.
>> +-   Copyright (C) 2022 Free Software Foundation, Inc.
>> ++   Copyright (C) 2017-2022 Free Software Foundation, Inc.
>> +    This file is part of the GNU C Library.
>> +
>> +    The GNU C Library is free software; you can redistribute it and/or
>> +@@ -16,7 +16,22 @@
>> +    License along with the GNU C Library; if not, see
>> +    <https://www.gnu.org/licenses/>.  */
>> +
>> +-/* Can't use "call *%gs:SYSINFO_OFFSET" during startup.  */
>> +-#define I386_USE_SYSENTER 0
>> ++#if BUILD_PIE_DEFAULT
>> ++/* Can't use "call *%gs:SYSINFO_OFFSET" during statup in static PIE.  */
>> ++# define I386_USE_SYSENTER 0
>> +
>> +-#include_next <startup.h>
>> ++# include <sysdep.h>
>> ++# include <abort-instr.h>
>> ++
>> ++__attribute__ ((__noreturn__))
>> ++static inline void
>> ++_startup_fatal (const char *message __attribute__ ((unused)))
>> ++{
>> ++  /* This is only called very early during startup in static PIE.
>> ++     FIXME: How can it be improved?  */
>> ++  ABORT_INSTRUCTION;
>> ++  __builtin_unreachable ();
>> ++}
>> ++#else
>> ++# include_next <startup.h>
>> ++#endif
>> +diff --git a/sysdeps/unix/sysv/linux/ia64/startup.h
>> b/sysdeps/unix/sysv/linux/ia64/startup.h
>> +deleted file mode 100644
>> +index 77f29f15a2..0000000000
>> +--- a/sysdeps/unix/sysv/linux/ia64/startup.h
>> ++++ /dev/null
>> +@@ -1,22 +0,0 @@
>> +-/* Linux/ia64 definitions of functions used by static libc main startup.
>> +-   Copyright (C) 2022 Free Software Foundation, Inc.
>> +-   This file is part of the GNU C Library.
>> +-
>> +-   The GNU C Library is free software; you can redistribute it and/or
>> +-   modify it under the terms of the GNU Lesser General Public
>> +-   License as published by the Free Software Foundation; either
>> +-   version 2.1 of the License, or (at your option) any later version.
>> +-
>> +-   The GNU C Library is distributed in the hope that it will be useful,
>> +-   but WITHOUT ANY WARRANTY; without even the implied warranty of
>> +-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
>> +-   Lesser General Public License for more details.
>> +-
>> +-   You should have received a copy of the GNU Lesser General Public
>> +-   License along with the GNU C Library; if not, see
>> +-   <https://www.gnu.org/licenses/>.  */
>> +-
>> +-/* This code is used before the TCB is set up.  */
>> +-#define IA64_USE_NEW_STUB 0
>> +-
>> +-#include_next <startup.h>
>> +diff --git a/sysdeps/unix/sysv/linux/startup.h
>> b/sysdeps/unix/sysv/linux/startup.h
>> +deleted file mode 100644
>> +index 39859b404a..0000000000
>> +--- a/sysdeps/unix/sysv/linux/startup.h
>> ++++ /dev/null
>> +@@ -1,39 +0,0 @@
>> +-/* Linux definitions of functions used by static libc main startup.
>> +-   Copyright (C) 2017-2022 Free Software Foundation, Inc.
>> +-   This file is part of the GNU C Library.
>> +-
>> +-   The GNU C Library is free software; you can redistribute it and/or
>> +-   modify it under the terms of the GNU Lesser General Public
>> +-   License as published by the Free Software Foundation; either
>> +-   version 2.1 of the License, or (at your option) any later version.
>> +-
>> +-   The GNU C Library is distributed in the hope that it will be useful,
>> +-   but WITHOUT ANY WARRANTY; without even the implied warranty of
>> +-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
>> +-   Lesser General Public License for more details.
>> +-
>> +-   You should have received a copy of the GNU Lesser General Public
>> +-   License along with the GNU C Library; if not, see
>> +-   <https://www.gnu.org/licenses/>.  */
>> +-
>> +-#ifdef SHARED
>> +-# include_next <startup.h>
>> +-#else
>> +-# include <sysdep.h>
>> +-
>> +-/* Avoid a run-time invocation of strlen.  */
>> +-#define _startup_fatal(message)
>>  \
>> +-  do
>> \
>> +-    {
>>  \
>> +-      size_t __message_length = __builtin_strlen (message);
>>  \
>> +-      if (! __builtin_constant_p (__message_length))
>> \
>> +-        {
>>  \
>> +-          extern void _startup_fatal_not_constant (void);
>>  \
>> +-          _startup_fatal_not_constant ();
>>  \
>> +-        }
>>  \
>> +-      INTERNAL_SYSCALL_CALL (write, STDERR_FILENO, (message),
>>  \
>> +-                             __message_length);
>>  \
>> +-      INTERNAL_SYSCALL_CALL (exit_group, 127);
>> \
>> +-    }
>>  \
>> +-  while (0)
>> +-#endif  /* !SHARED */
>> diff --git a/meta/recipes-core/glibc/glibc_2.35.bb
>> b/meta/recipes-core/glibc/glibc_2.35.bb
>> index 96fe39c548..df847e76bf 100644
>> --- a/meta/recipes-core/glibc/glibc_2.35.bb
>> +++ b/meta/recipes-core/glibc/glibc_2.35.bb
>> @@ -48,6 +48,8 @@ SRC_URI =
>> "${GLIBC_GIT_URI};branch=${SRCBRANCH};name=glibc \
>>
>> file://0022-sysdeps-gnu-configure.ac-Set-libc_cv_rootsbindir-onl.patch \
>>
>> file://0023-timezone-Make-shell-interpreter-overridable-in-tzsel.patch \
>>
>> file://0024-fix-create-thread-failed-in-unprivileged-process-BZ-.patch \
>> +           \
>> +
>>  file://0001-Revert-Linux-Implement-a-useful-version-of-_startup_.patch \
>>             "
>>  S = "${WORKDIR}/git"
>>  B = "${WORKDIR}/build-${TARGET_SYS}"
>>
>>
>>
>>
> 
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#168992): 
https://lists.openembedded.org/g/openembedded-core/message/168992
Mute This Topic: https://lists.openembedded.org/mt/92871770/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to