All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
To: Florian Weimer <fw@deneb.enyo.de>
Cc: Michael Kerrisk <mtk.manpages@gmail.com>,
	libc-alpha <libc-alpha@sourceware.org>,
	carlos <carlos@redhat.com>, Rich Felker <dalias@libc.org>,
	linux-api <linux-api@vger.kernel.org>,
	Boqun Feng <boqun.feng@gmail.com>,
	Will Deacon <will.deacon@arm.com>,
	linux-kernel <linux-kernel@vger.kernel.org>,
	Peter Zijlstra <peterz@infradead.org>,
	Ben Maurer <bmaurer@fb.com>, Dave Watson <davejwatson@fb.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Paul <paulmck@linux.vnet.ibm.com>, Paul Turner <pjt@google.com>,
	Joseph Myers <joseph@codesourcery.com>,
	Szabolcs Nagy <szabolcs.nagy@arm.com>
Subject: Re: [PATCH glibc 5/9] glibc: Perform rseq(2) registration at C startup and thread creation (v17)
Date: Tue, 28 Apr 2020 10:58:19 -0400 (EDT)	[thread overview]
Message-ID: <437249723.72685.1588085899422.JavaMail.zimbra@efficios.com> (raw)
In-Reply-To: <87tv13py8j.fsf@mid.deneb.enyo.de>

----- On Apr 28, 2020, at 8:54 AM, Florian Weimer fw@deneb.enyo.de wrote:

> * Mathieu Desnoyers:
> 
>> ----- On Apr 28, 2020, at 8:35 AM, Florian Weimer fw@deneb.enyo.de wrote:
>>
>>> * Mathieu Desnoyers:
>>> 
>>>> One issue I'm currently facing when running "make check": because
>>>> nptl/tst-rseq-nptl.c uses pthread_cancel(), I run into an Abort
>>>> with:
>>>>
>>>> libgcc_s.so.1 must be installed for pthread_cancel to work
>>>> Didn't expect signal from child: got `Aborted'
>>> 
>>> This is really unusual.  Is the affected test statically linked?
>>
>> I built glibc without specifying anything particular, and ran
>> "make check". It indeed seems to be dynamically linked to libc:
>>
>> ldd tst-rseq-nptl
>> ./tst-rseq-nptl: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.32' not found
>> (required by ./tst-rseq-nptl)
>> linux-vdso.so.1 (0x00007ffd3a2f3000)
>> libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f0527560000)
>> libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f052716f000)
>> /home/efficios/glibc-test5/lib/ld-linux-x86-64.so.2 =>
>> /lib64/ld-linux-x86-64.so.2 (0x00007f0527986000)
> 
> That's expected if the installed glibc is older than the built glibc.
> 
>> After make check I have:
>>
>> cat tst-rseq-nptl.test-result
>> FAIL: nptl/tst-rseq-nptl
>> original exit status 134
> 
> What's in the tst-rseq-nptl.out file?

It contains:

Didn't expect signal from child: got `Aborted'

>> And if I run
>>
>> ./tst-rseq-nptl
>>
>> Then I get
>>
>> libgcc_s.so.1 must be installed for pthread_cancel to work
>> Didn't expect signal from child: got `Aborted'
>> libgcc_s.so.1 must be installed for pthread_cancel to work
>> Aborted (core dumped)
> 
> I'm puzzled why you don't get a GLIBC_2.32 version error in this case.
> Do you build with --enable-hardcoded-path-in-tests?

Just tried with this, and it fails the same way. However, the output
of ldd nptl/tst-rseq-nptl changes:

linux-vdso.so.1 (0x00007ffc235c9000)
libpthread.so.0 => /home/efficios/git/glibc-build/nptl/libpthread.so.0 (0x00007fd308278000)
libc.so.6 => /home/efficios/git/glibc-build/libc.so.6 (0x00007fd307ebc000)
/home/efficios/git/glibc-build/elf/ld.so => /lib64/ld-linux-x86-64.so.2 (0x00007fd30869e000)


>> Same result if I do ./testrun.sh nptl/tst-rseq-nptl
> 
> That one definitely should work.
> 
> I expect you might see this if libgcc_s.so.1 is installed into a
> multiarch subdirectory that upstream glibc does not search.  (The
> Debian patches are unfortunately not upstream.)

My test environment is a Ubuntu 18.04.1 LTS.

> 
> I think on my system, the built glibc can find the system libgcc_s via
> /etc/ld.so.cache, so I haven't seen this issue yet.

On my system, libgcc_s is provided here:

/lib/x86_64-linux-gnu/libgcc_s.so.1

by this package:

Package: libgcc1
Architecture: amd64
Version: 1:8.4.0-1ubuntu1~18.04

Thanks,

Mathieu


-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com

  reply	other threads:[~2020-04-28 14:58 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20200326155633.18236-1-mathieu.desnoyers@efficios.com>
2020-03-26 15:56 ` [PATCH glibc 5/9] glibc: Perform rseq(2) registration at C startup and thread creation (v17) Mathieu Desnoyers
2020-04-27  9:11   ` Florian Weimer
2020-04-27 16:40     ` Mathieu Desnoyers
2020-04-27 16:54       ` Florian Weimer
2020-04-27 17:26         ` Mathieu Desnoyers
2020-04-27 20:27           ` Mathieu Desnoyers
2020-04-28 12:02           ` Florian Weimer
2020-04-28 12:33             ` Mathieu Desnoyers
2020-04-28 12:35               ` Florian Weimer
2020-04-28 12:43                 ` Mathieu Desnoyers
2020-04-28 12:54                   ` Florian Weimer
2020-04-28 14:58                     ` Mathieu Desnoyers [this message]
2020-04-29  8:16                       ` Szabolcs Nagy
2020-04-29  8:18                         ` Florian Weimer
2020-04-29  8:52                           ` Szabolcs Nagy
2020-04-28 12:56               ` Mathieu Desnoyers
2020-04-29 12:19                 ` Florian Weimer
2020-04-27 11:59   ` Florian Weimer
2020-04-27 16:47     ` Mathieu Desnoyers
2020-04-27 16:59       ` Florian Weimer
2020-03-26 15:56 ` [PATCH glibc 6/9] glibc: sched_getcpu(): use rseq cpu_id TLS on Linux (v7) Mathieu Desnoyers
2020-04-27  9:13   ` Florian Weimer

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=437249723.72685.1588085899422.JavaMail.zimbra@efficios.com \
    --to=mathieu.desnoyers@efficios.com \
    --cc=bmaurer@fb.com \
    --cc=boqun.feng@gmail.com \
    --cc=carlos@redhat.com \
    --cc=dalias@libc.org \
    --cc=davejwatson@fb.com \
    --cc=fw@deneb.enyo.de \
    --cc=joseph@codesourcery.com \
    --cc=libc-alpha@sourceware.org \
    --cc=linux-api@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mtk.manpages@gmail.com \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=peterz@infradead.org \
    --cc=pjt@google.com \
    --cc=szabolcs.nagy@arm.com \
    --cc=tglx@linutronix.de \
    --cc=will.deacon@arm.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.