octave-bug-tracker
[Top][All Lists]
Advanced

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

[Octave-bug-tracker] [bug #55955] stashing build options in binary break


From: Mike Miller
Subject: [Octave-bug-tracker] [bug #55955] stashing build options in binary breaks building reproducibly with -fdebug-prefix-map=
Date: Tue, 19 Mar 2019 13:33:36 -0400 (EDT)
User-agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.75 Safari/537.36

URL:
  <https://savannah.gnu.org/bugs/?55955>

                 Summary: stashing build options in binary breaks building
reproducibly with -fdebug-prefix-map=
                 Project: GNU Octave
            Submitted by: mtmiller
            Submitted on: Tue 19 Mar 2019 10:33:34 AM PDT
                Category: Configuration and Build System
                Severity: 1 - Wish
                Priority: 5 - Normal
              Item Group: Feature Request
                  Status: None
             Assigned to: None
         Originator Name: 
        Originator Email: 
             Open/Closed: Open
         Discussion Lock: Any
                 Release: dev
        Operating System: GNU/Linux

    _______________________________________________________

Details:

I tried to build Octave reproducibly, using the GCC option
'-fdebug-prefix-map=/path/to/build=.' to mangle the build directory embedded
in the resulting object files. See
https://reproducible-builds.org/docs/build-path/ for details.

However, because Octave conveniently stashes both the full configure command
line and the individual CFLAGS, CXXFLAGS, etc, in liboctinterp, and the
options in mkoctfile, the build directory becomes embedded in the resulting
binary anyway.

I would like to avoid this chicken and egg problem somehow. If the user is
intentionally building Octave with '-fdebug-prefix-map' (or with
'-ffile-prefix-map' or '-fmacro-prefix-map'), then the entire point is to
prevent having the string in that option from being embedded in the binary.
But I also don't want to completely remove embedding the user's compiler
options in the binary.

I have a proof of concept patch that filters only these particular options out
of all of the affected user variables in the subst-config-vals.sh shell script
only, attaching that here.

I will continue researching the best way to handle this, and maybe ask for
advice from the reproducible builds team.



    _______________________________________________________

File Attachments:


-------------------------------------------------------
Date: Tue 19 Mar 2019 10:33:34 AM PDT  Name:
filter-fdebug-prefix-map-option.patch  Size: 608B   By: mtmiller

<http://savannah.gnu.org/bugs/download.php?file_id=46583>

    _______________________________________________________

Reply to this item at:

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

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




reply via email to

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