bug-groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug #64421] [troff] link-time optimization changes `.m` register initia


From: G. Branden Robinson
Subject: [bug #64421] [troff] link-time optimization changes `.m` register initialization
Date: Wed, 6 Sep 2023 00:39:31 -0400 (EDT)

Update of bug #64421 (project groff):

                 Summary: [mom] the word "black" spuriously appears in output
=> [troff] link-time optimization changes `.m` register initialization

    _______________________________________________________

Follow-up Comment #32:

Oddly enough this bug seems to be intersecting with one Deri recently filed,
bug #64592.

A touch more instrumentation not only reveals the gunsmoke, but we can hear
the echoing report of the shot.


@@ -2840,6 +2842,7 @@ end
 \#   rule), the rule weight is the one set by RULE_WEIGHT.
 \#
 .MAC DRH END
+.    device x GBR DRH: .m=\\n[.m], args: $1=\\$1, $2=\\$2, $3=\\$3, $4=\\$4
 .    GRAPHICAL_OBJ
 .    ds $RL_WEIGHT \\$1
 .    ds $RL_INDENT \\$2


The problem appears to be the initialization of the .m register in the
formatter.


$ echo .pnr | groff 2>&1 | grep -F .m # "good" groff
.m
$ echo .pnr | ./build/test-groff 2>&1 | grep -F .m # "bad"
.m      default


This is enough to explain the execution trace of the macro package and locate
the problem within the formatter itself, which is where a link-time
optimization (or other object code manipulation) would place it.  My hunch
from comment #20 finally pays off!

Dropping "mom" tag.


    _______________________________________________________

Reply to this item at:

  <https://savannah.gnu.org/bugs/?64421>

_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/




reply via email to

[Prev in Thread] Current Thread [Next in Thread]