develooper Front page | perl.perl5.porters | Postings from June 2019

[perl #134172] commit 027471cf breaks t/op/sprintf2.t on FreeBSD-11

Thread Previous | Thread Next
From:
James E Keenan via RT
Date:
June 7, 2019 00:25
Subject:
[perl #134172] commit 027471cf breaks t/op/sprintf2.t on FreeBSD-11
Message ID:
rt-4.0.24-30698-1559867106-1632.134172-15-0@perl.org
On Fri, 07 Jun 2019 00:00:13 GMT, hv wrote:
> On Thu, 06 Jun 2019 10:30:58 -0700, jkeenan wrote:
> > Watchpoint 2: PL_locale_mutex
> >
> > Old value = 0x801e1c1e0
> > New value = 0x2
> > _pthread_mutex_destroy (mutex=0xa45b28) at pthread_md.h:95
> > 95              return (TCB_GET64(tcb_thread));
> > Current language:  auto; currently minimal
> > (gdb) bt
> > #0  _pthread_mutex_destroy (mutex=0xa45b28) at pthread_md.h:95
> > #1  0x000000000044c554 in Perl_sys_term () at perl.c:152
> >  #2  0x0000000000421472 in main (argc=<value optimized out>,
> > argv=<value optimized out>,
> >     env=0x7fffffffe7a0) at perlmain.c:155
> 
> Ok, we're getting somewhere - somewhere weird, but somewhere.
> 
> Please could you post the extract from pthread_md.h around line 95,
> presumably a #define or inline function for _pthread_mutex_destroy? 

# /usr/src/lib/libthr/arch/amd64/include/pthread_md.h
#####
 92 static __inline struct pthread *
 93 _get_curthread(void)
 94 {
 95     return (TCB_GET64(tcb_thread));
 96 }
#####

> If you're also able to find the definition for TCB_GET64 somewhere in the
> include files (most likely under /usr/include) that would help too.
> 

# /usr/src/lib/libthr/arch/amd64/include/pthread_md.h
#####
 65 /*
 66  * Evaluates to the value of the per-tcb variable name.
 67  */
 68 #define TCB_GET64(name) ({                  \
 69     __tcb_type(name) __result;              \
 70                                 \
 71     u_long __i;                     \
 72     __asm __volatile("movq %%fs:%1, %0"         \
 73         : "=r" (__i)                    \
 74         : "m" (*(volatile u_long *)(__tcb_offset(name))));  \
 75     __result = (__tcb_type(name))__i;           \
 76                                 \
 77     __result;                       \
 78 })
#####

-- 
James E Keenan (jkeenan@cpan.org)

---
via perlbug:  queue: perl5 status: open
https://rt.perl.org/Ticket/Display.html?id=134172

Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About