public inbox for glibc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug ports/15759] New: tile: C++11 destructors aren't working right
@ 2013-07-19 18:42 cmetcalf at tilera dot com
  2013-07-21 10:41 ` [Bug ports/15759] " siddhesh at redhat dot com
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: cmetcalf at tilera dot com @ 2013-07-19 18:42 UTC (permalink / raw)
  To: glibc-bugs

http://sourceware.org/bugzilla/show_bug.cgi?id=15759

            Bug ID: 15759
           Summary: tile: C++11 destructors aren't working right
           Product: glibc
           Version: 2.18
            Status: NEW
          Severity: normal
          Priority: P2
         Component: ports
          Assignee: unassigned at sourceware dot org
          Reporter: cmetcalf at tilera dot com
                CC: carlos at redhat dot com, roland at gnu dot org

The stdlib/tst-tls-atexit test fails with:

DSO not unloaded yet:
aaab580000-aaab590000 r-xp 00000000 08:03 3572837                       
/scratch/cmetcalf/glibc/64/stdlib/tst-tls-atexit-lib.so

The model is that there is supposed to be reference counting that causes the
DSO to get unloaded late, after the "official" call to dlclose() but also after
any thread destructors have run.

This code seems largely platform-independent, so it's strange that it fails for
tile.  It does work on x86_64.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug ports/15759] tile: C++11 destructors aren't working right
  2013-07-19 18:42 [Bug ports/15759] New: tile: C++11 destructors aren't working right cmetcalf at tilera dot com
@ 2013-07-21 10:41 ` siddhesh at redhat dot com
  2013-07-22 16:01 ` cmetcalf at tilera dot com
  2014-06-13 13:23 ` fweimer at redhat dot com
  2 siblings, 0 replies; 4+ messages in thread
From: siddhesh at redhat dot com @ 2013-07-21 10:41 UTC (permalink / raw)
  To: glibc-bugs

http://sourceware.org/bugzilla/show_bug.cgi?id=15759

Siddhesh Poyarekar <siddhesh at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |siddhesh at redhat dot com

--- Comment #1 from Siddhesh Poyarekar <siddhesh at redhat dot com> ---
Looks like a bug in _dl_unmap.  It returns without unmapping the object if the
program is not running in a simulator:

/* Support notifying the simulator about removed objects prior to munmap().  */
void internal_function
_dl_unmap (struct link_map *l)
{
  int shift;

  /* Don't bother if not in the simulator.  */
  if (__insn_mfspr (SPR_SIM_CONTROL) == 0)
    return;

...

  __munmap ((void *) l->l_map_start, l->l_map_end - l->l_map_start);
}


Looks like the right code should be:


/* Support notifying the simulator about removed objects prior to munmap().  */
void internal_function
_dl_unmap (struct link_map *l)
{
  int shift;

  /* Don't bother if not in the simulator.  */
  if (__insn_mfspr (SPR_SIM_CONTROL) == 0)
    goto out;

...

out:
  __munmap ((void *) l->l_map_start, l->l_map_end - l->l_map_start);
}

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug ports/15759] tile: C++11 destructors aren't working right
  2013-07-19 18:42 [Bug ports/15759] New: tile: C++11 destructors aren't working right cmetcalf at tilera dot com
  2013-07-21 10:41 ` [Bug ports/15759] " siddhesh at redhat dot com
@ 2013-07-22 16:01 ` cmetcalf at tilera dot com
  2014-06-13 13:23 ` fweimer at redhat dot com
  2 siblings, 0 replies; 4+ messages in thread
From: cmetcalf at tilera dot com @ 2013-07-22 16:01 UTC (permalink / raw)
  To: glibc-bugs

http://sourceware.org/bugzilla/show_bug.cgi?id=15759

Chris Metcalf <cmetcalf at tilera dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
            Version|2.18                        |2.17
         Resolution|---                         |FIXED

--- Comment #2 from Chris Metcalf <cmetcalf at tilera dot com> ---
Fixed in master with commit 1fe2988f523ddbad93ca7abc98fea982f2ae0505

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [Bug ports/15759] tile: C++11 destructors aren't working right
  2013-07-19 18:42 [Bug ports/15759] New: tile: C++11 destructors aren't working right cmetcalf at tilera dot com
  2013-07-21 10:41 ` [Bug ports/15759] " siddhesh at redhat dot com
  2013-07-22 16:01 ` cmetcalf at tilera dot com
@ 2014-06-13 13:23 ` fweimer at redhat dot com
  2 siblings, 0 replies; 4+ messages in thread
From: fweimer at redhat dot com @ 2014-06-13 13:23 UTC (permalink / raw)
  To: glibc-bugs

https://sourceware.org/bugzilla/show_bug.cgi?id=15759

Florian Weimer <fweimer at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
              Flags|                            |security-

-- 
You are receiving this mail because:
You are on the CC list for the bug.


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-06-13 13:23 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-07-19 18:42 [Bug ports/15759] New: tile: C++11 destructors aren't working right cmetcalf at tilera dot com
2013-07-21 10:41 ` [Bug ports/15759] " siddhesh at redhat dot com
2013-07-22 16:01 ` cmetcalf at tilera dot com
2014-06-13 13:23 ` fweimer at redhat dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).