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: Sun, 10 Sep 2023 15:12:04 -0400 (EDT)

Update of bug #64421 (project groff):

                  Status:             In Progress => Fixed                  
             Open/Closed:                    Open => Closed                 
         Planned Release:                    None => 1.24.0                 

    _______________________________________________________

Follow-up Comment #36:


commit eb1b0b9288a14d6557bab648348a6190056b3cb4
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
Date:   Wed Sep 6 00:40:08 2023 -0500

    [libgroff]: Explicitly construct `default_color`.
    
    Without explicit construction, link-time optimization feels free to send
    this object into the twilight zone, subtly changing the semantics of the
    current and previous stroke and fill colors, making them interpolate
    "default" instead of an empty string.
    
    * src/libs/libgroff/color.cpp: Construct `default_color` with empty
      string.  Problem appears to date back to commit ea5a42d080,
      2002-01-24.
    
    Fixes <https://savannah.gnu.org/bugs/?64421>.  Thanks to Günther Noack
    for the report, a good reproducer, identification of `-flto=auto` as the
    free variable in our experiments, and artifact production beyond the
    call of duty; Peter Schaffter for ruling out macro programming goofs;
    and Deri James for shrewd pointers in the right direction (twice!).

commit b5406c9a7195e539601f86aca84a6bbdb8d5142a
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
Date:   Tue Sep 5 18:37:36 2023 -0500

    [troff]: Regression-test Savannah #64421.
    
    * src/roff/groff/tests/detect-evil-link-time-optimizer.sh: Do it.
    * src/roff/groff/groff.am (groff_TESTS): Run test.
    
    Test fails at this commit if groff is built with `-flto=auto` and
    certain GCC tool chains.  The behavior of other tool chains is unknown.




    _______________________________________________________

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]