Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(1747)

Issue 347770043: sort input files

Can't Edit
Can't Publish+Mail
Start Review
Created:
5 years, 11 months ago by bmwiedemann
Modified:
5 years, 10 months ago
Reviewers:
dak, lilypond-pkx, Dan Eble
CC:
lilypond-devel_gnu.org
Visibility:
Public.

Description

sort input files to have reproducible link order so that the lilypond binary always contains its functions in the same order. When building packages (e.g. for openSUSE Linux) (random) filesystem order of input files influences ordering of functions in the output, thus without the patch, builds (in disposable VMs) would differ. See https://reproducible-builds.org/ for why this matters. There exists a patch for GNU make to make all wildcard globs sorted again, but they claim the spec does not guarantee any stable order so it is not yet merged: https://savannah.gnu.org/bugs/index.php?52076

Patch Set 1 #

Total comments: 2

Patch Set 2 : sorting .o files instead of .cc #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+1 line, -1 line) Patch
M stepmake/stepmake/c++-vars.make View 1 1 chunk +1 line, -1 line 1 comment Download

Messages

Total messages: 7
dak
https://codereview.appspot.com/347770043/diff/1/stepmake/stepmake/c++-vars.make File stepmake/stepmake/c++-vars.make (right): https://codereview.appspot.com/347770043/diff/1/stepmake/stepmake/c++-vars.make#newcode14 stepmake/stepmake/c++-vars.make:14: CC_FILES := $(sort $(call src-wildcard,*.cc)) src-wildcard actually uses the ...
5 years, 11 months ago (2018-05-18 13:32:26 UTC) #1
bmwiedemann
On 2018/05/18 13:32:26, dak wrote: > src-wildcard actually uses the wildcard function of Make. The ...
5 years, 11 months ago (2018-05-18 13:41:44 UTC) #2
Dan Eble
https://codereview.appspot.com/347770043/diff/1/stepmake/stepmake/c++-vars.make File stepmake/stepmake/c++-vars.make (right): https://codereview.appspot.com/347770043/diff/1/stepmake/stepmake/c++-vars.make#newcode14 stepmake/stepmake/c++-vars.make:14: CC_FILES := $(sort $(call src-wildcard,*.cc)) This seems fragile. If ...
5 years, 11 months ago (2018-05-18 21:15:39 UTC) #3
bmwiedemann
sorting .o files instead of .cc
5 years, 11 months ago (2018-05-23 12:22:09 UTC) #4
Dan Eble
On 2018/05/23 12:22:09, bmwiedemann wrote: > sorting .o files instead of .cc This is not ...
5 years, 11 months ago (2018-05-26 13:04:12 UTC) #5
lilypond-pkx
On 2018/05/26 13:04:12, Dan Eble wrote: > On 2018/05/23 12:22:09, bmwiedemann wrote: > > sorting ...
5 years, 10 months ago (2018-06-07 15:45:58 UTC) #6
Dan Eble
5 years, 10 months ago (2018-06-07 20:37:28 UTC) #7
https://codereview.appspot.com/347770043/diff/20001/stepmake/stepmake/c++-var...
File stepmake/stepmake/c++-vars.make (right):

https://codereview.appspot.com/347770043/diff/20001/stepmake/stepmake/c++-var...
stepmake/stepmake/c++-vars.make:23: O_FILES+=$(addprefix $(outdir)/, $(sort
$(CC_FILES:.cc=.o) $(LL_FILES:.ll=.o) $(YY_FILES:.yy=.o)))
After closer inspection, I take back "if it works for you, fine."  I don't think
this patch accomplishes what is intended.  This line mentions objects produced
from .ll and .yy files, neither of which are sorted.

I reiterate my earlier suggestion.  If you want to be sure that the arguments of
a specific command are sorted, call sort on that very line.
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b