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 middle-end/69729] [6 regression] [CHKP] internal compiler error: Segmentation fault


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

--- Comment #1 from Ilya Enkovich <ienkovich at gcc dot gnu.org> ---
Here is a patch which caused the regression:

diff --git a/gcc/lto-streamer-out.c b/gcc/lto-streamer-out.c
index 0cefc15..6bb76cc 100644
--- a/gcc/lto-streamer-out.c
+++ b/gcc/lto-streamer-out.c
@@ -2320,7 +2320,8 @@ lto_output (void)
       if (cgraph_node *node = dyn_cast <cgraph_node *> (snode))
        {
          if (lto_symtab_encoder_encode_body_p (encoder, node)
-             && !node->alias)
+             && !node->alias
+             && (!node->thunk.thunk_p || !node->instrumented_version))
            {
              if (flag_checking)
                {


It was meant to disable streaming of instrumentation thunks but instead it
disable streaming of thunks for instrumented functions.  When original function
has thunks, we create similar thunks for instrumented version.  These thunks
are linked with original ones via 'instrumented_version'.  In this patch we
just skip such thunks but these thunks are to be streamed out similar to
regular thunks.  It causes function in ltrans unit with no its thunk and
results in ICE.

I suppose this patch is a part of chkp thunks refactoring so I propose to
revert it for now and delay until whole refactoring series is ready.

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