https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69945

            Bug ID: 69945
           Summary: Provide an equivalent of __libc_freeres to release
                    emergency EH pool memory
           Product: gcc
           Version: 5.3.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: redi at gcc dot gnu.org
  Target Milestone: ---

Glibc provides a hook that tools such as valgrind and sanitizers can call to
release "still reachable" memory that is in use at program exit.

We should do the same, so that the emergency EH pool can be freed, and people
will stop reporting "still reachable" memory as a leak in libstdc++.

It won't be possible to backport a new global symbol to gcc-5-branch unless we
do it before the gcc 6 release, using libstdc++.so.6.0.22 for gcc 5.4, and then
using libstdc++.so.6.0.23 for gcc 6.

To avoid exporting a new global symbol in gcc-5-branch it could be put in a
special section, which would allow valgrind to find it without going through
the symbol table. (We'd probably still want a global symbol for future
releases, so that other tools can call it the obvious way).

Reply via email to