This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/66487] [6 Regression] Firefox segfault with LTO enabled


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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #14 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Jason Merrill from comment #4)
> Actually, I guess checking for this is more of a fit for an uninitialized
> read detector such as MemorySanitizer or Valgrind memcheck.

Well, AddressSanitizer should be able to do that too with some extra work, what
we need is know not just when the lifetime of a variable ends, but also when it
starts, and instrument those two, plus disable reusing variable stack slots
when instrumenting.  In the function prologue we'd then mark the variables as
unavailable, not just their padding, and then when they get into scope (that is
the first clobber these days), we'd mark them enabled and when they get out of
scope (second clobber) mark them unavailable again.  GCC7 material.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]