Blame SOURCES/rhbz1908904.patch

8ca3af
commit e3287bddcdc51705bb206479daa82e97fb28071f
8ca3af
Author: Frank Ch. Eigler <fche@redhat.com>
8ca3af
Date:   Wed Dec 9 22:29:43 2020 -0500
8ca3af
8ca3af
    PR27044: fix lock loop for conditional probes
8ca3af
    
8ca3af
    Emit a nested block carefully so that the "goto out;" from a failed
8ca3af
    stp_lock_probe() call in that spot near the epilogue of a
8ca3af
    probe-handler goes downward, not upward.
8ca3af
8ca3af
diff --git a/translate.cxx b/translate.cxx
8ca3af
index f0195486c..d7fe1e3b2 100644
8ca3af
--- a/translate.cxx
8ca3af
+++ b/translate.cxx
8ca3af
@@ -2969,21 +2969,21 @@ c_unparser::emit_probe (derived_probe* v)
8ca3af
         {
8ca3af
           // PR26296
8ca3af
           // emit all read/write locks for global variables ... if somehow still not done by now
8ca3af
+          // emit a local out: label, for error catching in these condition exprs
8ca3af
+          o->newline() << "{";
8ca3af
+          o->newline(1) << "__label__ out, deref_fault;";
8ca3af
           if (v->needs_global_locks ())
8ca3af
             emit_lock ();
8ca3af
 
8ca3af
           for (set<derived_probe*>::const_iterator
8ca3af
-                it  = v->probes_with_affected_conditions.begin();
8ca3af
-                it != v->probes_with_affected_conditions.end(); ++it)
8ca3af
+                 it  = v->probes_with_affected_conditions.begin();
8ca3af
+               it != v->probes_with_affected_conditions.end(); ++it)
8ca3af
             {
8ca3af
-              // emit a local out: label, for error catching in these condition exprs
8ca3af
-              o->newline() << "{";
8ca3af
-              o->newline(1) << "__label__ out, deref_fault;";
8ca3af
               emit_probe_condition_update(*it);
8ca3af
-              o->newline(-1) << "deref_fault: __attribute__((unused));";
8ca3af
-              o->newline() << "out: __attribute__((unused));";
8ca3af
-              o->newline() << "}";
8ca3af
             }
8ca3af
+          o->newline(-1) << "deref_fault: __attribute__((unused));";
8ca3af
+          o->newline() << "out: __attribute__((unused));";
8ca3af
+          o->newline() << "}";
8ca3af
         }
8ca3af
 
8ca3af
       // PR26296